src/HOL/ex/Meson_Test.thy
author krauss
Tue, 28 Sep 2010 09:54:07 +0200
changeset 39754 150f831ce4a3
parent 38867 23af89f419bb
child 43965 31945a5034b7
permissions -rw-r--r--
no longer declare .psimps rules as [simp]. This regularly caused confusion (e.g., they show up in simp traces when the regular simp rules are disabled). In the few places where the rules are used, explicitly mentioning them actually clarifies the proof text.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     1
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     2
header {* Meson test cases *}
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     3
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     4
theory Meson_Test
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     5
imports Main
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     6
begin
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     7
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     8
text {*
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
     9
  WARNING: there are many potential conflicts between variables used
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    10
  below and constants declared in HOL!
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    11
*}
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    12
38867
23af89f419bb what is hidden is hidden
haftmann
parents: 38864
diff changeset
    13
hide_const (open) implies union inter subset sum quotient 
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    14
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    15
text {*
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    16
  Test data for the MESON proof procedure
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    17
  (Excludes the equality problems 51, 52, 56, 58)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    18
*}
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    19
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    20
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    21
subsection {* Interactive examples *}
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    22
37777
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    23
lemma problem_25:
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    24
  "(\<exists>x. P x) & (\<forall>x. L x --> ~ (M x & R x)) & (\<forall>x. P x --> (M x & L x)) & ((\<forall>x. P x --> Q x) | (\<exists>x. P x & R x)) --> (\<exists>x. Q x & P x)"
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    25
  apply (rule ccontr)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    26
  ML_prf {*
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    27
    val prem25 = Thm.assume @{cprop "\<not> ?thesis"};
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    28
    val nnf25 = Meson.make_nnf @{context} prem25;
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    29
    val xsko25 = Meson.skolemize @{context} nnf25;
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    30
  *}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    31
  apply (tactic {* cut_facts_tac [xsko25] 1 THEN REPEAT (etac exE 1) *})
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    32
  ML_val {*
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    33
    val [_, sko25] = #prems (#1 (Subgoal.focus @{context} 1 (#goal @{Isar.goal})));
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    34
    val clauses25 = Meson.make_clauses [sko25];   (*7 clauses*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    35
    val horns25 = Meson.make_horns clauses25;     (*16 Horn clauses*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    36
    val go25 :: _ = Meson.gocls clauses25;
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    37
37777
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    38
    Goal.prove @{context} [] [] @{prop False} (fn _ =>
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    39
      rtac go25 1 THEN
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    40
      Meson.depth_prolog_tac horns25);
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    41
  *}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    42
  oops
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    43
37777
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    44
lemma problem_26:
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    45
  "((\<exists>x. p x) = (\<exists>x. q x)) & (\<forall>x. \<forall>y. p x & q y --> (r x = s y)) --> ((\<forall>x. p x --> r x) = (\<forall>x. q x --> s x))"
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    46
  apply (rule ccontr)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    47
  ML_prf {*
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    48
    val prem26 = Thm.assume @{cprop "\<not> ?thesis"}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    49
    val nnf26 = Meson.make_nnf @{context} prem26;
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    50
    val xsko26 = Meson.skolemize @{context} nnf26;
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    51
  *}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    52
  apply (tactic {* cut_facts_tac [xsko26] 1 THEN REPEAT (etac exE 1) *})
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    53
  ML_val {*
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    54
    val [_, sko26] = #prems (#1 (Subgoal.focus @{context} 1 (#goal @{Isar.goal})));
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    55
    val clauses26 = Meson.make_clauses [sko26];                   (*9 clauses*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    56
    val horns26 = Meson.make_horns clauses26;                     (*24 Horn clauses*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    57
    val go26 :: _ = Meson.gocls clauses26;
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    58
37777
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    59
    Goal.prove @{context} [] [] @{prop False} (fn _ =>
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    60
      rtac go26 1 THEN
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    61
      Meson.depth_prolog_tac horns26);  (*7 ms*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    62
    (*Proof is of length 107!!*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    63
  *}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    64
  oops
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    65
37777
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    66
lemma problem_43:  -- "NOW PROVED AUTOMATICALLY!!"  (*16 Horn clauses*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    67
  "(\<forall>x. \<forall>y. q x y = (\<forall>z. p z x = (p z y::bool))) --> (\<forall>x. (\<forall>y. q x y = (q y x::bool)))"
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    68
  apply (rule ccontr)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    69
  ML_prf {*
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    70
    val prem43 = Thm.assume @{cprop "\<not> ?thesis"};
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    71
    val nnf43 = Meson.make_nnf @{context} prem43;
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    72
    val xsko43 = Meson.skolemize @{context} nnf43;
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    73
  *}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    74
  apply (tactic {* cut_facts_tac [xsko43] 1 THEN REPEAT (etac exE 1) *})
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    75
  ML_val {*
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    76
    val [_, sko43] = #prems (#1 (Subgoal.focus @{context} 1 (#goal @{Isar.goal})));
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    77
    val clauses43 = Meson.make_clauses [sko43];   (*6*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    78
    val horns43 = Meson.make_horns clauses43;     (*16*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    79
    val go43 :: _ = Meson.gocls clauses43;
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    80
37777
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    81
    Goal.prove @{context} [] [] @{prop False} (fn _ =>
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    82
      rtac go43 1 THEN
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    83
      Meson.best_prolog_tac Meson.size_of_subgoals horns43);   (*7ms*)
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    84
    *}
22107b894e5a some modernization of really ancient Meson experiments;
wenzelm
parents: 37595
diff changeset
    85
  oops
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    86
24128
wenzelm
parents: 24127
diff changeset
    87
(*
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    88
#1  (q x xa ==> ~ q x xa) ==> q xa x
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    89
#2  (q xa x ==> ~ q xa x) ==> q x xa
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    90
#3  (~ q x xa ==> q x xa) ==> ~ q xa x
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    91
#4  (~ q xa x ==> q xa x) ==> ~ q x xa
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    92
#5  [| ~ q ?U ?V ==> q ?U ?V; ~ p ?W ?U ==> p ?W ?U |] ==> p ?W ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    93
#6  [| ~ p ?W ?U ==> p ?W ?U; p ?W ?V ==> ~ p ?W ?V |] ==> ~ q ?U ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    94
#7  [| p ?W ?V ==> ~ p ?W ?V; ~ q ?U ?V ==> q ?U ?V |] ==> ~ p ?W ?U
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    95
#8  [| ~ q ?U ?V ==> q ?U ?V; ~ p ?W ?V ==> p ?W ?V |] ==> p ?W ?U
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    96
#9  [| ~ p ?W ?V ==> p ?W ?V; p ?W ?U ==> ~ p ?W ?U |] ==> ~ q ?U ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    97
#10 [| p ?W ?U ==> ~ p ?W ?U; ~ q ?U ?V ==> q ?U ?V |] ==> ~ p ?W ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    98
#11 [| p (xb ?U ?V) ?U ==> ~ p (xb ?U ?V) ?U;
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
    99
       p (xb ?U ?V) ?V ==> ~ p (xb ?U ?V) ?V |] ==> q ?U ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   100
#12 [| p (xb ?U ?V) ?V ==> ~ p (xb ?U ?V) ?V; q ?U ?V ==> ~ q ?U ?V |] ==>
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   101
    p (xb ?U ?V) ?U
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   102
#13 [| q ?U ?V ==> ~ q ?U ?V; p (xb ?U ?V) ?U ==> ~ p (xb ?U ?V) ?U |] ==>
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   103
    p (xb ?U ?V) ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   104
#14 [| ~ p (xb ?U ?V) ?U ==> p (xb ?U ?V) ?U;
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   105
       ~ p (xb ?U ?V) ?V ==> p (xb ?U ?V) ?V |] ==> q ?U ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   106
#15 [| ~ p (xb ?U ?V) ?V ==> p (xb ?U ?V) ?V; q ?U ?V ==> ~ q ?U ?V |] ==>
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   107
    ~ p (xb ?U ?V) ?U
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   108
#16 [| q ?U ?V ==> ~ q ?U ?V; ~ p (xb ?U ?V) ?U ==> p (xb ?U ?V) ?U |] ==>
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   109
    ~ p (xb ?U ?V) ?V
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   110
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   111
And here is the proof! (Unkn is the start state after use of goal clause)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   112
[Unkn, Res ([Thm "#14"], false, 1), Res ([Thm "#5"], false, 1),
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   113
   Res ([Thm "#1"], false, 1), Asm 1, Res ([Thm "#13"], false, 1), Asm 2,
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   114
   Asm 1, Res ([Thm "#13"], false, 1), Asm 1, Res ([Thm "#10"], false, 1),
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   115
   Res ([Thm "#16"], false, 1), Asm 2, Asm 1, Res ([Thm "#1"], false, 1),
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   116
   Asm 1, Res ([Thm "#14"], false, 1), Res ([Thm "#5"], false, 1),
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   117
   Res ([Thm "#2"], false, 1), Asm 1, Res ([Thm "#13"], false, 1), Asm 2,
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   118
   Asm 1, Res ([Thm "#8"], false, 1), Res ([Thm "#2"], false, 1), Asm 1,
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   119
   Res ([Thm "#12"], false, 1), Asm 2, Asm 1] : lderiv list
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   120
*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   121
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   122
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   123
text {*
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   124
  MORE and MUCH HARDER test data for the MESON proof procedure
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   125
  (courtesy John Harrison).
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   126
*}
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   128
(* ========================================================================= *)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   129
(* 100 problems selected from the TPTP library                               *)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   130
(* ========================================================================= *)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   131
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   132
(*
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   133
 * Original timings for John Harrison's MESON_TAC.
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   134
 * Timings below on a 600MHz Pentium III (perch)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   135
 * Some timings below refer to griffon, which is a dual 2.5GHz Power Mac G5.
24128
wenzelm
parents: 24127
diff changeset
   136
 *
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   137
 * A few variable names have been changed to avoid clashing with constants.
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   138
 *
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   139
 * Changed numeric constants e.g. 0, 1, 2... to num0, num1, num2...
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   140
 *
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   141
 * Here's a list giving typical CPU times, as well as common names and
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   142
 * literature references.
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   143
 *
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   144
 * BOO003-1     34.6    B2 part 1 [McCharen, et al., 1976]; Lemma proved [Overbeek, et al., 1976]; prob2_part1.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   145
 * BOO004-1     36.7    B2 part 2 [McCharen, et al., 1976]; Lemma proved [Overbeek, et al., 1976]; prob2_part2.ver1 [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   146
 * 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]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   147
 * 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]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   148
 * BOO011-1     19.0    B7 [McCharen, et al., 1976]; prob7.ver1 [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   149
 * CAT001-3     45.2    C1 [McCharen, et al., 1976]; p1.ver3.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   150
 * CAT003-3     10.5    C3 [McCharen, et al., 1976]; p3.ver3.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   151
 * CAT005-1    480.1    C5 [McCharen, et al., 1976]; p5.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   152
 * CAT007-1     11.9    C7 [McCharen, et al., 1976]; p7.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   153
 * CAT018-1     81.3    p18.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   154
 * COL001-2     16.0    C1 [Wos & McCune, 1988]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   155
 * COL023-1      5.1    [McCune & Wos, 1988]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   156
 * COL032-1     15.8    [McCune & Wos, 1988]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   157
 * COL052-2     13.2    bird4.ver2.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   158
 * COL075-2    116.9    [Jech, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   159
 * COM001-1      1.7    shortburst [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   160
 * COM002-1      4.4    burstall [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   161
 * COM002-2      7.4
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   162
 * COM003-2     22.1    [Brushi, 1991]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   163
 * COM004-1     45.1
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   164
 * GEO003-1     71.7    T3 [McCharen, et al., 1976]; t3.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   165
 * GEO017-2     78.8    D4.1 [Quaife, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   166
 * GEO027-3    181.5    D10.1 [Quaife, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   167
 * GEO058-2    104.0    R4 [Quaife, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   168
 * GEO079-1      2.4    GEOMETRY THEOREM [Slagle, 1967]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   169
 * 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]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   170
 * GRP008-1     50.4    Problem 4 [Wos, 1965]; wos4 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   171
 * GRP013-1     40.2    Problem 11 [Wos, 1965]; wos11 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   172
 * GRP037-3     43.8    Problem 17 [Wos, 1965]; wos17 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   173
 * GRP031-2      3.2    ls23 [Lawrence & Starkey, 1974]; ls23 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   174
 * GRP034-4      2.5    ls26 [Lawrence & Starkey, 1974]; ls26 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   175
 * GRP047-2     11.7    [Veroff, 1992]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   176
 * GRP130-1    170.6    Bennett QG8 [TPTP]; QG8 [Slaney, 1993]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   177
 * GRP156-1     48.7    ax_mono1c [Schulz, 1995]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   178
 * GRP168-1    159.1    p01a [Schulz, 1995]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   179
 * HEN003-3     39.9    HP3 [McCharen, et al., 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   180
 * HEN007-2    125.7    H7 [McCharen, et al., 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   181
 * HEN008-4     62.0    H8 [McCharen, et al., 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   182
 * HEN009-5    136.3    H9 [McCharen, et al., 1976]; hp9.ver3.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   183
 * HEN012-3     48.5    new.ver2.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   184
 * LCL010-1    370.9    EC-73 [McCune & Wos, 1992]; ec_yq.in [OTTER]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   185
 * LCL077-2     51.6    morgan.two.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   186
 * LCL082-1     14.6    IC-1.1 [Wos, et al., 1990]; IC-65 [McCune & Wos, 1992]; ls2 [SETHEO]; S1 [Pfenning, 1988]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   187
 * 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]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   188
 * LCL143-1     10.9    Lattice structure theorem 2 [Bonacina, 1991]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   189
 * LCL182-1    271.6    Problem 2.16 [Whitehead & Russell, 1927]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   190
 * LCL200-1     12.0    Problem 2.46 [Whitehead & Russell, 1927]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   191
 * LCL215-1    214.4    Problem 2.62 [Whitehead & Russell, 1927]; Problem 2.63 [Whitehead & Russell, 1927]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   192
 * LCL230-2      0.2    Pelletier 5 [Pelletier, 1986]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   193
 * LDA003-1     68.5    Problem 3 [Jech, 1993]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   194
 * MSC002-1      9.2    DBABHP [Michie, et al., 1972]; DBABHP [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   195
 * MSC003-1      3.2    HASPARTS-T1 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   196
 * MSC004-1      9.3    HASPARTS-T2 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   197
 * MSC005-1      1.8    Problem 5.1 [Plaisted, 1982]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   198
 * MSC006-1     39.0    nonob.lop [SETHEO]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   199
 * NUM001-1     14.0    Chang-Lee-10a [Chang, 1970]; ls28 [Lawrence & Starkey, 1974]; ls28 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   200
 * NUM021-1     52.3    ls65 [Lawrence & Starkey, 1974]; ls65 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   201
 * NUM024-1     64.6    ls75 [Lawrence & Starkey, 1974]; ls75 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   202
 * NUM180-1    621.2    LIM2.1 [Quaife]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   203
 * NUM228-1    575.9    TRECDEF4 cor. [Quaife]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   204
 * PLA002-1     37.4    Problem 5.7 [Plaisted, 1982]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   205
 * PLA006-1      7.2    [Segre & Elkan, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   206
 * PLA017-1    484.8    [Segre & Elkan, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   207
 * PLA022-1     19.1    [Segre & Elkan, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   208
 * PLA022-2     19.7    [Segre & Elkan, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   209
 * PRV001-1     10.3    PV1 [McCharen, et al., 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   210
 * PRV003-1      3.9    E2 [McCharen, et al., 1976]; v2.lop [SETHEO]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   211
 * PRV005-1      4.3    E4 [McCharen, et al., 1976]; v4.lop [SETHEO]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   212
 * PRV006-1      6.0    E5 [McCharen, et al., 1976]; v5.lop [SETHEO]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   213
 * PRV009-1      2.2    Hoares FIND [Bledsoe, 1977]; Problem 5.5 [Plaisted, 1982]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   214
 * PUZ012-1      3.5    Boxes-of-fruit [Wos, 1988]; Boxes-of-fruit [Wos, et al., 1992]; boxes.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   215
 * PUZ020-1     56.6    knightknave.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   216
 * PUZ025-1     58.4    Problem 35 [Smullyan, 1978]; tandl35.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   217
 * PUZ029-1      5.1    pigs.ver1.in [ANL]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   218
 * RNG001-3     82.4    EX6-T? [Wilson & Minker, 1976]; ex6.lop [SETHEO]; Example 6a [Fleisig, et al., 1974]; FEX6T1 [SPRFN]; FEX6T2 [SPRFN]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   219
 * RNG001-5    399.8    Problem 21 [Wos, 1965]; wos21 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   220
 * RNG011-5      8.4    CADE-11 Competition Eq-10 [Overbeek, 1990]; PROBLEM 10 [Zhang, 1993]; THEOREM EQ-10 [Lusk & McCune, 1993]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   221
 * RNG023-6      9.1    [Stevens, 1987]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   222
 * RNG028-2      9.3    PROOF III [Anantharaman & Hsiang, 1990]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   223
 * RNG038-2     16.2    Problem 27 [Wos, 1965]; wos27 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   224
 * RNG040-2    180.5    Problem 29 [Wos, 1965]; wos29 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   225
 * RNG041-1     35.8    Problem 30 [Wos, 1965]; wos30 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   226
 * ROB010-1    205.0    Lemma 3.3 [Winker, 1990]; RA2 [Lusk & Wos, 1992]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   227
 * ROB013-1     23.6    Lemma 3.5 [Winker, 1990]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   228
 * ROB016-1     15.2    Corollary 3.7 [Winker, 1990]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   229
 * ROB021-1    230.4    [McCune, 1992]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   230
 * SET005-1    192.2    ls108 [Lawrence & Starkey, 1974]; ls108 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   231
 * SET009-1     10.5    ls116 [Lawrence & Starkey, 1974]; ls116 [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   232
 * SET025-4    694.7    Lemma 10 [Boyer, et al, 1986]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   233
 * SET046-5      2.3    p42.in [ANL]; Pelletier 42 [Pelletier, 1986]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   234
 * SET047-5      3.7    p43.in [ANL]; Pelletier 43 [Pelletier, 1986]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   235
 * SYN034-1      2.8    QW [Michie, et al., 1972]; QW [Wilson & Minker, 1976]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   236
 * SYN071-1      1.9    Pelletier 48 [Pelletier, 1986]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   237
 * SYN349-1     61.7    Ch17N5 [Tammet, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   238
 * SYN352-1      5.5    Ch18N4 [Tammet, 1994]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   239
 * TOP001-2     61.1    Lemma 1a [Wick & McCune, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   240
 * TOP002-2      0.4    Lemma 1b [Wick & McCune, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   241
 * TOP004-1    181.6    Lemma 1d [Wick & McCune, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   242
 * TOP004-2      9.0    Lemma 1d [Wick & McCune, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   243
 * TOP005-2    139.8    Lemma 1e [Wick & McCune, 1989]
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   244
 *)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   245
24128
wenzelm
parents: 24127
diff changeset
   246
abbreviation "EQU001_0_ax equal \<equiv> (\<forall>X. equal(X::'a,X)) &
wenzelm
parents: 24127
diff changeset
   247
  (\<forall>Y X. equal(X::'a,Y) --> equal(Y::'a,X)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   248
  (\<forall>Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   249
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   250
abbreviation "BOO002_0_ax equal INVERSE multiplicative_identity
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   251
  additive_identity multiply product add sum \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   252
  (\<forall>X Y. sum(X::'a,Y,add(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   253
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   254
  (\<forall>Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &
wenzelm
parents: 24127
diff changeset
   255
  (\<forall>Y X Z. product(X::'a,Y,Z) --> product(Y::'a,X,Z)) &
wenzelm
parents: 24127
diff changeset
   256
  (\<forall>X. sum(additive_identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
   257
  (\<forall>X. sum(X::'a,additive_identity,X)) &
wenzelm
parents: 24127
diff changeset
   258
  (\<forall>X. product(multiplicative_identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
   259
  (\<forall>X. product(X::'a,multiplicative_identity,X)) &
wenzelm
parents: 24127
diff changeset
   260
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   261
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   262
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   263
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   264
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   265
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   266
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   267
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   268
  (\<forall>X. sum(INVERSE(X),X,multiplicative_identity)) &
wenzelm
parents: 24127
diff changeset
   269
  (\<forall>X. sum(X::'a,INVERSE(X),multiplicative_identity)) &
wenzelm
parents: 24127
diff changeset
   270
  (\<forall>X. product(INVERSE(X),X,additive_identity)) &
wenzelm
parents: 24127
diff changeset
   271
  (\<forall>X. product(X::'a,INVERSE(X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
   272
  (\<forall>X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   273
  (\<forall>X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   274
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   275
abbreviation "BOO002_0_eq INVERSE multiply add product sum equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   276
  (\<forall>X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
   277
  (\<forall>X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   278
  (\<forall>X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   279
  (\<forall>X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
   280
  (\<forall>X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   281
  (\<forall>X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   282
  (\<forall>X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
   283
  (\<forall>X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   284
  (\<forall>X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
   285
  (\<forall>X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   286
  (\<forall>X Y. equal(X::'a,Y) --> equal(INVERSE(X),INVERSE(Y)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   287
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   288
(*51194 inferences so far.  Searching to depth 13.  232.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   289
lemma BOO003_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   290
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   291
  BOO002_0_ax equal INVERSE multiplicative_identity additive_identity multiply product add sum &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   292
  BOO002_0_eq INVERSE multiply add product sum equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   293
  (~product(x::'a,x,x)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   294
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   295
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   296
(*51194 inferences so far.  Searching to depth 13. 204.6 secs
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   297
  Strange! The previous problem also has 51194 inferences at depth 13.  They
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   298
   must be very similar!*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   299
lemma BOO004_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   300
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   301
  BOO002_0_ax equal INVERSE multiplicative_identity additive_identity multiply product add sum &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   302
  BOO002_0_eq INVERSE multiply add product sum equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   303
  (~sum(x::'a,x,x)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   304
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   305
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   306
(*74799 inferences so far.  Searching to depth 13.  290.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   307
lemma BOO005_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   308
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   309
  BOO002_0_ax equal INVERSE multiplicative_identity additive_identity multiply product add sum &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   310
  BOO002_0_eq INVERSE multiply add product sum equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   311
  (~sum(x::'a,multiplicative_identity,multiplicative_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   312
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   313
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   314
(*74799 inferences so far.  Searching to depth 13.  314.6 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   315
lemma BOO006_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   316
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   317
  BOO002_0_ax equal INVERSE multiplicative_identity additive_identity multiply product add sum &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   318
  BOO002_0_eq INVERSE multiply add product sum equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   319
  (~product(x::'a,additive_identity,additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   320
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   321
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   322
(*5 inferences so far.  Searching to depth 5.  1.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   323
lemma BOO011_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   324
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   325
  BOO002_0_ax equal INVERSE multiplicative_identity additive_identity multiply product add sum &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   326
  BOO002_0_eq INVERSE multiply add product sum equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   327
  (~equal(INVERSE(additive_identity),multiplicative_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   328
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   329
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   330
abbreviation "CAT003_0_ax f1 compos codomain domain equal there_exists equivalent \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   331
  (\<forall>Y X. equivalent(X::'a,Y) --> there_exists(X)) &
wenzelm
parents: 24127
diff changeset
   332
  (\<forall>X Y. equivalent(X::'a,Y) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   333
  (\<forall>X Y. there_exists(X) & equal(X::'a,Y) --> equivalent(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   334
  (\<forall>X. there_exists(domain(X)) --> there_exists(X)) &
wenzelm
parents: 24127
diff changeset
   335
  (\<forall>X. there_exists(codomain(X)) --> there_exists(X)) &
wenzelm
parents: 24127
diff changeset
   336
  (\<forall>Y X. there_exists(compos(X::'a,Y)) --> there_exists(domain(X))) &
wenzelm
parents: 24127
diff changeset
   337
  (\<forall>X Y. there_exists(compos(X::'a,Y)) --> equal(domain(X),codomain(Y))) &
wenzelm
parents: 24127
diff changeset
   338
  (\<forall>X Y. there_exists(domain(X)) & equal(domain(X),codomain(Y)) --> there_exists(compos(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   339
  (\<forall>X Y Z. equal(compos(X::'a,compos(Y::'a,Z)),compos(compos(X::'a,Y),Z))) &
wenzelm
parents: 24127
diff changeset
   340
  (\<forall>X. equal(compos(X::'a,domain(X)),X)) &
wenzelm
parents: 24127
diff changeset
   341
  (\<forall>X. equal(compos(codomain(X),X),X)) &
wenzelm
parents: 24127
diff changeset
   342
  (\<forall>X Y. equivalent(X::'a,Y) --> there_exists(Y)) &
wenzelm
parents: 24127
diff changeset
   343
  (\<forall>X Y. there_exists(X) & there_exists(Y) & equal(X::'a,Y) --> equivalent(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   344
  (\<forall>Y X. there_exists(compos(X::'a,Y)) --> there_exists(codomain(X))) &
wenzelm
parents: 24127
diff changeset
   345
  (\<forall>X Y. there_exists(f1(X::'a,Y)) | equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   346
  (\<forall>X Y. equal(X::'a,f1(X::'a,Y)) | equal(Y::'a,f1(X::'a,Y)) | equal(X::'a,Y)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   347
  (\<forall>X Y. equal(X::'a,f1(X::'a,Y)) & equal(Y::'a,f1(X::'a,Y)) --> equal(X::'a,Y))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   348
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   349
abbreviation "CAT003_0_eq f1 compos codomain domain equivalent there_exists equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   350
  (\<forall>X Y. equal(X::'a,Y) & there_exists(X) --> there_exists(Y)) &
wenzelm
parents: 24127
diff changeset
   351
  (\<forall>X Y Z. equal(X::'a,Y) & equivalent(X::'a,Z) --> equivalent(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   352
  (\<forall>X Z Y. equal(X::'a,Y) & equivalent(Z::'a,X) --> equivalent(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   353
  (\<forall>X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) &
wenzelm
parents: 24127
diff changeset
   354
  (\<forall>X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &
wenzelm
parents: 24127
diff changeset
   355
  (\<forall>X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z))) &
wenzelm
parents: 24127
diff changeset
   356
  (\<forall>X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   357
  (\<forall>A B C. equal(A::'a,B) --> equal(f1(A::'a,C),f1(B::'a,C))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   358
  (\<forall>D F' E. equal(D::'a,E) --> equal(f1(F'::'a,D),f1(F'::'a,E)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   359
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   360
(*4007 inferences so far.  Searching to depth 9.  13 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   361
lemma CAT001_3:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   362
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   363
  CAT003_0_ax f1 compos codomain domain equal there_exists equivalent &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   364
  CAT003_0_eq f1 compos codomain domain equivalent there_exists equal &
24128
wenzelm
parents: 24127
diff changeset
   365
  (there_exists(compos(a::'a,b))) &
wenzelm
parents: 24127
diff changeset
   366
  (\<forall>Y X Z. equal(compos(compos(a::'a,b),X),Y) & equal(compos(compos(a::'a,b),Z),Y) --> equal(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   367
  (there_exists(compos(b::'a,h))) &
wenzelm
parents: 24127
diff changeset
   368
  (equal(compos(b::'a,h),compos(b::'a,g))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   369
  (~equal(h::'a,g)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   370
   by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   371
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   372
(*245 inferences so far.  Searching to depth 7.  1.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   373
lemma CAT003_3:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   374
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   375
  CAT003_0_ax f1 compos codomain domain equal there_exists equivalent &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   376
  CAT003_0_eq f1 compos codomain domain equivalent there_exists equal &
24128
wenzelm
parents: 24127
diff changeset
   377
  (there_exists(compos(a::'a,b))) &
wenzelm
parents: 24127
diff changeset
   378
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   379
  (there_exists(h)) &
wenzelm
parents: 24127
diff changeset
   380
  (equal(compos(h::'a,a),compos(g::'a,a))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   381
  (~equal(g::'a,h)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   382
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   383
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   384
abbreviation "CAT001_0_ax equal codomain domain identity_map compos product defined \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   385
  (\<forall>X Y. defined(X::'a,Y) --> product(X::'a,Y,compos(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   386
  (\<forall>Z X Y. product(X::'a,Y,Z) --> defined(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   387
  (\<forall>X Xy Y Z. product(X::'a,Y,Xy) & defined(Xy::'a,Z) --> defined(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   388
  (\<forall>Y Xy Z X Yz. product(X::'a,Y,Xy) & product(Y::'a,Z,Yz) & defined(Xy::'a,Z) --> defined(X::'a,Yz)) &
wenzelm
parents: 24127
diff changeset
   389
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   390
  (\<forall>Z Yz X Y. product(Y::'a,Z,Yz) & defined(X::'a,Yz) --> defined(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   391
  (\<forall>Y X Yz Xy Z. product(Y::'a,Z,Yz) & product(X::'a,Y,Xy) & defined(X::'a,Yz) --> defined(Xy::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   392
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   393
  (\<forall>Y X Z. defined(X::'a,Y) & defined(Y::'a,Z) & identity_map(Y) --> defined(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   394
  (\<forall>X. identity_map(domain(X))) &
wenzelm
parents: 24127
diff changeset
   395
  (\<forall>X. identity_map(codomain(X))) &
wenzelm
parents: 24127
diff changeset
   396
  (\<forall>X. defined(X::'a,domain(X))) &
wenzelm
parents: 24127
diff changeset
   397
  (\<forall>X. defined(codomain(X),X)) &
wenzelm
parents: 24127
diff changeset
   398
  (\<forall>X. product(X::'a,domain(X),X)) &
wenzelm
parents: 24127
diff changeset
   399
  (\<forall>X. product(codomain(X),X,X)) &
wenzelm
parents: 24127
diff changeset
   400
  (\<forall>X Y. defined(X::'a,Y) & identity_map(X) --> product(X::'a,Y,Y)) &
wenzelm
parents: 24127
diff changeset
   401
  (\<forall>Y X. defined(X::'a,Y) & identity_map(Y) --> product(X::'a,Y,X)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   402
  (\<forall>X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   403
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   404
abbreviation "CAT001_0_eq compos defined identity_map codomain domain product equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   405
  (\<forall>X Y Z W. equal(X::'a,Y) & product(X::'a,Z,W) --> product(Y::'a,Z,W)) &
wenzelm
parents: 24127
diff changeset
   406
  (\<forall>X Z Y W. equal(X::'a,Y) & product(Z::'a,X,W) --> product(Z::'a,Y,W)) &
wenzelm
parents: 24127
diff changeset
   407
  (\<forall>X Z W Y. equal(X::'a,Y) & product(Z::'a,W,X) --> product(Z::'a,W,Y)) &
wenzelm
parents: 24127
diff changeset
   408
  (\<forall>X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) &
wenzelm
parents: 24127
diff changeset
   409
  (\<forall>X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &
wenzelm
parents: 24127
diff changeset
   410
  (\<forall>X Y. equal(X::'a,Y) & identity_map(X) --> identity_map(Y)) &
wenzelm
parents: 24127
diff changeset
   411
  (\<forall>X Y Z. equal(X::'a,Y) & defined(X::'a,Z) --> defined(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   412
  (\<forall>X Z Y. equal(X::'a,Y) & defined(Z::'a,X) --> defined(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   413
  (\<forall>X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   414
  (\<forall>X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   415
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   416
(*54288 inferences so far.  Searching to depth 14.  118.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   417
lemma CAT005_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   418
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   419
  CAT001_0_ax equal codomain domain identity_map compos product defined &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   420
  CAT001_0_eq compos defined identity_map codomain domain product equal &
24128
wenzelm
parents: 24127
diff changeset
   421
  (defined(a::'a,d)) &
wenzelm
parents: 24127
diff changeset
   422
  (identity_map(d)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   423
  (~equal(domain(a),d)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   424
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   425
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   426
(*1728 inferences so far.  Searching to depth 10.  5.8 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   427
lemma CAT007_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   428
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   429
  CAT001_0_ax equal codomain domain identity_map compos product defined &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   430
  CAT001_0_eq compos defined identity_map codomain domain product equal &
24128
wenzelm
parents: 24127
diff changeset
   431
  (equal(domain(a),codomain(b))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   432
  (~defined(a::'a,b)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   433
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   434
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   435
(*82895 inferences so far.  Searching to depth 13.  355 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   436
lemma CAT018_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   437
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   438
  CAT001_0_ax equal codomain domain identity_map compos product defined &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   439
  CAT001_0_eq compos defined identity_map codomain domain product equal &
24128
wenzelm
parents: 24127
diff changeset
   440
  (defined(a::'a,b)) &
wenzelm
parents: 24127
diff changeset
   441
  (defined(b::'a,c)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   442
  (~defined(a::'a,compos(b::'a,c))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   443
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   444
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   445
(*1118 inferences so far.  Searching to depth 8.  2.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   446
lemma COL001_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   447
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
   448
  (\<forall>X Y Z. equal(apply(apply(apply(s::'a,X),Y),Z),apply(apply(X::'a,Z),apply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   449
  (\<forall>Y X. equal(apply(apply(k::'a,X),Y),X)) &
wenzelm
parents: 24127
diff changeset
   450
  (\<forall>X Y Z. equal(apply(apply(apply(b::'a,X),Y),Z),apply(X::'a,apply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   451
  (\<forall>X. equal(apply(i::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
   452
  (\<forall>A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
   453
  (\<forall>D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
   454
  (\<forall>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))))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   455
  (\<forall>Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   456
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   457
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   458
(*500 inferences so far.  Searching to depth 8.  0.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   459
lemma COL023_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   460
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
   461
  (\<forall>X Y Z. equal(apply(apply(apply(b::'a,X),Y),Z),apply(X::'a,apply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   462
  (\<forall>X Y Z. equal(apply(apply(apply(n::'a,X),Y),Z),apply(apply(apply(X::'a,Z),Y),Z))) &
wenzelm
parents: 24127
diff changeset
   463
  (\<forall>A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
   464
  (\<forall>D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   465
  (\<forall>Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   466
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   467
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   468
(*3018 inferences so far.  Searching to depth 10.  4.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   469
lemma COL032_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   470
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
   471
  (\<forall>X. equal(apply(m::'a,X),apply(X::'a,X))) &
wenzelm
parents: 24127
diff changeset
   472
  (\<forall>Y X Z. equal(apply(apply(apply(q::'a,X),Y),Z),apply(Y::'a,apply(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   473
  (\<forall>A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
   474
  (\<forall>D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
   475
  (\<forall>G H. equal(G::'a,H) --> equal(f(G),f(H))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   476
  (\<forall>Y. ~equal(apply(Y::'a,f(Y)),apply(f(Y),apply(Y::'a,f(Y))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   477
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   478
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   479
(*381878 inferences so far.  Searching to depth 13.  670.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   480
lemma COL052_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   481
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
   482
  (\<forall>X Y W. equal(response(compos(X::'a,Y),W),response(X::'a,response(Y::'a,W)))) &
wenzelm
parents: 24127
diff changeset
   483
  (\<forall>X Y. agreeable(X) --> equal(response(X::'a,common_bird(Y)),response(Y::'a,common_bird(Y)))) &
wenzelm
parents: 24127
diff changeset
   484
  (\<forall>Z X. equal(response(X::'a,Z),response(compatible(X),Z)) --> agreeable(X)) &
wenzelm
parents: 24127
diff changeset
   485
  (\<forall>A B. equal(A::'a,B) --> equal(common_bird(A),common_bird(B))) &
wenzelm
parents: 24127
diff changeset
   486
  (\<forall>C D. equal(C::'a,D) --> equal(compatible(C),compatible(D))) &
wenzelm
parents: 24127
diff changeset
   487
  (\<forall>Q R. equal(Q::'a,R) & agreeable(Q) --> agreeable(R)) &
wenzelm
parents: 24127
diff changeset
   488
  (\<forall>A B C. equal(A::'a,B) --> equal(compos(A::'a,C),compos(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
   489
  (\<forall>D F' E. equal(D::'a,E) --> equal(compos(F'::'a,D),compos(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
   490
  (\<forall>G H I'. equal(G::'a,H) --> equal(response(G::'a,I'),response(H::'a,I'))) &
wenzelm
parents: 24127
diff changeset
   491
  (\<forall>J L K'. equal(J::'a,K') --> equal(response(L::'a,J),response(L::'a,K'))) &
wenzelm
parents: 24127
diff changeset
   492
  (agreeable(c)) &
wenzelm
parents: 24127
diff changeset
   493
  (~agreeable(a)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   494
  (equal(c::'a,compos(a::'a,b))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   495
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   496
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   497
(*13201 inferences so far.  Searching to depth 11.  31.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   498
lemma COL075_2:
24128
wenzelm
parents: 24127
diff changeset
   499
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
   500
  (\<forall>Y X. equal(apply(apply(k::'a,X),Y),X)) &
wenzelm
parents: 24127
diff changeset
   501
  (\<forall>X Y Z. equal(apply(apply(apply(abstraction::'a,X),Y),Z),apply(apply(X::'a,apply(k::'a,Z)),apply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   502
  (\<forall>D E F'. equal(D::'a,E) --> equal(apply(D::'a,F'),apply(E::'a,F'))) &
wenzelm
parents: 24127
diff changeset
   503
  (\<forall>G I' H. equal(G::'a,H) --> equal(apply(I'::'a,G),apply(I'::'a,H))) &
wenzelm
parents: 24127
diff changeset
   504
  (\<forall>A B. equal(A::'a,B) --> equal(b(A),b(B))) &
wenzelm
parents: 24127
diff changeset
   505
  (\<forall>C D. equal(C::'a,D) --> equal(c(C),c(D))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   506
  (\<forall>Y. ~equal(apply(apply(Y::'a,b(Y)),c(Y)),apply(b(Y),b(Y)))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   507
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   508
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   509
(*33 inferences so far.  Searching to depth 7.  0.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   510
lemma COM001_1:
24128
wenzelm
parents: 24127
diff changeset
   511
  "(\<forall>Goal_state Start_state. follows(Goal_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   512
  (\<forall>Goal_state Intermediate_state Start_state. succeeds(Goal_state::'a,Intermediate_state) & succeeds(Intermediate_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   513
  (\<forall>Start_state Label Goal_state. has(Start_state::'a,goto(Label)) & labels(Label::'a,Goal_state) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   514
  (\<forall>Start_state Condition Goal_state. has(Start_state::'a,ifthen(Condition::'a,Goal_state)) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   515
  (labels(loop::'a,p3)) &
wenzelm
parents: 24127
diff changeset
   516
  (has(p3::'a,ifthen(equal(register_j::'a,n),p4))) &
wenzelm
parents: 24127
diff changeset
   517
  (has(p4::'a,goto(out))) &
wenzelm
parents: 24127
diff changeset
   518
  (follows(p5::'a,p4)) &
wenzelm
parents: 24127
diff changeset
   519
  (follows(p8::'a,p3)) &
wenzelm
parents: 24127
diff changeset
   520
  (has(p8::'a,goto(loop))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   521
  (~succeeds(p3::'a,p3)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   522
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   523
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   524
(*533 inferences so far.  Searching to depth 13.  0.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   525
lemma COM002_1:
24128
wenzelm
parents: 24127
diff changeset
   526
  "(\<forall>Goal_state Start_state. follows(Goal_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   527
  (\<forall>Goal_state Intermediate_state Start_state. succeeds(Goal_state::'a,Intermediate_state) & succeeds(Intermediate_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   528
  (\<forall>Start_state Label Goal_state. has(Start_state::'a,goto(Label)) & labels(Label::'a,Goal_state) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   529
  (\<forall>Start_state Condition Goal_state. has(Start_state::'a,ifthen(Condition::'a,Goal_state)) --> succeeds(Goal_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   530
  (has(p1::'a,assign(register_j::'a,num0))) &
wenzelm
parents: 24127
diff changeset
   531
  (follows(p2::'a,p1)) &
wenzelm
parents: 24127
diff changeset
   532
  (has(p2::'a,assign(register_k::'a,num1))) &
wenzelm
parents: 24127
diff changeset
   533
  (labels(loop::'a,p3)) &
wenzelm
parents: 24127
diff changeset
   534
  (follows(p3::'a,p2)) &
wenzelm
parents: 24127
diff changeset
   535
  (has(p3::'a,ifthen(equal(register_j::'a,n),p4))) &
wenzelm
parents: 24127
diff changeset
   536
  (has(p4::'a,goto(out))) &
wenzelm
parents: 24127
diff changeset
   537
  (follows(p5::'a,p4)) &
wenzelm
parents: 24127
diff changeset
   538
  (follows(p6::'a,p3)) &
wenzelm
parents: 24127
diff changeset
   539
  (has(p6::'a,assign(register_k::'a,mtimes(num2::'a,register_k)))) &
wenzelm
parents: 24127
diff changeset
   540
  (follows(p7::'a,p6)) &
wenzelm
parents: 24127
diff changeset
   541
  (has(p7::'a,assign(register_j::'a,mplus(register_j::'a,num1)))) &
wenzelm
parents: 24127
diff changeset
   542
  (follows(p8::'a,p7)) &
wenzelm
parents: 24127
diff changeset
   543
  (has(p8::'a,goto(loop))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   544
  (~succeeds(p3::'a,p3)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   545
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   546
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   547
(*4821 inferences so far.  Searching to depth 14.  1.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   548
lemma COM002_2:
24128
wenzelm
parents: 24127
diff changeset
   549
  "(\<forall>Goal_state Start_state. ~(fails(Goal_state::'a,Start_state) & follows(Goal_state::'a,Start_state))) &
wenzelm
parents: 24127
diff changeset
   550
  (\<forall>Goal_state Intermediate_state Start_state. fails(Goal_state::'a,Start_state) --> fails(Goal_state::'a,Intermediate_state) | fails(Intermediate_state::'a,Start_state)) &
wenzelm
parents: 24127
diff changeset
   551
  (\<forall>Start_state Label Goal_state. ~(fails(Goal_state::'a,Start_state) & has(Start_state::'a,goto(Label)) & labels(Label::'a,Goal_state))) &
wenzelm
parents: 24127
diff changeset
   552
  (\<forall>Start_state Condition Goal_state. ~(fails(Goal_state::'a,Start_state) & has(Start_state::'a,ifthen(Condition::'a,Goal_state)))) &
wenzelm
parents: 24127
diff changeset
   553
  (has(p1::'a,assign(register_j::'a,num0))) &
wenzelm
parents: 24127
diff changeset
   554
  (follows(p2::'a,p1)) &
wenzelm
parents: 24127
diff changeset
   555
  (has(p2::'a,assign(register_k::'a,num1))) &
wenzelm
parents: 24127
diff changeset
   556
  (labels(loop::'a,p3)) &
wenzelm
parents: 24127
diff changeset
   557
  (follows(p3::'a,p2)) &
wenzelm
parents: 24127
diff changeset
   558
  (has(p3::'a,ifthen(equal(register_j::'a,n),p4))) &
wenzelm
parents: 24127
diff changeset
   559
  (has(p4::'a,goto(out))) &
wenzelm
parents: 24127
diff changeset
   560
  (follows(p5::'a,p4)) &
wenzelm
parents: 24127
diff changeset
   561
  (follows(p6::'a,p3)) &
wenzelm
parents: 24127
diff changeset
   562
  (has(p6::'a,assign(register_k::'a,mtimes(num2::'a,register_k)))) &
wenzelm
parents: 24127
diff changeset
   563
  (follows(p7::'a,p6)) &
wenzelm
parents: 24127
diff changeset
   564
  (has(p7::'a,assign(register_j::'a,mplus(register_j::'a,num1)))) &
wenzelm
parents: 24127
diff changeset
   565
  (follows(p8::'a,p7)) &
wenzelm
parents: 24127
diff changeset
   566
  (has(p8::'a,goto(loop))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   567
  (fails(p3::'a,p3)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   568
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   569
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   570
(*98 inferences so far.  Searching to depth 10.  1.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   571
lemma COM003_2:
24128
wenzelm
parents: 24127
diff changeset
   572
  "(\<forall>X Y Z. program_decides(X) & program(Y) --> decides(X::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   573
  (\<forall>X. program_decides(X) | program(f2(X))) &
wenzelm
parents: 24127
diff changeset
   574
  (\<forall>X. decides(X::'a,f2(X),f1(X)) --> program_decides(X)) &
wenzelm
parents: 24127
diff changeset
   575
  (\<forall>X. program_program_decides(X) --> program(X)) &
wenzelm
parents: 24127
diff changeset
   576
  (\<forall>X. program_program_decides(X) --> program_decides(X)) &
wenzelm
parents: 24127
diff changeset
   577
  (\<forall>X. program(X) & program_decides(X) --> program_program_decides(X)) &
wenzelm
parents: 24127
diff changeset
   578
  (\<forall>X. algorithm_program_decides(X) --> algorithm(X)) &
wenzelm
parents: 24127
diff changeset
   579
  (\<forall>X. algorithm_program_decides(X) --> program_decides(X)) &
wenzelm
parents: 24127
diff changeset
   580
  (\<forall>X. algorithm(X) & program_decides(X) --> algorithm_program_decides(X)) &
wenzelm
parents: 24127
diff changeset
   581
  (\<forall>Y X. program_halts2(X::'a,Y) --> program(X)) &
wenzelm
parents: 24127
diff changeset
   582
  (\<forall>X Y. program_halts2(X::'a,Y) --> halts2(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   583
  (\<forall>X Y. program(X) & halts2(X::'a,Y) --> program_halts2(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   584
  (\<forall>W X Y Z. halts3_outputs(X::'a,Y,Z,W) --> halts3(X::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   585
  (\<forall>Y Z X W. halts3_outputs(X::'a,Y,Z,W) --> outputs(X::'a,W)) &
wenzelm
parents: 24127
diff changeset
   586
  (\<forall>Y Z X W. halts3(X::'a,Y,Z) & outputs(X::'a,W) --> halts3_outputs(X::'a,Y,Z,W)) &
wenzelm
parents: 24127
diff changeset
   587
  (\<forall>Y X. program_not_halts2(X::'a,Y) --> program(X)) &
wenzelm
parents: 24127
diff changeset
   588
  (\<forall>X Y. ~(program_not_halts2(X::'a,Y) & halts2(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   589
  (\<forall>X Y. program(X) --> program_not_halts2(X::'a,Y) | halts2(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   590
  (\<forall>W X Y. halts2_outputs(X::'a,Y,W) --> halts2(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   591
  (\<forall>Y X W. halts2_outputs(X::'a,Y,W) --> outputs(X::'a,W)) &
wenzelm
parents: 24127
diff changeset
   592
  (\<forall>Y X W. halts2(X::'a,Y) & outputs(X::'a,W) --> halts2_outputs(X::'a,Y,W)) &
wenzelm
parents: 24127
diff changeset
   593
  (\<forall>X W Y Z. program_halts2_halts3_outputs(X::'a,Y,Z,W) --> program_halts2(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   594
  (\<forall>X Y Z W. program_halts2_halts3_outputs(X::'a,Y,Z,W) --> halts3_outputs(X::'a,Y,Z,W)) &
wenzelm
parents: 24127
diff changeset
   595
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   596
  (\<forall>X W Y Z. program_not_halts2_halts3_outputs(X::'a,Y,Z,W) --> program_not_halts2(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   597
  (\<forall>X Y Z W. program_not_halts2_halts3_outputs(X::'a,Y,Z,W) --> halts3_outputs(X::'a,Y,Z,W)) &
wenzelm
parents: 24127
diff changeset
   598
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   599
  (\<forall>X W Y. program_halts2_halts2_outputs(X::'a,Y,W) --> program_halts2(Y::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   600
  (\<forall>X Y W. program_halts2_halts2_outputs(X::'a,Y,W) --> halts2_outputs(X::'a,Y,W)) &
wenzelm
parents: 24127
diff changeset
   601
  (\<forall>X Y W. program_halts2(Y::'a,Y) & halts2_outputs(X::'a,Y,W) --> program_halts2_halts2_outputs(X::'a,Y,W)) &
wenzelm
parents: 24127
diff changeset
   602
  (\<forall>X W Y. program_not_halts2_halts2_outputs(X::'a,Y,W) --> program_not_halts2(Y::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   603
  (\<forall>X Y W. program_not_halts2_halts2_outputs(X::'a,Y,W) --> halts2_outputs(X::'a,Y,W)) &
wenzelm
parents: 24127
diff changeset
   604
  (\<forall>X Y W. program_not_halts2(Y::'a,Y) & halts2_outputs(X::'a,Y,W) --> program_not_halts2_halts2_outputs(X::'a,Y,W)) &
wenzelm
parents: 24127
diff changeset
   605
  (\<forall>X. algorithm_program_decides(X) --> program_program_decides(c1)) &
wenzelm
parents: 24127
diff changeset
   606
  (\<forall>W Y Z. program_program_decides(W) --> program_halts2_halts3_outputs(W::'a,Y,Z,good)) &
wenzelm
parents: 24127
diff changeset
   607
  (\<forall>W Y Z. program_program_decides(W) --> program_not_halts2_halts3_outputs(W::'a,Y,Z,bad)) &
wenzelm
parents: 24127
diff changeset
   608
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   609
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   610
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   611
  (\<forall>V. program(V) & program_halts2_halts2_outputs(V::'a,f4(V),good) & program_not_halts2_halts2_outputs(V::'a,f4(V),bad) --> program(c3)) &
wenzelm
parents: 24127
diff changeset
   612
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   613
  (\<forall>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)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   614
  (algorithm_program_decides(c4)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   615
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   616
24128
wenzelm
parents: 24127
diff changeset
   617
(*2100398 inferences so far.  Searching to depth 12.
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   618
  1256s (21 mins) on griffon*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   619
lemma COM004_1:
24128
wenzelm
parents: 24127
diff changeset
   620
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
   621
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   622
  (\<forall>X. contradictory(negate(X),X)) &
wenzelm
parents: 24127
diff changeset
   623
  (\<forall>X. contradictory(X::'a,negate(X))) &
wenzelm
parents: 24127
diff changeset
   624
  (\<forall>X. siblings(left_child_of(X),right_child_of(X))) &
wenzelm
parents: 24127
diff changeset
   625
  (\<forall>D E. equal(D::'a,E) --> equal(left_child_of(D),left_child_of(E))) &
wenzelm
parents: 24127
diff changeset
   626
  (\<forall>F' G. equal(F'::'a,G) --> equal(negate(F'),negate(G))) &
wenzelm
parents: 24127
diff changeset
   627
  (\<forall>H I' J. equal(H::'a,I') --> equal(or(H::'a,J),or(I'::'a,J))) &
wenzelm
parents: 24127
diff changeset
   628
  (\<forall>K' M L. equal(K'::'a,L) --> equal(or(M::'a,K'),or(M::'a,L))) &
wenzelm
parents: 24127
diff changeset
   629
  (\<forall>N O' P. equal(N::'a,O') --> equal(parent_of(N::'a,P),parent_of(O'::'a,P))) &
wenzelm
parents: 24127
diff changeset
   630
  (\<forall>Q S' R. equal(Q::'a,R) --> equal(parent_of(S'::'a,Q),parent_of(S'::'a,R))) &
wenzelm
parents: 24127
diff changeset
   631
  (\<forall>T' U. equal(T'::'a,U) --> equal(right_child_of(T'),right_child_of(U))) &
wenzelm
parents: 24127
diff changeset
   632
  (\<forall>V W X. equal(V::'a,W) & contradictory(V::'a,X) --> contradictory(W::'a,X)) &
wenzelm
parents: 24127
diff changeset
   633
  (\<forall>Y A1 Z. equal(Y::'a,Z) & contradictory(A1::'a,Y) --> contradictory(A1::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   634
  (\<forall>B1 C1 D1. equal(B1::'a,C1) & failure_node(B1::'a,D1) --> failure_node(C1::'a,D1)) &
wenzelm
parents: 24127
diff changeset
   635
  (\<forall>E1 G1 F1. equal(E1::'a,F1) & failure_node(G1::'a,E1) --> failure_node(G1::'a,F1)) &
wenzelm
parents: 24127
diff changeset
   636
  (\<forall>H1 I1 J1. equal(H1::'a,I1) & siblings(H1::'a,J1) --> siblings(I1::'a,J1)) &
wenzelm
parents: 24127
diff changeset
   637
  (\<forall>K1 M1 L1. equal(K1::'a,L1) & siblings(M1::'a,K1) --> siblings(M1::'a,L1)) &
wenzelm
parents: 24127
diff changeset
   638
  (failure_node(n_left::'a,or(EMPTY::'a,atom))) &
wenzelm
parents: 24127
diff changeset
   639
  (failure_node(n_right::'a,or(EMPTY::'a,negate(atom)))) &
wenzelm
parents: 24127
diff changeset
   640
  (equal(n_left::'a,left_child_of(n))) &
wenzelm
parents: 24127
diff changeset
   641
  (equal(n_right::'a,right_child_of(n))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   642
  (\<forall>Z. ~failure_node(Z::'a,or(EMPTY::'a,EMPTY))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   643
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   644
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   645
abbreviation "GEO001_0_ax continuous lower_dimension_point_3 lower_dimension_point_2
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   646
  lower_dimension_point_1 extension euclid2 euclid1 outer_pasch equidistant equal between \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   647
  (\<forall>X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   648
  (\<forall>V X Y Z. between(X::'a,Y,V) & between(Y::'a,Z,V) --> between(X::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   649
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   650
  (\<forall>Y X. equidistant(X::'a,Y,Y,X)) &
wenzelm
parents: 24127
diff changeset
   651
  (\<forall>Z X Y. equidistant(X::'a,Y,Z,Z) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   652
  (\<forall>X Y Z V V2 W. equidistant(X::'a,Y,Z,V) & equidistant(X::'a,Y,V2,W) --> equidistant(Z::'a,V,V2,W)) &
wenzelm
parents: 24127
diff changeset
   653
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   654
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   655
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   656
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   657
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   658
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   659
  (\<forall>X Y W V. between(X::'a,Y,extension(X::'a,Y,W,V))) &
wenzelm
parents: 24127
diff changeset
   660
  (\<forall>X Y W V. equidistant(Y::'a,extension(X::'a,Y,W,V),W,V)) &
wenzelm
parents: 24127
diff changeset
   661
  (~between(lower_dimension_point_1::'a,lower_dimension_point_2,lower_dimension_point_3)) &
wenzelm
parents: 24127
diff changeset
   662
  (~between(lower_dimension_point_2::'a,lower_dimension_point_3,lower_dimension_point_1)) &
wenzelm
parents: 24127
diff changeset
   663
  (~between(lower_dimension_point_3::'a,lower_dimension_point_1,lower_dimension_point_2)) &
wenzelm
parents: 24127
diff changeset
   664
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   665
  (\<forall>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))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   666
  (\<forall>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))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   667
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   668
abbreviation "GEO001_0_eq continuous extension euclid2 euclid1 outer_pasch equidistant
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   669
  between equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   670
  (\<forall>X Y W Z. equal(X::'a,Y) & between(X::'a,W,Z) --> between(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
   671
  (\<forall>X W Y Z. equal(X::'a,Y) & between(W::'a,X,Z) --> between(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   672
  (\<forall>X W Z Y. equal(X::'a,Y) & between(W::'a,Z,X) --> between(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   673
  (\<forall>X Y V W Z. equal(X::'a,Y) & equidistant(X::'a,V,W,Z) --> equidistant(Y::'a,V,W,Z)) &
wenzelm
parents: 24127
diff changeset
   674
  (\<forall>X V Y W Z. equal(X::'a,Y) & equidistant(V::'a,X,W,Z) --> equidistant(V::'a,Y,W,Z)) &
wenzelm
parents: 24127
diff changeset
   675
  (\<forall>X V W Y Z. equal(X::'a,Y) & equidistant(V::'a,W,X,Z) --> equidistant(V::'a,W,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   676
  (\<forall>X V W Z Y. equal(X::'a,Y) & equidistant(V::'a,W,Z,X) --> equidistant(V::'a,W,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   677
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   678
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   679
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   680
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   681
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   682
  (\<forall>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'))) &
wenzelm
parents: 24127
diff changeset
   683
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   684
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   685
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   686
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   687
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   688
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   689
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   690
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   691
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   692
  (\<forall>X Y V1 V2 V3. equal(X::'a,Y) --> equal(extension(X::'a,V1,V2,V3),extension(Y::'a,V1,V2,V3))) &
wenzelm
parents: 24127
diff changeset
   693
  (\<forall>X V1 Y V2 V3. equal(X::'a,Y) --> equal(extension(V1::'a,X,V2,V3),extension(V1::'a,Y,V2,V3))) &
wenzelm
parents: 24127
diff changeset
   694
  (\<forall>X V1 V2 Y V3. equal(X::'a,Y) --> equal(extension(V1::'a,V2,X,V3),extension(V1::'a,V2,Y,V3))) &
wenzelm
parents: 24127
diff changeset
   695
  (\<forall>X V1 V2 V3 Y. equal(X::'a,Y) --> equal(extension(V1::'a,V2,V3,X),extension(V1::'a,V2,V3,Y))) &
wenzelm
parents: 24127
diff changeset
   696
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   697
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   698
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   699
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   700
  (\<forall>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))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   701
  (\<forall>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)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   702
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   703
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   704
(*179 inferences so far.  Searching to depth 7.  3.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   705
lemma GEO003_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   706
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   707
  GEO001_0_ax continuous lower_dimension_point_3 lower_dimension_point_2
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   708
    lower_dimension_point_1 extension euclid2 euclid1 outer_pasch equidistant equal between &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   709
  GEO001_0_eq continuous extension euclid2 euclid1 outer_pasch equidistant between equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   710
  (~between(a::'a,b,b)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   711
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   712
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   713
abbreviation "GEO002_ax_eq continuous euclid2 euclid1 lower_dimension_point_3
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   714
  lower_dimension_point_2 lower_dimension_point_1 inner_pasch extension
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   715
  between equal equidistant \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   716
  (\<forall>Y X. equidistant(X::'a,Y,Y,X)) &
wenzelm
parents: 24127
diff changeset
   717
  (\<forall>X Y Z V V2 W. equidistant(X::'a,Y,Z,V) & equidistant(X::'a,Y,V2,W) --> equidistant(Z::'a,V,V2,W)) &
wenzelm
parents: 24127
diff changeset
   718
  (\<forall>Z X Y. equidistant(X::'a,Y,Z,Z) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   719
  (\<forall>X Y W V. between(X::'a,Y,extension(X::'a,Y,W,V))) &
wenzelm
parents: 24127
diff changeset
   720
  (\<forall>X Y W V. equidistant(Y::'a,extension(X::'a,Y,W,V),W,V)) &
wenzelm
parents: 24127
diff changeset
   721
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   722
  (\<forall>X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
   723
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   724
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   725
  (~between(lower_dimension_point_1::'a,lower_dimension_point_2,lower_dimension_point_3)) &
wenzelm
parents: 24127
diff changeset
   726
  (~between(lower_dimension_point_2::'a,lower_dimension_point_3,lower_dimension_point_1)) &
wenzelm
parents: 24127
diff changeset
   727
  (~between(lower_dimension_point_3::'a,lower_dimension_point_1,lower_dimension_point_2)) &
wenzelm
parents: 24127
diff changeset
   728
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   729
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   730
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   731
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   732
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   733
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   734
  (\<forall>X Y W Z. equal(X::'a,Y) & between(X::'a,W,Z) --> between(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
   735
  (\<forall>X W Y Z. equal(X::'a,Y) & between(W::'a,X,Z) --> between(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   736
  (\<forall>X W Z Y. equal(X::'a,Y) & between(W::'a,Z,X) --> between(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   737
  (\<forall>X Y V W Z. equal(X::'a,Y) & equidistant(X::'a,V,W,Z) --> equidistant(Y::'a,V,W,Z)) &
wenzelm
parents: 24127
diff changeset
   738
  (\<forall>X V Y W Z. equal(X::'a,Y) & equidistant(V::'a,X,W,Z) --> equidistant(V::'a,Y,W,Z)) &
wenzelm
parents: 24127
diff changeset
   739
  (\<forall>X V W Y Z. equal(X::'a,Y) & equidistant(V::'a,W,X,Z) --> equidistant(V::'a,W,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   740
  (\<forall>X V W Z Y. equal(X::'a,Y) & equidistant(V::'a,W,Z,X) --> equidistant(V::'a,W,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   741
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   742
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   743
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   744
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   745
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   746
  (\<forall>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'))) &
wenzelm
parents: 24127
diff changeset
   747
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   748
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   749
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   750
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   751
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   752
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   753
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   754
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   755
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   756
  (\<forall>X Y V1 V2 V3. equal(X::'a,Y) --> equal(extension(X::'a,V1,V2,V3),extension(Y::'a,V1,V2,V3))) &
wenzelm
parents: 24127
diff changeset
   757
  (\<forall>X V1 Y V2 V3. equal(X::'a,Y) --> equal(extension(V1::'a,X,V2,V3),extension(V1::'a,Y,V2,V3))) &
wenzelm
parents: 24127
diff changeset
   758
  (\<forall>X V1 V2 Y V3. equal(X::'a,Y) --> equal(extension(V1::'a,V2,X,V3),extension(V1::'a,V2,Y,V3))) &
wenzelm
parents: 24127
diff changeset
   759
  (\<forall>X V1 V2 V3 Y. equal(X::'a,Y) --> equal(extension(V1::'a,V2,V3,X),extension(V1::'a,V2,V3,Y))) &
wenzelm
parents: 24127
diff changeset
   760
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   761
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   762
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   763
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   764
  (\<forall>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))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   765
  (\<forall>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)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   766
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   767
(*4272 inferences so far.  Searching to depth 10.  29.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   768
lemma GEO017_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   769
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   770
  GEO002_ax_eq continuous euclid2 euclid1 lower_dimension_point_3
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   771
    lower_dimension_point_2 lower_dimension_point_1 inner_pasch extension
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   772
    between equal equidistant &
24128
wenzelm
parents: 24127
diff changeset
   773
  (equidistant(u::'a,v,w,x)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   774
  (~equidistant(u::'a,v,x,w)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   775
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   776
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   777
(*382903 inferences so far.  Searching to depth 9. 1022s (17 mins) on griffon*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   778
lemma GEO027_3:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   779
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   780
  GEO002_ax_eq continuous euclid2 euclid1 lower_dimension_point_3
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   781
    lower_dimension_point_2 lower_dimension_point_1 inner_pasch extension
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   782
    between equal equidistant &
24128
wenzelm
parents: 24127
diff changeset
   783
  (\<forall>U V. equal(reflection(U::'a,V),extension(U::'a,V,U,V))) &
wenzelm
parents: 24127
diff changeset
   784
  (\<forall>X Y Z. equal(X::'a,Y) --> equal(reflection(X::'a,Z),reflection(Y::'a,Z))) &
wenzelm
parents: 24127
diff changeset
   785
  (\<forall>A1 C1 B1. equal(A1::'a,B1) --> equal(reflection(C1::'a,A1),reflection(C1::'a,B1))) &
wenzelm
parents: 24127
diff changeset
   786
  (\<forall>U V. equidistant(U::'a,V,U,V)) &
wenzelm
parents: 24127
diff changeset
   787
  (\<forall>W X U V. equidistant(U::'a,V,W,X) --> equidistant(W::'a,X,U,V)) &
wenzelm
parents: 24127
diff changeset
   788
  (\<forall>V U W X. equidistant(U::'a,V,W,X) --> equidistant(V::'a,U,W,X)) &
wenzelm
parents: 24127
diff changeset
   789
  (\<forall>U V X W. equidistant(U::'a,V,W,X) --> equidistant(U::'a,V,X,W)) &
wenzelm
parents: 24127
diff changeset
   790
  (\<forall>V U X W. equidistant(U::'a,V,W,X) --> equidistant(V::'a,U,X,W)) &
wenzelm
parents: 24127
diff changeset
   791
  (\<forall>W X V U. equidistant(U::'a,V,W,X) --> equidistant(W::'a,X,V,U)) &
wenzelm
parents: 24127
diff changeset
   792
  (\<forall>X W U V. equidistant(U::'a,V,W,X) --> equidistant(X::'a,W,U,V)) &
wenzelm
parents: 24127
diff changeset
   793
  (\<forall>X W V U. equidistant(U::'a,V,W,X) --> equidistant(X::'a,W,V,U)) &
wenzelm
parents: 24127
diff changeset
   794
  (\<forall>W X U V Y Z. equidistant(U::'a,V,W,X) & equidistant(W::'a,X,Y,Z) --> equidistant(U::'a,V,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   795
  (\<forall>U V W. equal(V::'a,extension(U::'a,V,W,W))) &
wenzelm
parents: 24127
diff changeset
   796
  (\<forall>W X U V Y. equal(Y::'a,extension(U::'a,V,W,X)) --> between(U::'a,V,Y)) &
wenzelm
parents: 24127
diff changeset
   797
  (\<forall>U V. between(U::'a,V,reflection(U::'a,V))) &
wenzelm
parents: 24127
diff changeset
   798
  (\<forall>U V. equidistant(V::'a,reflection(U::'a,V),U,V)) &
wenzelm
parents: 24127
diff changeset
   799
  (\<forall>U V. equal(U::'a,V) --> equal(V::'a,reflection(U::'a,V))) &
wenzelm
parents: 24127
diff changeset
   800
  (\<forall>U. equal(U::'a,reflection(U::'a,U))) &
wenzelm
parents: 24127
diff changeset
   801
  (\<forall>U V. equal(V::'a,reflection(U::'a,V)) --> equal(U::'a,V)) &
wenzelm
parents: 24127
diff changeset
   802
  (\<forall>U V. equidistant(U::'a,U,V,V)) &
wenzelm
parents: 24127
diff changeset
   803
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   804
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   805
  (between(u::'a,v,w)) &
wenzelm
parents: 24127
diff changeset
   806
  (~equal(u::'a,v)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   807
  (~equal(w::'a,extension(u::'a,v,v,w))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   808
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   809
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   810
(*313884 inferences so far.  Searching to depth 10.  887 secs: 15 mins.*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   811
lemma GEO058_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   812
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   813
  GEO002_ax_eq continuous euclid2 euclid1 lower_dimension_point_3
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   814
    lower_dimension_point_2 lower_dimension_point_1 inner_pasch extension
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   815
    between equal equidistant &
24128
wenzelm
parents: 24127
diff changeset
   816
  (\<forall>U V. equal(reflection(U::'a,V),extension(U::'a,V,U,V))) &
wenzelm
parents: 24127
diff changeset
   817
  (\<forall>X Y Z. equal(X::'a,Y) --> equal(reflection(X::'a,Z),reflection(Y::'a,Z))) &
wenzelm
parents: 24127
diff changeset
   818
  (\<forall>A1 C1 B1. equal(A1::'a,B1) --> equal(reflection(C1::'a,A1),reflection(C1::'a,B1))) &
wenzelm
parents: 24127
diff changeset
   819
  (equal(v::'a,reflection(u::'a,v))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   820
  (~equal(u::'a,v)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   821
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   822
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   823
(*0 inferences so far.  Searching to depth 0.  0.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   824
lemma GEO079_1:
24128
wenzelm
parents: 24127
diff changeset
   825
  "(\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   826
  (\<forall>U V W X Y Z. CONGRUENT(U::'a,V,W,X,Y,Z) --> eq(U::'a,V,W,X,Y,Z)) &
wenzelm
parents: 24127
diff changeset
   827
  (\<forall>V W U X. trapezoid(U::'a,V,W,X) --> parallel(V::'a,W,U,X)) &
wenzelm
parents: 24127
diff changeset
   828
  (\<forall>U V X Y. parallel(U::'a,V,X,Y) --> eq(X::'a,V,U,V,X,Y)) &
wenzelm
parents: 24127
diff changeset
   829
  (trapezoid(a::'a,b,c,d)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   830
  (~eq(a::'a,c,b,c,a,d)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   831
   by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   832
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   833
abbreviation "GRP003_0_ax equal multiply INVERSE identity product \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   834
  (\<forall>X. product(identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
   835
  (\<forall>X. product(X::'a,identity,X)) &
wenzelm
parents: 24127
diff changeset
   836
  (\<forall>X. product(INVERSE(X),X,identity)) &
wenzelm
parents: 24127
diff changeset
   837
  (\<forall>X. product(X::'a,INVERSE(X),identity)) &
wenzelm
parents: 24127
diff changeset
   838
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   839
  (\<forall>X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &
wenzelm
parents: 24127
diff changeset
   840
  (\<forall>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)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   841
  (\<forall>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))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   842
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   843
abbreviation "GRP003_0_eq product multiply INVERSE equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   844
  (\<forall>X Y. equal(X::'a,Y) --> equal(INVERSE(X),INVERSE(Y))) &
wenzelm
parents: 24127
diff changeset
   845
  (\<forall>X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
   846
  (\<forall>X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   847
  (\<forall>X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
   848
  (\<forall>X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   849
  (\<forall>X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   850
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   851
(*2032008 inferences so far. Searching to depth 16. 658s (11 mins) on griffon*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   852
lemma GRP001_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   853
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   854
  GRP003_0_ax equal multiply INVERSE identity product &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   855
  GRP003_0_eq product multiply INVERSE equal &
24128
wenzelm
parents: 24127
diff changeset
   856
  (\<forall>X. product(X::'a,X,identity)) &
wenzelm
parents: 24127
diff changeset
   857
  (product(a::'a,b,c)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   858
  (~product(b::'a,a,c)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   859
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   860
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   861
(*2386 inferences so far.  Searching to depth 11.  8.7 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   862
lemma GRP008_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   863
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   864
  GRP003_0_ax equal multiply INVERSE identity product &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   865
  GRP003_0_eq product multiply INVERSE equal &
24128
wenzelm
parents: 24127
diff changeset
   866
  (\<forall>A B. equal(A::'a,B) --> equal(h(A),h(B))) &
wenzelm
parents: 24127
diff changeset
   867
  (\<forall>C D. equal(C::'a,D) --> equal(j(C),j(D))) &
wenzelm
parents: 24127
diff changeset
   868
  (\<forall>A B. equal(A::'a,B) & q(A) --> q(B)) &
wenzelm
parents: 24127
diff changeset
   869
  (\<forall>B A C. q(A) & product(A::'a,B,C) --> product(B::'a,A,C)) &
wenzelm
parents: 24127
diff changeset
   870
  (\<forall>A. product(j(A),A,h(A)) | product(A::'a,j(A),h(A)) | q(A)) &
wenzelm
parents: 24127
diff changeset
   871
  (\<forall>A. product(j(A),A,h(A)) & product(A::'a,j(A),h(A)) --> q(A)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   872
  (~q(identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   873
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   874
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   875
(*8625 inferences so far.  Searching to depth 11.  20 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   876
lemma GRP013_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   877
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   878
  GRP003_0_ax equal multiply INVERSE identity product &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   879
  GRP003_0_eq product multiply INVERSE equal &
24128
wenzelm
parents: 24127
diff changeset
   880
  (\<forall>A. product(A::'a,A,identity)) &
wenzelm
parents: 24127
diff changeset
   881
  (product(a::'a,b,c)) &
wenzelm
parents: 24127
diff changeset
   882
  (product(INVERSE(a),INVERSE(b),d)) &
wenzelm
parents: 24127
diff changeset
   883
  (\<forall>A C B. product(INVERSE(A),INVERSE(B),C) --> product(A::'a,C,B)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   884
  (~product(c::'a,d,identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   885
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   886
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   887
(*2448 inferences so far.  Searching to depth 10.  7.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   888
lemma GRP037_3:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   889
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   890
  GRP003_0_ax equal multiply INVERSE identity product &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   891
  GRP003_0_eq product multiply INVERSE equal &
24128
wenzelm
parents: 24127
diff changeset
   892
  (\<forall>A B C. subgroup_member(A) & subgroup_member(B) & product(A::'a,INVERSE(B),C) --> subgroup_member(C)) &
wenzelm
parents: 24127
diff changeset
   893
  (\<forall>A B. equal(A::'a,B) & subgroup_member(A) --> subgroup_member(B)) &
wenzelm
parents: 24127
diff changeset
   894
  (\<forall>A. subgroup_member(A) --> product(Gidentity::'a,A,A)) &
wenzelm
parents: 24127
diff changeset
   895
  (\<forall>A. subgroup_member(A) --> product(A::'a,Gidentity,A)) &
wenzelm
parents: 24127
diff changeset
   896
  (\<forall>A. subgroup_member(A) --> product(A::'a,Ginverse(A),Gidentity)) &
wenzelm
parents: 24127
diff changeset
   897
  (\<forall>A. subgroup_member(A) --> product(Ginverse(A),A,Gidentity)) &
wenzelm
parents: 24127
diff changeset
   898
  (\<forall>A. subgroup_member(A) --> subgroup_member(Ginverse(A))) &
wenzelm
parents: 24127
diff changeset
   899
  (\<forall>A B. equal(A::'a,B) --> equal(Ginverse(A),Ginverse(B))) &
wenzelm
parents: 24127
diff changeset
   900
  (\<forall>A C D B. product(A::'a,B,C) & product(A::'a,D,C) --> equal(D::'a,B)) &
wenzelm
parents: 24127
diff changeset
   901
  (\<forall>B C D A. product(A::'a,B,C) & product(D::'a,B,C) --> equal(D::'a,A)) &
wenzelm
parents: 24127
diff changeset
   902
  (subgroup_member(a)) &
wenzelm
parents: 24127
diff changeset
   903
  (subgroup_member(Gidentity)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   904
  (~equal(INVERSE(a),Ginverse(a))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   905
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   906
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   907
(*163 inferences so far.  Searching to depth 11.  0.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   908
lemma GRP031_2:
24128
wenzelm
parents: 24127
diff changeset
   909
  "(\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   910
  (\<forall>X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &
wenzelm
parents: 24127
diff changeset
   911
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   912
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   913
  (\<forall>A. product(A::'a,INVERSE(A),identity)) &
wenzelm
parents: 24127
diff changeset
   914
  (\<forall>A. product(A::'a,identity,A)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   915
  (\<forall>A. ~product(A::'a,a,identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   916
   by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   917
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   918
(*47 inferences so far.  Searching to depth 11.   0.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   919
lemma GRP034_4:
24128
wenzelm
parents: 24127
diff changeset
   920
  "(\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   921
  (\<forall>X. product(identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
   922
  (\<forall>X. product(X::'a,identity,X)) &
wenzelm
parents: 24127
diff changeset
   923
  (\<forall>X. product(X::'a,INVERSE(X),identity)) &
wenzelm
parents: 24127
diff changeset
   924
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   925
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   926
  (\<forall>B A C. subgroup_member(A) & subgroup_member(B) & product(B::'a,INVERSE(A),C) --> subgroup_member(C)) &
wenzelm
parents: 24127
diff changeset
   927
  (subgroup_member(a)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   928
  (~subgroup_member(INVERSE(a))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   929
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   930
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   931
(*3287 inferences so far.  Searching to depth 14.  3.5 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   932
lemma GRP047_2:
24128
wenzelm
parents: 24127
diff changeset
   933
  "(\<forall>X. product(identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
   934
  (\<forall>X. product(INVERSE(X),X,identity)) &
wenzelm
parents: 24127
diff changeset
   935
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
   936
  (\<forall>X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &
wenzelm
parents: 24127
diff changeset
   937
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   938
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
   939
  (\<forall>X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
   940
  (equal(a::'a,b)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   941
  (~equal(multiply(c::'a,a),multiply(c::'a,b))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   942
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   943
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   944
(*25559 inferences so far.  Searching to depth 19.  16.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   945
lemma GRP130_1_002:
24128
wenzelm
parents: 24127
diff changeset
   946
  "(group_element(e_1)) &
wenzelm
parents: 24127
diff changeset
   947
  (group_element(e_2)) &
wenzelm
parents: 24127
diff changeset
   948
  (~equal(e_1::'a,e_2)) &
wenzelm
parents: 24127
diff changeset
   949
  (~equal(e_2::'a,e_1)) &
wenzelm
parents: 24127
diff changeset
   950
  (\<forall>X Y. group_element(X) & group_element(Y) --> product(X::'a,Y,e_1) | product(X::'a,Y,e_2)) &
wenzelm
parents: 24127
diff changeset
   951
  (\<forall>X Y W Z. product(X::'a,Y,W) & product(X::'a,Y,Z) --> equal(W::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   952
  (\<forall>X Y W Z. product(X::'a,W,Y) & product(X::'a,Z,Y) --> equal(W::'a,Z)) &
wenzelm
parents: 24127
diff changeset
   953
  (\<forall>Y X W Z. product(W::'a,Y,X) & product(Z::'a,Y,X) --> equal(W::'a,Z)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   954
  (\<forall>Z1 Z2 Y X. product(X::'a,Y,Z1) & product(X::'a,Z1,Z2) --> product(Z2::'a,Y,X)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   955
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   956
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   957
abbreviation "GRP004_0_ax INVERSE identity multiply equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   958
  (\<forall>X. equal(multiply(identity::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
   959
  (\<forall>X. equal(multiply(INVERSE(X),X),identity)) &
wenzelm
parents: 24127
diff changeset
   960
  (\<forall>X Y Z. equal(multiply(multiply(X::'a,Y),Z),multiply(X::'a,multiply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   961
  (\<forall>A B. equal(A::'a,B) --> equal(INVERSE(A),INVERSE(B))) &
wenzelm
parents: 24127
diff changeset
   962
  (\<forall>C D E. equal(C::'a,D) --> equal(multiply(C::'a,E),multiply(D::'a,E))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   963
  (\<forall>F' H G. equal(F'::'a,G) --> equal(multiply(H::'a,F'),multiply(H::'a,G)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   964
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   965
abbreviation "GRP004_2_ax multiply least_upper_bound greatest_lower_bound equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
   966
  (\<forall>Y X. equal(greatest_lower_bound(X::'a,Y),greatest_lower_bound(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
   967
  (\<forall>Y X. equal(least_upper_bound(X::'a,Y),least_upper_bound(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
   968
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   969
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
   970
  (\<forall>X. equal(least_upper_bound(X::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
   971
  (\<forall>X. equal(greatest_lower_bound(X::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
   972
  (\<forall>Y X. equal(least_upper_bound(X::'a,greatest_lower_bound(X::'a,Y)),X)) &
wenzelm
parents: 24127
diff changeset
   973
  (\<forall>Y X. equal(greatest_lower_bound(X::'a,least_upper_bound(X::'a,Y)),X)) &
wenzelm
parents: 24127
diff changeset
   974
  (\<forall>Y X Z. equal(multiply(X::'a,least_upper_bound(Y::'a,Z)),least_upper_bound(multiply(X::'a,Y),multiply(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   975
  (\<forall>Y X Z. equal(multiply(X::'a,greatest_lower_bound(Y::'a,Z)),greatest_lower_bound(multiply(X::'a,Y),multiply(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
   976
  (\<forall>Y Z X. equal(multiply(least_upper_bound(Y::'a,Z),X),least_upper_bound(multiply(Y::'a,X),multiply(Z::'a,X)))) &
wenzelm
parents: 24127
diff changeset
   977
  (\<forall>Y Z X. equal(multiply(greatest_lower_bound(Y::'a,Z),X),greatest_lower_bound(multiply(Y::'a,X),multiply(Z::'a,X)))) &
wenzelm
parents: 24127
diff changeset
   978
  (\<forall>A B C. equal(A::'a,B) --> equal(greatest_lower_bound(A::'a,C),greatest_lower_bound(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
   979
  (\<forall>A C B. equal(A::'a,B) --> equal(greatest_lower_bound(C::'a,A),greatest_lower_bound(C::'a,B))) &
wenzelm
parents: 24127
diff changeset
   980
  (\<forall>A B C. equal(A::'a,B) --> equal(least_upper_bound(A::'a,C),least_upper_bound(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
   981
  (\<forall>A C B. equal(A::'a,B) --> equal(least_upper_bound(C::'a,A),least_upper_bound(C::'a,B))) &
wenzelm
parents: 24127
diff changeset
   982
  (\<forall>A B C. equal(A::'a,B) --> equal(multiply(A::'a,C),multiply(B::'a,C))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   983
  (\<forall>A C B. equal(A::'a,B) --> equal(multiply(C::'a,A),multiply(C::'a,B)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   984
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   985
(*3468 inferences so far.  Searching to depth 10.  9.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   986
lemma GRP156_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   987
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   988
  GRP004_0_ax INVERSE identity multiply equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   989
  GRP004_2_ax multiply least_upper_bound greatest_lower_bound equal &
24128
wenzelm
parents: 24127
diff changeset
   990
  (equal(least_upper_bound(a::'a,b),b)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   991
  (~equal(greatest_lower_bound(multiply(a::'a,c),multiply(b::'a,c)),multiply(a::'a,c))) --> False"
24128
wenzelm
parents: 24127
diff changeset
   992
    by meson
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   993
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   994
(*4394 inferences so far.  Searching to depth 10.  8.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   995
lemma GRP168_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   996
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
   997
  GRP004_0_ax INVERSE identity multiply equal &
24128
wenzelm
parents: 24127
diff changeset
   998
  GRP004_2_ax multiply least_upper_bound greatest_lower_bound equal &
wenzelm
parents: 24127
diff changeset
   999
  (equal(least_upper_bound(a::'a,b),b)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1000
  (~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"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1001
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1002
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1003
abbreviation "HEN002_0_ax identity Zero Divide equal mless_equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1004
  (\<forall>X Y. mless_equal(X::'a,Y) --> equal(Divide(X::'a,Y),Zero)) &
wenzelm
parents: 24127
diff changeset
  1005
  (\<forall>X Y. equal(Divide(X::'a,Y),Zero) --> mless_equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1006
  (\<forall>Y X. mless_equal(Divide(X::'a,Y),X)) &
wenzelm
parents: 24127
diff changeset
  1007
  (\<forall>X Y Z. mless_equal(Divide(Divide(X::'a,Z),Divide(Y::'a,Z)),Divide(Divide(X::'a,Y),Z))) &
wenzelm
parents: 24127
diff changeset
  1008
  (\<forall>X. mless_equal(Zero::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1009
  (\<forall>X Y. mless_equal(X::'a,Y) & mless_equal(Y::'a,X) --> equal(X::'a,Y)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1010
  (\<forall>X. mless_equal(X::'a,identity))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1011
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1012
abbreviation "HEN002_0_eq mless_equal Divide equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1013
  (\<forall>A B C. equal(A::'a,B) --> equal(Divide(A::'a,C),Divide(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  1014
  (\<forall>D F' E. equal(D::'a,E) --> equal(Divide(F'::'a,D),Divide(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  1015
  (\<forall>G H I'. equal(G::'a,H) & mless_equal(G::'a,I') --> mless_equal(H::'a,I')) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1016
  (\<forall>J L K'. equal(J::'a,K') & mless_equal(L::'a,J) --> mless_equal(L::'a,K'))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1017
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1018
(*250258 inferences so far.  Searching to depth 16.  406.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1019
lemma HEN003_3:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1020
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1021
  HEN002_0_ax identity Zero Divide equal mless_equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1022
  HEN002_0_eq mless_equal Divide equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1023
  (~equal(Divide(a::'a,a),Zero)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1024
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1025
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1026
(*202177 inferences so far.  Searching to depth 14.  451 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1027
lemma HEN007_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1028
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  1029
  (\<forall>X Y. mless_equal(X::'a,Y) --> quotient(X::'a,Y,Zero)) &
wenzelm
parents: 24127
diff changeset
  1030
  (\<forall>X Y. quotient(X::'a,Y,Zero) --> mless_equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1031
  (\<forall>Y Z X. quotient(X::'a,Y,Z) --> mless_equal(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1032
  (\<forall>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) --> mless_equal(V4::'a,V5)) &
wenzelm
parents: 24127
diff changeset
  1033
  (\<forall>X. mless_equal(Zero::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1034
  (\<forall>X Y. mless_equal(X::'a,Y) & mless_equal(Y::'a,X) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1035
  (\<forall>X. mless_equal(X::'a,identity)) &
wenzelm
parents: 24127
diff changeset
  1036
  (\<forall>X Y. quotient(X::'a,Y,Divide(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1037
  (\<forall>X Y Z W. quotient(X::'a,Y,Z) & quotient(X::'a,Y,W) --> equal(Z::'a,W)) &
wenzelm
parents: 24127
diff changeset
  1038
  (\<forall>X Y W Z. equal(X::'a,Y) & quotient(X::'a,W,Z) --> quotient(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
  1039
  (\<forall>X W Y Z. equal(X::'a,Y) & quotient(W::'a,X,Z) --> quotient(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
  1040
  (\<forall>X W Z Y. equal(X::'a,Y) & quotient(W::'a,Z,X) --> quotient(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
  1041
  (\<forall>X Z Y. equal(X::'a,Y) & mless_equal(Z::'a,X) --> mless_equal(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1042
  (\<forall>X Y Z. equal(X::'a,Y) & mless_equal(X::'a,Z) --> mless_equal(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1043
  (\<forall>X Y W. equal(X::'a,Y) --> equal(Divide(X::'a,W),Divide(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
  1044
  (\<forall>X W Y. equal(X::'a,Y) --> equal(Divide(W::'a,X),Divide(W::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1045
  (\<forall>X. quotient(X::'a,identity,Zero)) &
wenzelm
parents: 24127
diff changeset
  1046
  (\<forall>X. quotient(Zero::'a,X,Zero)) &
wenzelm
parents: 24127
diff changeset
  1047
  (\<forall>X. quotient(X::'a,X,Zero)) &
wenzelm
parents: 24127
diff changeset
  1048
  (\<forall>X. quotient(X::'a,Zero,X)) &
wenzelm
parents: 24127
diff changeset
  1049
  (\<forall>Y X Z. mless_equal(X::'a,Y) & mless_equal(Y::'a,Z) --> mless_equal(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1050
  (\<forall>W1 X Z W2 Y. quotient(X::'a,Y,W1) & mless_equal(W1::'a,Z) & quotient(X::'a,Z,W2) --> mless_equal(W2::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1051
  (mless_equal(x::'a,y)) &
wenzelm
parents: 24127
diff changeset
  1052
  (quotient(z::'a,y,zQy)) &
wenzelm
parents: 24127
diff changeset
  1053
  (quotient(z::'a,x,zQx)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1054
  (~mless_equal(zQy::'a,zQx)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1055
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1056
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1057
(*60026 inferences so far.  Searching to depth 12.  42.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1058
lemma HEN008_4:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1059
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1060
  HEN002_0_ax identity Zero Divide equal mless_equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1061
  HEN002_0_eq mless_equal Divide equal &
24128
wenzelm
parents: 24127
diff changeset
  1062
  (\<forall>X. equal(Divide(X::'a,identity),Zero)) &
wenzelm
parents: 24127
diff changeset
  1063
  (\<forall>X. equal(Divide(Zero::'a,X),Zero)) &
wenzelm
parents: 24127
diff changeset
  1064
  (\<forall>X. equal(Divide(X::'a,X),Zero)) &
wenzelm
parents: 24127
diff changeset
  1065
  (equal(Divide(a::'a,Zero),a)) &
wenzelm
parents: 24127
diff changeset
  1066
  (\<forall>Y X Z. mless_equal(X::'a,Y) & mless_equal(Y::'a,Z) --> mless_equal(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1067
  (\<forall>X Z Y. mless_equal(Divide(X::'a,Y),Z) --> mless_equal(Divide(X::'a,Z),Y)) &
wenzelm
parents: 24127
diff changeset
  1068
  (\<forall>Y Z X. mless_equal(X::'a,Y) --> mless_equal(Divide(Z::'a,Y),Divide(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  1069
  (mless_equal(a::'a,b)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1070
  (~mless_equal(Divide(a::'a,c),Divide(b::'a,c))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1071
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1072
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1073
(*3160 inferences so far.  Searching to depth 11.  3.5 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1074
lemma HEN009_5:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1075
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  1076
  (\<forall>Y X. equal(Divide(Divide(X::'a,Y),X),Zero)) &
wenzelm
parents: 24127
diff changeset
  1077
  (\<forall>X Y Z. equal(Divide(Divide(Divide(X::'a,Z),Divide(Y::'a,Z)),Divide(Divide(X::'a,Y),Z)),Zero)) &
wenzelm
parents: 24127
diff changeset
  1078
  (\<forall>X. equal(Divide(Zero::'a,X),Zero)) &
wenzelm
parents: 24127
diff changeset
  1079
  (\<forall>X Y. equal(Divide(X::'a,Y),Zero) & equal(Divide(Y::'a,X),Zero) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1080
  (\<forall>X. equal(Divide(X::'a,identity),Zero)) &
wenzelm
parents: 24127
diff changeset
  1081
  (\<forall>A B C. equal(A::'a,B) --> equal(Divide(A::'a,C),Divide(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  1082
  (\<forall>D F' E. equal(D::'a,E) --> equal(Divide(F'::'a,D),Divide(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  1083
  (\<forall>Y X Z. equal(Divide(X::'a,Y),Zero) & equal(Divide(Y::'a,Z),Zero) --> equal(Divide(X::'a,Z),Zero)) &
wenzelm
parents: 24127
diff changeset
  1084
  (\<forall>X Z Y. equal(Divide(Divide(X::'a,Y),Z),Zero) --> equal(Divide(Divide(X::'a,Z),Y),Zero)) &
wenzelm
parents: 24127
diff changeset
  1085
  (\<forall>Y Z X. equal(Divide(X::'a,Y),Zero) --> equal(Divide(Divide(Z::'a,Y),Divide(Z::'a,X)),Zero)) &
wenzelm
parents: 24127
diff changeset
  1086
  (~equal(Divide(identity::'a,a),Divide(identity::'a,Divide(identity::'a,Divide(identity::'a,a))))) &
wenzelm
parents: 24127
diff changeset
  1087
  (equal(Divide(identity::'a,a),b)) &
wenzelm
parents: 24127
diff changeset
  1088
  (equal(Divide(identity::'a,b),c)) &
wenzelm
parents: 24127
diff changeset
  1089
  (equal(Divide(identity::'a,c),d)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1090
  (~equal(b::'a,d)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1091
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1092
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1093
(*970373 inferences so far.  Searching to depth 17.  890.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1094
lemma HEN012_3:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1095
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1096
  HEN002_0_ax identity Zero Divide equal mless_equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1097
  HEN002_0_eq mless_equal Divide equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1098
  (~mless_equal(a::'a,a)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1099
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1100
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1101
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1102
(*1063 inferences so far.  Searching to depth 20.  1.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1103
lemma LCL010_1:
24128
wenzelm
parents: 24127
diff changeset
  1104
 "(\<forall>X Y. is_a_theorem(equivalent(X::'a,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &
wenzelm
parents: 24127
diff changeset
  1105
  (\<forall>X Z Y. is_a_theorem(equivalent(equivalent(X::'a,Y),equivalent(equivalent(X::'a,Z),equivalent(Z::'a,Y))))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1106
  (~is_a_theorem(equivalent(equivalent(a::'a,b),equivalent(equivalent(c::'a,b),equivalent(a::'a,c))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1107
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1108
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1109
(*2549 inferences so far.  Searching to depth 12.  1.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1110
lemma LCL077_2:
24128
wenzelm
parents: 24127
diff changeset
  1111
 "(\<forall>X Y. is_a_theorem(implies(X,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &
wenzelm
parents: 24127
diff changeset
  1112
  (\<forall>Y X. is_a_theorem(implies(X,implies(Y,X)))) &
wenzelm
parents: 24127
diff changeset
  1113
  (\<forall>Y X Z. is_a_theorem(implies(implies(X,implies(Y,Z)),implies(implies(X,Y),implies(X,Z))))) &
wenzelm
parents: 24127
diff changeset
  1114
  (\<forall>Y X. is_a_theorem(implies(implies(not(X),not(Y)),implies(Y,X)))) &
wenzelm
parents: 24127
diff changeset
  1115
  (\<forall>X2 X1 X3. is_a_theorem(implies(X1,X2)) & is_a_theorem(implies(X2,X3)) --> is_a_theorem(implies(X1,X3))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1116
  (~is_a_theorem(implies(not(not(a)),a))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1117
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1118
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1119
(*2036 inferences so far.  Searching to depth 20.  1.5 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1120
lemma LCL082_1:
24128
wenzelm
parents: 24127
diff changeset
  1121
 "(\<forall>X Y. is_a_theorem(implies(X::'a,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &
wenzelm
parents: 24127
diff changeset
  1122
  (\<forall>Y Z U X. is_a_theorem(implies(implies(implies(X::'a,Y),Z),implies(implies(Z::'a,X),implies(U::'a,X))))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1123
  (~is_a_theorem(implies(a::'a,implies(b::'a,a)))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1124
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1125
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1126
(*1100 inferences so far.  Searching to depth 13.  1.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1127
lemma LCL111_1:
24128
wenzelm
parents: 24127
diff changeset
  1128
 "(\<forall>X Y. is_a_theorem(implies(X,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &
wenzelm
parents: 24127
diff changeset
  1129
  (\<forall>Y X. is_a_theorem(implies(X,implies(Y,X)))) &
wenzelm
parents: 24127
diff changeset
  1130
  (\<forall>Y X Z. is_a_theorem(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z))))) &
wenzelm
parents: 24127
diff changeset
  1131
  (\<forall>Y X. is_a_theorem(implies(implies(implies(X,Y),Y),implies(implies(Y,X),X)))) &
wenzelm
parents: 24127
diff changeset
  1132
  (\<forall>Y X. is_a_theorem(implies(implies(not(X),not(Y)),implies(Y,X)))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1133
  (~is_a_theorem(implies(implies(a,b),implies(implies(c,a),implies(c,b))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1134
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1135
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1136
(*667 inferences so far.  Searching to depth 9.  1.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1137
lemma LCL143_1:
24128
wenzelm
parents: 24127
diff changeset
  1138
 "(\<forall>X. equal(X,X)) &
wenzelm
parents: 24127
diff changeset
  1139
  (\<forall>Y X. equal(X,Y) --> equal(Y,X)) &
wenzelm
parents: 24127
diff changeset
  1140
  (\<forall>Y X Z. equal(X,Y) & equal(Y,Z) --> equal(X,Z)) &
wenzelm
parents: 24127
diff changeset
  1141
  (\<forall>X. equal(implies(true,X),X)) &
wenzelm
parents: 24127
diff changeset
  1142
  (\<forall>Y X Z. equal(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z))),true)) &
wenzelm
parents: 24127
diff changeset
  1143
  (\<forall>Y X. equal(implies(implies(X,Y),Y),implies(implies(Y,X),X))) &
wenzelm
parents: 24127
diff changeset
  1144
  (\<forall>Y X. equal(implies(implies(not(X),not(Y)),implies(Y,X)),true)) &
wenzelm
parents: 24127
diff changeset
  1145
  (\<forall>A B C. equal(A,B) --> equal(implies(A,C),implies(B,C))) &
wenzelm
parents: 24127
diff changeset
  1146
  (\<forall>D F' E. equal(D,E) --> equal(implies(F',D),implies(F',E))) &
wenzelm
parents: 24127
diff changeset
  1147
  (\<forall>G H. equal(G,H) --> equal(not(G),not(H))) &
wenzelm
parents: 24127
diff changeset
  1148
  (\<forall>X Y. equal(big_V(X,Y),implies(implies(X,Y),Y))) &
wenzelm
parents: 24127
diff changeset
  1149
  (\<forall>X Y. equal(big_hat(X,Y),not(big_V(not(X),not(Y))))) &
wenzelm
parents: 24127
diff changeset
  1150
  (\<forall>X Y. ordered(X,Y) --> equal(implies(X,Y),true)) &
wenzelm
parents: 24127
diff changeset
  1151
  (\<forall>X Y. equal(implies(X,Y),true) --> ordered(X,Y)) &
wenzelm
parents: 24127
diff changeset
  1152
  (\<forall>A B C. equal(A,B) --> equal(big_V(A,C),big_V(B,C))) &
wenzelm
parents: 24127
diff changeset
  1153
  (\<forall>D F' E. equal(D,E) --> equal(big_V(F',D),big_V(F',E))) &
wenzelm
parents: 24127
diff changeset
  1154
  (\<forall>G H I'. equal(G,H) --> equal(big_hat(G,I'),big_hat(H,I'))) &
wenzelm
parents: 24127
diff changeset
  1155
  (\<forall>J L K'. equal(J,K') --> equal(big_hat(L,J),big_hat(L,K'))) &
wenzelm
parents: 24127
diff changeset
  1156
  (\<forall>M N O'. equal(M,N) & ordered(M,O') --> ordered(N,O')) &
wenzelm
parents: 24127
diff changeset
  1157
  (\<forall>P R Q. equal(P,Q) & ordered(R,P) --> ordered(R,Q)) &
wenzelm
parents: 24127
diff changeset
  1158
  (ordered(x,y)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1159
  (~ordered(implies(z,x),implies(z,y))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1160
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1161
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1162
(*5245 inferences so far.  Searching to depth 12.  4.6 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1163
lemma LCL182_1:
24128
wenzelm
parents: 24127
diff changeset
  1164
 "(\<forall>A. axiom(or(not(or(A,A)),A))) &
wenzelm
parents: 24127
diff changeset
  1165
  (\<forall>B A. axiom(or(not(A),or(B,A)))) &
wenzelm
parents: 24127
diff changeset
  1166
  (\<forall>B A. axiom(or(not(or(A,B)),or(B,A)))) &
wenzelm
parents: 24127
diff changeset
  1167
  (\<forall>B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &
wenzelm
parents: 24127
diff changeset
  1168
  (\<forall>A C B. axiom(or(not(or(not(A),B)),or(not(or(C,A)),or(C,B))))) &
wenzelm
parents: 24127
diff changeset
  1169
  (\<forall>X. axiom(X) --> theorem(X)) &
wenzelm
parents: 24127
diff changeset
  1170
  (\<forall>X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &
wenzelm
parents: 24127
diff changeset
  1171
  (\<forall>X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1172
  (~theorem(or(not(or(not(p),q)),or(not(not(q)),not(p))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1173
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1174
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1175
(*410 inferences so far.  Searching to depth 10.  0.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1176
lemma LCL200_1:
24128
wenzelm
parents: 24127
diff changeset
  1177
 "(\<forall>A. axiom(or(not(or(A,A)),A))) &
wenzelm
parents: 24127
diff changeset
  1178
  (\<forall>B A. axiom(or(not(A),or(B,A)))) &
wenzelm
parents: 24127
diff changeset
  1179
  (\<forall>B A. axiom(or(not(or(A,B)),or(B,A)))) &
wenzelm
parents: 24127
diff changeset
  1180
  (\<forall>B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &
wenzelm
parents: 24127
diff changeset
  1181
  (\<forall>A C B. axiom(or(not(or(not(A),B)),or(not(or(C,A)),or(C,B))))) &
wenzelm
parents: 24127
diff changeset
  1182
  (\<forall>X. axiom(X) --> theorem(X)) &
wenzelm
parents: 24127
diff changeset
  1183
  (\<forall>X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &
wenzelm
parents: 24127
diff changeset
  1184
  (\<forall>X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1185
  (~theorem(or(not(not(or(p,q))),not(q)))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1186
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1187
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1188
(*5849 inferences so far.  Searching to depth 12.  5.6 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1189
lemma LCL215_1:
24128
wenzelm
parents: 24127
diff changeset
  1190
 "(\<forall>A. axiom(or(not(or(A,A)),A))) &
wenzelm
parents: 24127
diff changeset
  1191
  (\<forall>B A. axiom(or(not(A),or(B,A)))) &
wenzelm
parents: 24127
diff changeset
  1192
  (\<forall>B A. axiom(or(not(or(A,B)),or(B,A)))) &
wenzelm
parents: 24127
diff changeset
  1193
  (\<forall>B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &
wenzelm
parents: 24127
diff changeset
  1194
  (\<forall>A C B. axiom(or(not(or(not(A),B)),or(not(or(C,A)),or(C,B))))) &
wenzelm
parents: 24127
diff changeset
  1195
  (\<forall>X. axiom(X) --> theorem(X)) &
wenzelm
parents: 24127
diff changeset
  1196
  (\<forall>X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &
wenzelm
parents: 24127
diff changeset
  1197
  (\<forall>X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1198
  (~theorem(or(not(or(not(p),q)),or(not(or(p,q)),q)))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1199
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1200
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1201
(*0 secs.  Not sure that a search even starts!*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1202
lemma LCL230_2:
24128
wenzelm
parents: 24127
diff changeset
  1203
  "(q --> p | r) &
wenzelm
parents: 24127
diff changeset
  1204
  (~p) &
wenzelm
parents: 24127
diff changeset
  1205
  (q) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1206
  (~r) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1207
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1208
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1209
(*119585 inferences so far.  Searching to depth 14.  262.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1210
lemma LDA003_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1211
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  1212
  (\<forall>Y X Z. equal(f(X::'a,f(Y::'a,Z)),f(f(X::'a,Y),f(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  1213
  (\<forall>X Y. left(X::'a,f(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1214
  (\<forall>Y X Z. left(X::'a,Y) & left(Y::'a,Z) --> left(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1215
  (equal(num2::'a,f(num1::'a,num1))) &
wenzelm
parents: 24127
diff changeset
  1216
  (equal(num3::'a,f(num2::'a,num1))) &
wenzelm
parents: 24127
diff changeset
  1217
  (equal(u::'a,f(num2::'a,num2))) &
wenzelm
parents: 24127
diff changeset
  1218
  (\<forall>A B C. equal(A::'a,B) --> equal(f(A::'a,C),f(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  1219
  (\<forall>D F' E. equal(D::'a,E) --> equal(f(F'::'a,D),f(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  1220
  (\<forall>G H I'. equal(G::'a,H) & left(G::'a,I') --> left(H::'a,I')) &
wenzelm
parents: 24127
diff changeset
  1221
  (\<forall>J L K'. equal(J::'a,K') & left(L::'a,J) --> left(L::'a,K')) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1222
  (~left(num3::'a,u)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1223
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1224
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1225
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1226
(*2392 inferences so far.  Searching to depth 12.  2.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1227
lemma MSC002_1:
24128
wenzelm
parents: 24127
diff changeset
  1228
 "(at(something::'a,here,now)) &
wenzelm
parents: 24127
diff changeset
  1229
  (\<forall>Place Situation. hand_at(Place::'a,Situation) --> hand_at(Place::'a,let_go(Situation))) &
wenzelm
parents: 24127
diff changeset
  1230
  (\<forall>Place Another_place Situation. hand_at(Place::'a,Situation) --> hand_at(Another_place::'a,go(Another_place::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1231
  (\<forall>Thing Situation. ~held(Thing::'a,let_go(Situation))) &
wenzelm
parents: 24127
diff changeset
  1232
  (\<forall>Situation Thing. at(Thing::'a,here,Situation) --> red(Thing)) &
wenzelm
parents: 24127
diff changeset
  1233
  (\<forall>Thing Place Situation. at(Thing::'a,Place,Situation) --> at(Thing::'a,Place,let_go(Situation))) &
wenzelm
parents: 24127
diff changeset
  1234
  (\<forall>Thing Place Situation. at(Thing::'a,Place,Situation) --> at(Thing::'a,Place,pick_up(Situation))) &
wenzelm
parents: 24127
diff changeset
  1235
  (\<forall>Thing Place Situation. at(Thing::'a,Place,Situation) --> grabbed(Thing::'a,pick_up(go(Place::'a,let_go(Situation))))) &
wenzelm
parents: 24127
diff changeset
  1236
  (\<forall>Thing Situation. red(Thing) & put(Thing::'a,there,Situation) --> answer(Situation)) &
wenzelm
parents: 24127
diff changeset
  1237
  (\<forall>Place Thing Another_place Situation. at(Thing::'a,Place,Situation) & grabbed(Thing::'a,Situation) --> put(Thing::'a,Another_place,go(Another_place::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1238
  (\<forall>Thing Place Another_place Situation. at(Thing::'a,Place,Situation) --> held(Thing::'a,Situation) | at(Thing::'a,Place,go(Another_place::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1239
  (\<forall>One_place Thing Place Situation. hand_at(One_place::'a,Situation) & held(Thing::'a,Situation) --> at(Thing::'a,Place,go(Place::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1240
  (\<forall>Place Thing Situation. hand_at(Place::'a,Situation) & at(Thing::'a,Place,Situation) --> held(Thing::'a,pick_up(Situation))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1241
  (\<forall>Situation. ~answer(Situation)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1242
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1243
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1244
(*73 inferences so far.  Searching to depth 10.  0.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1245
lemma MSC003_1:
24128
wenzelm
parents: 24127
diff changeset
  1246
  "(\<forall>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,mtimes(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &
wenzelm
parents: 24127
diff changeset
  1247
  (\<forall>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,mtimes(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &
wenzelm
parents: 24127
diff changeset
  1248
  (in'(john::'a,boy)) &
wenzelm
parents: 24127
diff changeset
  1249
  (\<forall>X. in'(X::'a,boy) --> in'(X::'a,human)) &
wenzelm
parents: 24127
diff changeset
  1250
  (\<forall>X. in'(X::'a,hand) --> has_parts(X::'a,num5,fingers)) &
wenzelm
parents: 24127
diff changeset
  1251
  (\<forall>X. in'(X::'a,human) --> has_parts(X::'a,num2,arm)) &
wenzelm
parents: 24127
diff changeset
  1252
  (\<forall>X. in'(X::'a,arm) --> has_parts(X::'a,num1,hand)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1253
  (~has_parts(john::'a,mtimes(num2::'a,num1),hand)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1254
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1255
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1256
(*1486 inferences so far.  Searching to depth 20.  1.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1257
lemma MSC004_1:
24128
wenzelm
parents: 24127
diff changeset
  1258
 "(\<forall>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,mtimes(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &
wenzelm
parents: 24127
diff changeset
  1259
  (\<forall>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,mtimes(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &
wenzelm
parents: 24127
diff changeset
  1260
  (in'(john::'a,boy)) &
wenzelm
parents: 24127
diff changeset
  1261
  (\<forall>X. in'(X::'a,boy) --> in'(X::'a,human)) &
wenzelm
parents: 24127
diff changeset
  1262
  (\<forall>X. in'(X::'a,hand) --> has_parts(X::'a,num5,fingers)) &
wenzelm
parents: 24127
diff changeset
  1263
  (\<forall>X. in'(X::'a,human) --> has_parts(X::'a,num2,arm)) &
wenzelm
parents: 24127
diff changeset
  1264
  (\<forall>X. in'(X::'a,arm) --> has_parts(X::'a,num1,hand)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1265
  (~has_parts(john::'a,mtimes(mtimes(num2::'a,num1),num5),fingers)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1266
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1267
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1268
(*100 inferences so far.  Searching to depth 12.  0.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1269
lemma MSC005_1:
24128
wenzelm
parents: 24127
diff changeset
  1270
  "(value(truth::'a,truth)) &
wenzelm
parents: 24127
diff changeset
  1271
  (value(falsity::'a,falsity)) &
wenzelm
parents: 24127
diff changeset
  1272
  (\<forall>X Y. value(X::'a,truth) & value(Y::'a,truth) --> value(xor(X::'a,Y),falsity)) &
wenzelm
parents: 24127
diff changeset
  1273
  (\<forall>X Y. value(X::'a,truth) & value(Y::'a,falsity) --> value(xor(X::'a,Y),truth)) &
wenzelm
parents: 24127
diff changeset
  1274
  (\<forall>X Y. value(X::'a,falsity) & value(Y::'a,truth) --> value(xor(X::'a,Y),truth)) &
wenzelm
parents: 24127
diff changeset
  1275
  (\<forall>X Y. value(X::'a,falsity) & value(Y::'a,falsity) --> value(xor(X::'a,Y),falsity)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1276
  (\<forall>Value. ~value(xor(xor(xor(xor(truth::'a,falsity),falsity),truth),falsity),Value)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1277
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1278
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1279
(*19116 inferences so far.  Searching to depth 16.  15.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1280
lemma MSC006_1:
24128
wenzelm
parents: 24127
diff changeset
  1281
 "(\<forall>Y X Z. p(X::'a,Y) & p(Y::'a,Z) --> p(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1282
  (\<forall>Y X Z. q(X::'a,Y) & q(Y::'a,Z) --> q(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1283
  (\<forall>Y X. q(X::'a,Y) --> q(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1284
  (\<forall>X Y. p(X::'a,Y) | q(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1285
  (~p(a::'a,b)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1286
  (~q(c::'a,d)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1287
   by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1288
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1289
(*1713 inferences so far.  Searching to depth 10.  2.8 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1290
lemma NUM001_1:
24128
wenzelm
parents: 24127
diff changeset
  1291
  "(\<forall>A. equal(A::'a,A)) &
wenzelm
parents: 24127
diff changeset
  1292
  (\<forall>B A C. equal(A::'a,B) & equal(B::'a,C) --> equal(A::'a,C)) &
wenzelm
parents: 24127
diff changeset
  1293
  (\<forall>B A. equal(add(A::'a,B),add(B::'a,A))) &
wenzelm
parents: 24127
diff changeset
  1294
  (\<forall>A B C. equal(add(A::'a,add(B::'a,C)),add(add(A::'a,B),C))) &
wenzelm
parents: 24127
diff changeset
  1295
  (\<forall>B A. equal(subtract(add(A::'a,B),B),A)) &
wenzelm
parents: 24127
diff changeset
  1296
  (\<forall>A B. equal(A::'a,subtract(add(A::'a,B),B))) &
wenzelm
parents: 24127
diff changeset
  1297
  (\<forall>A C B. equal(add(subtract(A::'a,B),C),subtract(add(A::'a,C),B))) &
wenzelm
parents: 24127
diff changeset
  1298
  (\<forall>A C B. equal(subtract(add(A::'a,B),C),add(subtract(A::'a,C),B))) &
wenzelm
parents: 24127
diff changeset
  1299
  (\<forall>A C B D. equal(A::'a,B) & equal(C::'a,add(A::'a,D)) --> equal(C::'a,add(B::'a,D))) &
wenzelm
parents: 24127
diff changeset
  1300
  (\<forall>A C D B. equal(A::'a,B) & equal(C::'a,add(D::'a,A)) --> equal(C::'a,add(D::'a,B))) &
wenzelm
parents: 24127
diff changeset
  1301
  (\<forall>A C B D. equal(A::'a,B) & equal(C::'a,subtract(A::'a,D)) --> equal(C::'a,subtract(B::'a,D))) &
wenzelm
parents: 24127
diff changeset
  1302
  (\<forall>A C D B. equal(A::'a,B) & equal(C::'a,subtract(D::'a,A)) --> equal(C::'a,subtract(D::'a,B))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1303
  (~equal(add(add(a::'a,b),c),add(a::'a,add(b::'a,c)))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1304
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1305
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1306
abbreviation "NUM001_0_ax multiply successor num0 add equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1307
  (\<forall>A. equal(add(A::'a,num0),A)) &
wenzelm
parents: 24127
diff changeset
  1308
  (\<forall>A B. equal(add(A::'a,successor(B)),successor(add(A::'a,B)))) &
wenzelm
parents: 24127
diff changeset
  1309
  (\<forall>A. equal(multiply(A::'a,num0),num0)) &
wenzelm
parents: 24127
diff changeset
  1310
  (\<forall>B A. equal(multiply(A::'a,successor(B)),add(multiply(A::'a,B),A))) &
wenzelm
parents: 24127
diff changeset
  1311
  (\<forall>A B. equal(successor(A),successor(B)) --> equal(A::'a,B)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1312
  (\<forall>A B. equal(A::'a,B) --> equal(successor(A),successor(B)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1313
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1314
abbreviation "NUM001_1_ax predecessor_of_1st_minus_2nd successor add equal mless \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1315
  (\<forall>A C B. mless(A::'a,B) & mless(C::'a,A) --> mless(C::'a,B)) &
wenzelm
parents: 24127
diff changeset
  1316
  (\<forall>A B C. equal(add(successor(A),B),C) --> mless(B::'a,C)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1317
  (\<forall>A B. mless(A::'a,B) --> equal(add(successor(predecessor_of_1st_minus_2nd(B::'a,A)),A),B))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1318
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1319
abbreviation "NUM001_2_ax equal mless divides \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1320
  (\<forall>A B. divides(A::'a,B) --> mless(A::'a,B) | equal(A::'a,B)) &
wenzelm
parents: 24127
diff changeset
  1321
  (\<forall>A B. mless(A::'a,B) --> divides(A::'a,B)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1322
  (\<forall>A B. equal(A::'a,B) --> divides(A::'a,B))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1323
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1324
(*20717 inferences so far.  Searching to depth 11.  13.7 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1325
lemma NUM021_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1326
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1327
  NUM001_0_ax multiply successor num0 add equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1328
  NUM001_1_ax predecessor_of_1st_minus_2nd successor add equal mless &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1329
  NUM001_2_ax equal mless divides &
24128
wenzelm
parents: 24127
diff changeset
  1330
  (mless(b::'a,c)) &
wenzelm
parents: 24127
diff changeset
  1331
   (~mless(b::'a,a)) &
wenzelm
parents: 24127
diff changeset
  1332
   (divides(c::'a,a)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1333
   (\<forall>A. ~equal(successor(A),num0)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1334
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1335
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1336
(*26320 inferences so far.  Searching to depth 10.  26.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1337
lemma NUM024_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1338
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1339
  NUM001_0_ax multiply successor num0 add equal &
24128
wenzelm
parents: 24127
diff changeset
  1340
  NUM001_1_ax predecessor_of_1st_minus_2nd successor add equal mless &
wenzelm
parents: 24127
diff changeset
  1341
  (\<forall>B A. equal(add(A::'a,B),add(B::'a,A))) &
wenzelm
parents: 24127
diff changeset
  1342
  (\<forall>B A C. equal(add(A::'a,B),add(C::'a,B)) --> equal(A::'a,C)) &
wenzelm
parents: 24127
diff changeset
  1343
  (mless(a::'a,a)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1344
  (\<forall>A. ~equal(successor(A),num0)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1345
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1346
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1347
abbreviation "SET004_0_ax not_homomorphism2 not_homomorphism1
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1348
    homomorphism compatible operation cantor diagonalise subset_relation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1349
    one_to_one choice apply regular function identity_relation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1350
    single_valued_class compos powerClass sum_class omega inductive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1351
    successor_relation successor image' rng domain range_of INVERSE flip
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1352
    rot domain_of null_class restrct difference union complement
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1353
    intersection element_relation second first cross_product ordered_pair
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1354
    singleton unordered_pair equal universal_class not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1355
    member subclass \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1356
  (\<forall>X U Y. subclass(X::'a,Y) & member(U::'a,X) --> member(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1357
  (\<forall>X Y. member(not_subclass_element(X::'a,Y),X) | subclass(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1358
  (\<forall>X Y. member(not_subclass_element(X::'a,Y),Y) --> subclass(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1359
  (\<forall>X. subclass(X::'a,universal_class)) &
wenzelm
parents: 24127
diff changeset
  1360
  (\<forall>X Y. equal(X::'a,Y) --> subclass(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1361
  (\<forall>Y X. equal(X::'a,Y) --> subclass(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1362
  (\<forall>X Y. subclass(X::'a,Y) & subclass(Y::'a,X) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1363
  (\<forall>X U Y. member(U::'a,unordered_pair(X::'a,Y)) --> equal(U::'a,X) | equal(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1364
  (\<forall>X Y. member(X::'a,universal_class) --> member(X::'a,unordered_pair(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1365
  (\<forall>X Y. member(Y::'a,universal_class) --> member(Y::'a,unordered_pair(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1366
  (\<forall>X Y. member(unordered_pair(X::'a,Y),universal_class)) &
wenzelm
parents: 24127
diff changeset
  1367
  (\<forall>X. equal(unordered_pair(X::'a,X),singleton(X))) &
wenzelm
parents: 24127
diff changeset
  1368
  (\<forall>X Y. equal(unordered_pair(singleton(X),unordered_pair(X::'a,singleton(Y))),ordered_pair(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1369
  (\<forall>V Y U X. member(ordered_pair(U::'a,V),cross_product(X::'a,Y)) --> member(U::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1370
  (\<forall>U X V Y. member(ordered_pair(U::'a,V),cross_product(X::'a,Y)) --> member(V::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1371
  (\<forall>U V X Y. member(U::'a,X) & member(V::'a,Y) --> member(ordered_pair(U::'a,V),cross_product(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1372
  (\<forall>X Y Z. member(Z::'a,cross_product(X::'a,Y)) --> equal(ordered_pair(first(Z),second(Z)),Z)) &
wenzelm
parents: 24127
diff changeset
  1373
  (subclass(element_relation::'a,cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1374
  (\<forall>X Y. member(ordered_pair(X::'a,Y),element_relation) --> member(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1375
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1376
  (\<forall>Y Z X. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1377
  (\<forall>X Z Y. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1378
  (\<forall>Z X Y. member(Z::'a,X) & member(Z::'a,Y) --> member(Z::'a,intersection(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1379
  (\<forall>Z X. ~(member(Z::'a,complement(X)) & member(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  1380
  (\<forall>Z X. member(Z::'a,universal_class) --> member(Z::'a,complement(X)) | member(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1381
  (\<forall>X Y. equal(complement(intersection(complement(X),complement(Y))),union(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1382
  (\<forall>X Y. equal(intersection(complement(intersection(X::'a,Y)),complement(intersection(complement(X),complement(Y)))),difference(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1383
  (\<forall>Xr X Y. equal(intersection(Xr::'a,cross_product(X::'a,Y)),restrct(Xr::'a,X,Y))) &
wenzelm
parents: 24127
diff changeset
  1384
  (\<forall>Xr X Y. equal(intersection(cross_product(X::'a,Y),Xr),restrct(Xr::'a,X,Y))) &
wenzelm
parents: 24127
diff changeset
  1385
  (\<forall>Z X. ~(equal(restrct(X::'a,singleton(Z),universal_class),null_class) & member(Z::'a,domain_of(X)))) &
wenzelm
parents: 24127
diff changeset
  1386
  (\<forall>Z X. member(Z::'a,universal_class) --> equal(restrct(X::'a,singleton(Z),universal_class),null_class) | member(Z::'a,domain_of(X))) &
wenzelm
parents: 24127
diff changeset
  1387
  (\<forall>X. subclass(rot(X),cross_product(cross_product(universal_class::'a,universal_class),universal_class))) &
wenzelm
parents: 24127
diff changeset
  1388
  (\<forall>V W U X. member(ordered_pair(ordered_pair(U::'a,V),W),rot(X)) --> member(ordered_pair(ordered_pair(V::'a,W),U),X)) &
wenzelm
parents: 24127
diff changeset
  1389
  (\<forall>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),rot(X))) &
wenzelm
parents: 24127
diff changeset
  1390
  (\<forall>X. subclass(flip(X),cross_product(cross_product(universal_class::'a,universal_class),universal_class))) &
wenzelm
parents: 24127
diff changeset
  1391
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1392
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  1393
  (\<forall>Y. equal(domain_of(flip(cross_product(Y::'a,universal_class))),INVERSE(Y))) &
wenzelm
parents: 24127
diff changeset
  1394
  (\<forall>Z. equal(domain_of(INVERSE(Z)),range_of(Z))) &
wenzelm
parents: 24127
diff changeset
  1395
  (\<forall>Z X Y. equal(first(not_subclass_element(restrct(Z::'a,X,singleton(Y)),null_class)),domain(Z::'a,X,Y))) &
wenzelm
parents: 24127
diff changeset
  1396
  (\<forall>Z X Y. equal(second(not_subclass_element(restrct(Z::'a,singleton(X),Y),null_class)),rng(Z::'a,X,Y))) &
wenzelm
parents: 24127
diff changeset
  1397
  (\<forall>Xr X. equal(range_of(restrct(Xr::'a,X,universal_class)),image'(Xr::'a,X))) &
wenzelm
parents: 24127
diff changeset
  1398
  (\<forall>X. equal(union(X::'a,singleton(X)),successor(X))) &
wenzelm
parents: 24127
diff changeset
  1399
  (subclass(successor_relation::'a,cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1400
  (\<forall>X Y. member(ordered_pair(X::'a,Y),successor_relation) --> equal(successor(X),Y)) &
wenzelm
parents: 24127
diff changeset
  1401
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1402
  (\<forall>X. inductive(X) --> member(null_class::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1403
  (\<forall>X. inductive(X) --> subclass(image'(successor_relation::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  1404
  (\<forall>X. member(null_class::'a,X) & subclass(image'(successor_relation::'a,X),X) --> inductive(X)) &
wenzelm
parents: 24127
diff changeset
  1405
  (inductive(omega)) &
wenzelm
parents: 24127
diff changeset
  1406
  (\<forall>Y. inductive(Y) --> subclass(omega::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1407
  (member(omega::'a,universal_class)) &
wenzelm
parents: 24127
diff changeset
  1408
  (\<forall>X. equal(domain_of(restrct(element_relation::'a,universal_class,X)),sum_class(X))) &
wenzelm
parents: 24127
diff changeset
  1409
  (\<forall>X. member(X::'a,universal_class) --> member(sum_class(X),universal_class)) &
wenzelm
parents: 24127
diff changeset
  1410
  (\<forall>X. equal(complement(image'(element_relation::'a,complement(X))),powerClass(X))) &
wenzelm
parents: 24127
diff changeset
  1411
  (\<forall>U. member(U::'a,universal_class) --> member(powerClass(U),universal_class)) &
wenzelm
parents: 24127
diff changeset
  1412
  (\<forall>Yr Xr. subclass(compos(Yr::'a,Xr),cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1413
  (\<forall>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))))) &
wenzelm
parents: 24127
diff changeset
  1414
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  1415
  (\<forall>X. single_valued_class(X) --> subclass(compos(X::'a,INVERSE(X)),identity_relation)) &
wenzelm
parents: 24127
diff changeset
  1416
  (\<forall>X. subclass(compos(X::'a,INVERSE(X)),identity_relation) --> single_valued_class(X)) &
wenzelm
parents: 24127
diff changeset
  1417
  (\<forall>Xf. function(Xf) --> subclass(Xf::'a,cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1418
  (\<forall>Xf. function(Xf) --> subclass(compos(Xf::'a,INVERSE(Xf)),identity_relation)) &
wenzelm
parents: 24127
diff changeset
  1419
  (\<forall>Xf. subclass(Xf::'a,cross_product(universal_class::'a,universal_class)) & subclass(compos(Xf::'a,INVERSE(Xf)),identity_relation) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  1420
  (\<forall>Xf X. function(Xf) & member(X::'a,universal_class) --> member(image'(Xf::'a,X),universal_class)) &
wenzelm
parents: 24127
diff changeset
  1421
  (\<forall>X. equal(X::'a,null_class) | member(regular(X),X)) &
wenzelm
parents: 24127
diff changeset
  1422
  (\<forall>X. equal(X::'a,null_class) | equal(intersection(X::'a,regular(X)),null_class)) &
wenzelm
parents: 24127
diff changeset
  1423
  (\<forall>Xf Y. equal(sum_class(image'(Xf::'a,singleton(Y))),apply(Xf::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1424
  (function(choice)) &
wenzelm
parents: 24127
diff changeset
  1425
  (\<forall>Y. member(Y::'a,universal_class) --> equal(Y::'a,null_class) | member(apply(choice::'a,Y),Y)) &
wenzelm
parents: 24127
diff changeset
  1426
  (\<forall>Xf. one_to_one(Xf) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  1427
  (\<forall>Xf. one_to_one(Xf) --> function(INVERSE(Xf))) &
wenzelm
parents: 24127
diff changeset
  1428
  (\<forall>Xf. function(INVERSE(Xf)) & function(Xf) --> one_to_one(Xf)) &
wenzelm
parents: 24127
diff changeset
  1429
  (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)) &
wenzelm
parents: 24127
diff changeset
  1430
  (equal(intersection(INVERSE(subset_relation),subset_relation),identity_relation)) &
wenzelm
parents: 24127
diff changeset
  1431
  (\<forall>Xr. equal(complement(domain_of(intersection(Xr::'a,identity_relation))),diagonalise(Xr))) &
wenzelm
parents: 24127
diff changeset
  1432
  (\<forall>X. equal(intersection(domain_of(X),diagonalise(compos(INVERSE(element_relation),X))),cantor(X))) &
wenzelm
parents: 24127
diff changeset
  1433
  (\<forall>Xf. operation(Xf) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  1434
  (\<forall>Xf. operation(Xf) --> equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf))) &
wenzelm
parents: 24127
diff changeset
  1435
  (\<forall>Xf. operation(Xf) --> subclass(range_of(Xf),domain_of(domain_of(Xf)))) &
wenzelm
parents: 24127
diff changeset
  1436
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1437
  (\<forall>Xf1 Xf2 Xh. compatible(Xh::'a,Xf1,Xf2) --> function(Xh)) &
wenzelm
parents: 24127
diff changeset
  1438
  (\<forall>Xf2 Xf1 Xh. compatible(Xh::'a,Xf1,Xf2) --> equal(domain_of(domain_of(Xf1)),domain_of(Xh))) &
wenzelm
parents: 24127
diff changeset
  1439
  (\<forall>Xf1 Xh Xf2. compatible(Xh::'a,Xf1,Xf2) --> subclass(range_of(Xh),domain_of(domain_of(Xf2)))) &
wenzelm
parents: 24127
diff changeset
  1440
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1441
  (\<forall>Xh Xf2 Xf1. homomorphism(Xh::'a,Xf1,Xf2) --> operation(Xf1)) &
wenzelm
parents: 24127
diff changeset
  1442
  (\<forall>Xh Xf1 Xf2. homomorphism(Xh::'a,Xf1,Xf2) --> operation(Xf2)) &
wenzelm
parents: 24127
diff changeset
  1443
  (\<forall>Xh Xf1 Xf2. homomorphism(Xh::'a,Xf1,Xf2) --> compatible(Xh::'a,Xf1,Xf2)) &
wenzelm
parents: 24127
diff changeset
  1444
  (\<forall>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))))) &
wenzelm
parents: 24127
diff changeset
  1445
  (\<forall>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)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1446
  (\<forall>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))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1447
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1448
abbreviation "SET004_0_eq subclass single_valued_class operation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1449
    one_to_one member inductive homomorphism function compatible
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1450
    unordered_pair union sum_class successor singleton second rot restrct
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1451
    regular range_of rng powerClass ordered_pair not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1452
    not_homomorphism2 not_homomorphism1 INVERSE intersection image' flip
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1453
    first domain_of domain difference diagonalise cross_product compos
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1454
    complement cantor apply equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1455
  (\<forall>D E F'. equal(D::'a,E) --> equal(apply(D::'a,F'),apply(E::'a,F'))) &
wenzelm
parents: 24127
diff changeset
  1456
  (\<forall>G I' H. equal(G::'a,H) --> equal(apply(I'::'a,G),apply(I'::'a,H))) &
wenzelm
parents: 24127
diff changeset
  1457
  (\<forall>J K'. equal(J::'a,K') --> equal(cantor(J),cantor(K'))) &
wenzelm
parents: 24127
diff changeset
  1458
  (\<forall>L M. equal(L::'a,M) --> equal(complement(L),complement(M))) &
wenzelm
parents: 24127
diff changeset
  1459
  (\<forall>N O' P. equal(N::'a,O') --> equal(compos(N::'a,P),compos(O'::'a,P))) &
wenzelm
parents: 24127
diff changeset
  1460
  (\<forall>Q S' R. equal(Q::'a,R) --> equal(compos(S'::'a,Q),compos(S'::'a,R))) &
wenzelm
parents: 24127
diff changeset
  1461
  (\<forall>T' U V. equal(T'::'a,U) --> equal(cross_product(T'::'a,V),cross_product(U::'a,V))) &
wenzelm
parents: 24127
diff changeset
  1462
  (\<forall>W Y X. equal(W::'a,X) --> equal(cross_product(Y::'a,W),cross_product(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  1463
  (\<forall>Z A1. equal(Z::'a,A1) --> equal(diagonalise(Z),diagonalise(A1))) &
wenzelm
parents: 24127
diff changeset
  1464
  (\<forall>B1 C1 D1. equal(B1::'a,C1) --> equal(difference(B1::'a,D1),difference(C1::'a,D1))) &
wenzelm
parents: 24127
diff changeset
  1465
  (\<forall>E1 G1 F1. equal(E1::'a,F1) --> equal(difference(G1::'a,E1),difference(G1::'a,F1))) &
wenzelm
parents: 24127
diff changeset
  1466
  (\<forall>H1 I1 J1 K1. equal(H1::'a,I1) --> equal(domain(H1::'a,J1,K1),domain(I1::'a,J1,K1))) &
wenzelm
parents: 24127
diff changeset
  1467
  (\<forall>L1 N1 M1 O1. equal(L1::'a,M1) --> equal(domain(N1::'a,L1,O1),domain(N1::'a,M1,O1))) &
wenzelm
parents: 24127
diff changeset
  1468
  (\<forall>P1 R1 S1 Q1. equal(P1::'a,Q1) --> equal(domain(R1::'a,S1,P1),domain(R1::'a,S1,Q1))) &
wenzelm
parents: 24127
diff changeset
  1469
  (\<forall>T1 U1. equal(T1::'a,U1) --> equal(domain_of(T1),domain_of(U1))) &
wenzelm
parents: 24127
diff changeset
  1470
  (\<forall>V1 W1. equal(V1::'a,W1) --> equal(first(V1),first(W1))) &
wenzelm
parents: 24127
diff changeset
  1471
  (\<forall>X1 Y1. equal(X1::'a,Y1) --> equal(flip(X1),flip(Y1))) &
wenzelm
parents: 24127
diff changeset
  1472
  (\<forall>Z1 A2 B2. equal(Z1::'a,A2) --> equal(image'(Z1::'a,B2),image'(A2::'a,B2))) &
wenzelm
parents: 24127
diff changeset
  1473
  (\<forall>C2 E2 D2. equal(C2::'a,D2) --> equal(image'(E2::'a,C2),image'(E2::'a,D2))) &
wenzelm
parents: 24127
diff changeset
  1474
  (\<forall>F2 G2 H2. equal(F2::'a,G2) --> equal(intersection(F2::'a,H2),intersection(G2::'a,H2))) &
wenzelm
parents: 24127
diff changeset
  1475
  (\<forall>I2 K2 J2. equal(I2::'a,J2) --> equal(intersection(K2::'a,I2),intersection(K2::'a,J2))) &
wenzelm
parents: 24127
diff changeset
  1476
  (\<forall>L2 M2. equal(L2::'a,M2) --> equal(INVERSE(L2),INVERSE(M2))) &
wenzelm
parents: 24127
diff changeset
  1477
  (\<forall>N2 O2 P2 Q2. equal(N2::'a,O2) --> equal(not_homomorphism1(N2::'a,P2,Q2),not_homomorphism1(O2::'a,P2,Q2))) &
wenzelm
parents: 24127
diff changeset
  1478
  (\<forall>R2 T2 S2 U2. equal(R2::'a,S2) --> equal(not_homomorphism1(T2::'a,R2,U2),not_homomorphism1(T2::'a,S2,U2))) &
wenzelm
parents: 24127
diff changeset
  1479
  (\<forall>V2 X2 Y2 W2. equal(V2::'a,W2) --> equal(not_homomorphism1(X2::'a,Y2,V2),not_homomorphism1(X2::'a,Y2,W2))) &
wenzelm
parents: 24127
diff changeset
  1480
  (\<forall>Z2 A3 B3 C3. equal(Z2::'a,A3) --> equal(not_homomorphism2(Z2::'a,B3,C3),not_homomorphism2(A3::'a,B3,C3))) &
wenzelm
parents: 24127
diff changeset
  1481
  (\<forall>D3 F3 E3 G3. equal(D3::'a,E3) --> equal(not_homomorphism2(F3::'a,D3,G3),not_homomorphism2(F3::'a,E3,G3))) &
wenzelm
parents: 24127
diff changeset
  1482
  (\<forall>H3 J3 K3 I3. equal(H3::'a,I3) --> equal(not_homomorphism2(J3::'a,K3,H3),not_homomorphism2(J3::'a,K3,I3))) &
wenzelm
parents: 24127
diff changeset
  1483
  (\<forall>L3 M3 N3. equal(L3::'a,M3) --> equal(not_subclass_element(L3::'a,N3),not_subclass_element(M3::'a,N3))) &
wenzelm
parents: 24127
diff changeset
  1484
  (\<forall>O3 Q3 P3. equal(O3::'a,P3) --> equal(not_subclass_element(Q3::'a,O3),not_subclass_element(Q3::'a,P3))) &
wenzelm
parents: 24127
diff changeset
  1485
  (\<forall>R3 S3 T3. equal(R3::'a,S3) --> equal(ordered_pair(R3::'a,T3),ordered_pair(S3::'a,T3))) &
wenzelm
parents: 24127
diff changeset
  1486
  (\<forall>U3 W3 V3. equal(U3::'a,V3) --> equal(ordered_pair(W3::'a,U3),ordered_pair(W3::'a,V3))) &
wenzelm
parents: 24127
diff changeset
  1487
  (\<forall>X3 Y3. equal(X3::'a,Y3) --> equal(powerClass(X3),powerClass(Y3))) &
wenzelm
parents: 24127
diff changeset
  1488
  (\<forall>Z3 A4 B4 C4. equal(Z3::'a,A4) --> equal(rng(Z3::'a,B4,C4),rng(A4::'a,B4,C4))) &
wenzelm
parents: 24127
diff changeset
  1489
  (\<forall>D4 F4 E4 G4. equal(D4::'a,E4) --> equal(rng(F4::'a,D4,G4),rng(F4::'a,E4,G4))) &
wenzelm
parents: 24127
diff changeset
  1490
  (\<forall>H4 J4 K4 I4. equal(H4::'a,I4) --> equal(rng(J4::'a,K4,H4),rng(J4::'a,K4,I4))) &
wenzelm
parents: 24127
diff changeset
  1491
  (\<forall>L4 M4. equal(L4::'a,M4) --> equal(range_of(L4),range_of(M4))) &
wenzelm
parents: 24127
diff changeset
  1492
  (\<forall>N4 O4. equal(N4::'a,O4) --> equal(regular(N4),regular(O4))) &
wenzelm
parents: 24127
diff changeset
  1493
  (\<forall>P4 Q4 R4 S4. equal(P4::'a,Q4) --> equal(restrct(P4::'a,R4,S4),restrct(Q4::'a,R4,S4))) &
wenzelm
parents: 24127
diff changeset
  1494
  (\<forall>T4 V4 U4 W4. equal(T4::'a,U4) --> equal(restrct(V4::'a,T4,W4),restrct(V4::'a,U4,W4))) &
wenzelm
parents: 24127
diff changeset
  1495
  (\<forall>X4 Z4 A5 Y4. equal(X4::'a,Y4) --> equal(restrct(Z4::'a,A5,X4),restrct(Z4::'a,A5,Y4))) &
wenzelm
parents: 24127
diff changeset
  1496
  (\<forall>B5 C5. equal(B5::'a,C5) --> equal(rot(B5),rot(C5))) &
wenzelm
parents: 24127
diff changeset
  1497
  (\<forall>D5 E5. equal(D5::'a,E5) --> equal(second(D5),second(E5))) &
wenzelm
parents: 24127
diff changeset
  1498
  (\<forall>F5 G5. equal(F5::'a,G5) --> equal(singleton(F5),singleton(G5))) &
wenzelm
parents: 24127
diff changeset
  1499
  (\<forall>H5 I5. equal(H5::'a,I5) --> equal(successor(H5),successor(I5))) &
wenzelm
parents: 24127
diff changeset
  1500
  (\<forall>J5 K5. equal(J5::'a,K5) --> equal(sum_class(J5),sum_class(K5))) &
wenzelm
parents: 24127
diff changeset
  1501
  (\<forall>L5 M5 N5. equal(L5::'a,M5) --> equal(union(L5::'a,N5),union(M5::'a,N5))) &
wenzelm
parents: 24127
diff changeset
  1502
  (\<forall>O5 Q5 P5. equal(O5::'a,P5) --> equal(union(Q5::'a,O5),union(Q5::'a,P5))) &
wenzelm
parents: 24127
diff changeset
  1503
  (\<forall>R5 S5 T5. equal(R5::'a,S5) --> equal(unordered_pair(R5::'a,T5),unordered_pair(S5::'a,T5))) &
wenzelm
parents: 24127
diff changeset
  1504
  (\<forall>U5 W5 V5. equal(U5::'a,V5) --> equal(unordered_pair(W5::'a,U5),unordered_pair(W5::'a,V5))) &
wenzelm
parents: 24127
diff changeset
  1505
  (\<forall>X5 Y5 Z5 A6. equal(X5::'a,Y5) & compatible(X5::'a,Z5,A6) --> compatible(Y5::'a,Z5,A6)) &
wenzelm
parents: 24127
diff changeset
  1506
  (\<forall>B6 D6 C6 E6. equal(B6::'a,C6) & compatible(D6::'a,B6,E6) --> compatible(D6::'a,C6,E6)) &
wenzelm
parents: 24127
diff changeset
  1507
  (\<forall>F6 H6 I6 G6. equal(F6::'a,G6) & compatible(H6::'a,I6,F6) --> compatible(H6::'a,I6,G6)) &
wenzelm
parents: 24127
diff changeset
  1508
  (\<forall>J6 K6. equal(J6::'a,K6) & function(J6) --> function(K6)) &
wenzelm
parents: 24127
diff changeset
  1509
  (\<forall>L6 M6 N6 O6. equal(L6::'a,M6) & homomorphism(L6::'a,N6,O6) --> homomorphism(M6::'a,N6,O6)) &
wenzelm
parents: 24127
diff changeset
  1510
  (\<forall>P6 R6 Q6 S6. equal(P6::'a,Q6) & homomorphism(R6::'a,P6,S6) --> homomorphism(R6::'a,Q6,S6)) &
wenzelm
parents: 24127
diff changeset
  1511
  (\<forall>T6 V6 W6 U6. equal(T6::'a,U6) & homomorphism(V6::'a,W6,T6) --> homomorphism(V6::'a,W6,U6)) &
wenzelm
parents: 24127
diff changeset
  1512
  (\<forall>X6 Y6. equal(X6::'a,Y6) & inductive(X6) --> inductive(Y6)) &
wenzelm
parents: 24127
diff changeset
  1513
  (\<forall>Z6 A7 B7. equal(Z6::'a,A7) & member(Z6::'a,B7) --> member(A7::'a,B7)) &
wenzelm
parents: 24127
diff changeset
  1514
  (\<forall>C7 E7 D7. equal(C7::'a,D7) & member(E7::'a,C7) --> member(E7::'a,D7)) &
wenzelm
parents: 24127
diff changeset
  1515
  (\<forall>F7 G7. equal(F7::'a,G7) & one_to_one(F7) --> one_to_one(G7)) &
wenzelm
parents: 24127
diff changeset
  1516
  (\<forall>H7 I7. equal(H7::'a,I7) & operation(H7) --> operation(I7)) &
wenzelm
parents: 24127
diff changeset
  1517
  (\<forall>J7 K7. equal(J7::'a,K7) & single_valued_class(J7) --> single_valued_class(K7)) &
wenzelm
parents: 24127
diff changeset
  1518
  (\<forall>L7 M7 N7. equal(L7::'a,M7) & subclass(L7::'a,N7) --> subclass(M7::'a,N7)) &
wenzelm
parents: 24127
diff changeset
  1519
  (\<forall>O7 Q7 P7. equal(O7::'a,P7) & subclass(Q7::'a,O7) --> subclass(Q7::'a,P7))"
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1520
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1521
abbreviation "SET004_1_ax range_of function maps apply
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1522
    application_function singleton_relation element_relation complement
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1523
    intersection single_valued3 singleton image' domain single_valued2
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1524
    second single_valued1 identity_relation INVERSE not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1525
    first domain_of domain_relation composition_function compos equal
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1526
    ordered_pair member universal_class cross_product compose_class
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1527
    subclass \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1528
  (\<forall>X. subclass(compose_class(X),cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1529
  (\<forall>X Y Z. member(ordered_pair(Y::'a,Z),compose_class(X)) --> equal(compos(X::'a,Y),Z)) &
wenzelm
parents: 24127
diff changeset
  1530
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  1531
  (subclass(composition_function::'a,cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class)))) &
wenzelm
parents: 24127
diff changeset
  1532
  (\<forall>X Y Z. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),composition_function) --> equal(compos(X::'a,Y),Z)) &
wenzelm
parents: 24127
diff changeset
  1533
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1534
  (subclass(domain_relation::'a,cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1535
  (\<forall>X Y. member(ordered_pair(X::'a,Y),domain_relation) --> equal(domain_of(X),Y)) &
wenzelm
parents: 24127
diff changeset
  1536
  (\<forall>X. member(X::'a,universal_class) --> member(ordered_pair(X::'a,domain_of(X)),domain_relation)) &
wenzelm
parents: 24127
diff changeset
  1537
  (\<forall>X. equal(first(not_subclass_element(compos(X::'a,INVERSE(X)),identity_relation)),single_valued1(X))) &
wenzelm
parents: 24127
diff changeset
  1538
  (\<forall>X. equal(second(not_subclass_element(compos(X::'a,INVERSE(X)),identity_relation)),single_valued2(X))) &
wenzelm
parents: 24127
diff changeset
  1539
  (\<forall>X. equal(domain(X::'a,image'(INVERSE(X),singleton(single_valued1(X))),single_valued2(X)),single_valued3(X))) &
wenzelm
parents: 24127
diff changeset
  1540
  (equal(intersection(complement(compos(element_relation::'a,complement(identity_relation))),element_relation),singleton_relation)) &
wenzelm
parents: 24127
diff changeset
  1541
  (subclass(application_function::'a,cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class)))) &
wenzelm
parents: 24127
diff changeset
  1542
  (\<forall>Z Y X. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),application_function) --> member(Y::'a,domain_of(X))) &
wenzelm
parents: 24127
diff changeset
  1543
  (\<forall>X Y Z. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),application_function) --> equal(apply(X::'a,Y),Z)) &
wenzelm
parents: 24127
diff changeset
  1544
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1545
  (\<forall>X Y Xf. maps(Xf::'a,X,Y) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  1546
  (\<forall>Y Xf X. maps(Xf::'a,X,Y) --> equal(domain_of(Xf),X)) &
wenzelm
parents: 24127
diff changeset
  1547
  (\<forall>X Xf Y. maps(Xf::'a,X,Y) --> subclass(range_of(Xf),Y)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1548
  (\<forall>Xf Y. function(Xf) & subclass(range_of(Xf),Y) --> maps(Xf::'a,domain_of(Xf),Y))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1549
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1550
abbreviation "SET004_1_eq maps single_valued3 single_valued2 single_valued1 compose_class equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1551
  (\<forall>L M. equal(L::'a,M) --> equal(compose_class(L),compose_class(M))) &
wenzelm
parents: 24127
diff changeset
  1552
  (\<forall>N2 O2. equal(N2::'a,O2) --> equal(single_valued1(N2),single_valued1(O2))) &
wenzelm
parents: 24127
diff changeset
  1553
  (\<forall>P2 Q2. equal(P2::'a,Q2) --> equal(single_valued2(P2),single_valued2(Q2))) &
wenzelm
parents: 24127
diff changeset
  1554
  (\<forall>R2 S2. equal(R2::'a,S2) --> equal(single_valued3(R2),single_valued3(S2))) &
wenzelm
parents: 24127
diff changeset
  1555
  (\<forall>X2 Y2 Z2 A3. equal(X2::'a,Y2) & maps(X2::'a,Z2,A3) --> maps(Y2::'a,Z2,A3)) &
wenzelm
parents: 24127
diff changeset
  1556
  (\<forall>B3 D3 C3 E3. equal(B3::'a,C3) & maps(D3::'a,B3,E3) --> maps(D3::'a,C3,E3)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1557
  (\<forall>F3 H3 I3 G3. equal(F3::'a,G3) & maps(H3::'a,I3,F3) --> maps(H3::'a,I3,G3))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1558
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1559
abbreviation "NUM004_0_ax integer_of omega ordinal_multiply
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1560
    add_relation ordinal_add recursion apply range_of union_of_range_map
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1561
    function recursion_equation_functions rest_relation rest_of
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1562
    limit_ordinals kind_1_ordinals successor_relation image'
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1563
    universal_class sum_class element_relation ordinal_numbers section
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1564
    not_well_ordering ordered_pair least member well_ordering singleton
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1565
    domain_of segment null_class intersection asymmetric compos transitive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1566
    cross_product connected identity_relation complement restrct subclass
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1567
    irreflexive symmetrization_of INVERSE union equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1568
  (\<forall>X. equal(union(X::'a,INVERSE(X)),symmetrization_of(X))) &
wenzelm
parents: 24127
diff changeset
  1569
  (\<forall>X Y. irreflexive(X::'a,Y) --> subclass(restrct(X::'a,Y,Y),complement(identity_relation))) &
wenzelm
parents: 24127
diff changeset
  1570
  (\<forall>X Y. subclass(restrct(X::'a,Y,Y),complement(identity_relation)) --> irreflexive(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1571
  (\<forall>Y X. connected(X::'a,Y) --> subclass(cross_product(Y::'a,Y),union(identity_relation::'a,symmetrization_of(X)))) &
wenzelm
parents: 24127
diff changeset
  1572
  (\<forall>X Y. subclass(cross_product(Y::'a,Y),union(identity_relation::'a,symmetrization_of(X))) --> connected(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1573
  (\<forall>Xr Y. transitive(Xr::'a,Y) --> subclass(compos(restrct(Xr::'a,Y,Y),restrct(Xr::'a,Y,Y)),restrct(Xr::'a,Y,Y))) &
wenzelm
parents: 24127
diff changeset
  1574
  (\<forall>Xr Y. subclass(compos(restrct(Xr::'a,Y,Y),restrct(Xr::'a,Y,Y)),restrct(Xr::'a,Y,Y)) --> transitive(Xr::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1575
  (\<forall>Xr Y. asymmetric(Xr::'a,Y) --> equal(restrct(intersection(Xr::'a,INVERSE(Xr)),Y,Y),null_class)) &
wenzelm
parents: 24127
diff changeset
  1576
  (\<forall>Xr Y. equal(restrct(intersection(Xr::'a,INVERSE(Xr)),Y,Y),null_class) --> asymmetric(Xr::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1577
  (\<forall>Xr Y Z. equal(segment(Xr::'a,Y,Z),domain_of(restrct(Xr::'a,Y,singleton(Z))))) &
wenzelm
parents: 24127
diff changeset
  1578
  (\<forall>X Y. well_ordering(X::'a,Y) --> connected(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1579
  (\<forall>Y Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) --> equal(U::'a,null_class) | member(least(Xr::'a,U),U)) &
wenzelm
parents: 24127
diff changeset
  1580
  (\<forall>Y V Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) & member(V::'a,U) --> member(least(Xr::'a,U),U)) &
wenzelm
parents: 24127
diff changeset
  1581
  (\<forall>Y Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) --> equal(segment(Xr::'a,U,least(Xr::'a,U)),null_class)) &
wenzelm
parents: 24127
diff changeset
  1582
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  1583
  (\<forall>Xr Y. connected(Xr::'a,Y) & equal(not_well_ordering(Xr::'a,Y),null_class) --> well_ordering(Xr::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1584
  (\<forall>Xr Y. connected(Xr::'a,Y) --> subclass(not_well_ordering(Xr::'a,Y),Y) | well_ordering(Xr::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1585
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1586
  (\<forall>Xr Y Z. section(Xr::'a,Y,Z) --> subclass(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1587
  (\<forall>Xr Z Y. section(Xr::'a,Y,Z) --> subclass(domain_of(restrct(Xr::'a,Z,Y)),Y)) &
wenzelm
parents: 24127
diff changeset
  1588
  (\<forall>Xr Y Z. subclass(Y::'a,Z) & subclass(domain_of(restrct(Xr::'a,Z,Y)),Y) --> section(Xr::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
  1589
  (\<forall>X. member(X::'a,ordinal_numbers) --> well_ordering(element_relation::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1590
  (\<forall>X. member(X::'a,ordinal_numbers) --> subclass(sum_class(X),X)) &
wenzelm
parents: 24127
diff changeset
  1591
  (\<forall>X. well_ordering(element_relation::'a,X) & subclass(sum_class(X),X) & member(X::'a,universal_class) --> member(X::'a,ordinal_numbers)) &
wenzelm
parents: 24127
diff changeset
  1592
  (\<forall>X. well_ordering(element_relation::'a,X) & subclass(sum_class(X),X) --> member(X::'a,ordinal_numbers) | equal(X::'a,ordinal_numbers)) &
wenzelm
parents: 24127
diff changeset
  1593
  (equal(union(singleton(null_class),image'(successor_relation::'a,ordinal_numbers)),kind_1_ordinals)) &
wenzelm
parents: 24127
diff changeset
  1594
  (equal(intersection(complement(kind_1_ordinals),ordinal_numbers),limit_ordinals)) &
wenzelm
parents: 24127
diff changeset
  1595
  (\<forall>X. subclass(rest_of(X),cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1596
  (\<forall>V U X. member(ordered_pair(U::'a,V),rest_of(X)) --> member(U::'a,domain_of(X))) &
wenzelm
parents: 24127
diff changeset
  1597
  (\<forall>X U V. member(ordered_pair(U::'a,V),rest_of(X)) --> equal(restrct(X::'a,U,universal_class),V)) &
wenzelm
parents: 24127
diff changeset
  1598
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  1599
  (subclass(rest_relation::'a,cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1600
  (\<forall>X Y. member(ordered_pair(X::'a,Y),rest_relation) --> equal(rest_of(X),Y)) &
wenzelm
parents: 24127
diff changeset
  1601
  (\<forall>X. member(X::'a,universal_class) --> member(ordered_pair(X::'a,rest_of(X)),rest_relation)) &
wenzelm
parents: 24127
diff changeset
  1602
  (\<forall>X Z. member(X::'a,recursion_equation_functions(Z)) --> function(Z)) &
wenzelm
parents: 24127
diff changeset
  1603
  (\<forall>Z X. member(X::'a,recursion_equation_functions(Z)) --> function(X)) &
wenzelm
parents: 24127
diff changeset
  1604
  (\<forall>Z X. member(X::'a,recursion_equation_functions(Z)) --> member(domain_of(X),ordinal_numbers)) &
wenzelm
parents: 24127
diff changeset
  1605
  (\<forall>Z X. member(X::'a,recursion_equation_functions(Z)) --> equal(compos(Z::'a,rest_of(X)),X)) &
wenzelm
parents: 24127
diff changeset
  1606
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  1607
  (subclass(union_of_range_map::'a,cross_product(universal_class::'a,universal_class))) &
wenzelm
parents: 24127
diff changeset
  1608
  (\<forall>X Y. member(ordered_pair(X::'a,Y),union_of_range_map) --> equal(sum_class(range_of(X)),Y)) &
wenzelm
parents: 24127
diff changeset
  1609
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  1610
  (\<forall>X Y. equal(apply(recursion(X::'a,successor_relation,union_of_range_map),Y),ordinal_add(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1611
  (\<forall>X Y. equal(recursion(null_class::'a,apply(add_relation::'a,X),union_of_range_map),ordinal_multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1612
  (\<forall>X. member(X::'a,omega) --> equal(integer_of(X),X)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1613
  (\<forall>X. member(X::'a,omega) | equal(integer_of(X),null_class))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1614
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1615
abbreviation "NUM004_0_eq well_ordering transitive section irreflexive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1616
    connected asymmetric symmetrization_of segment rest_of
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1617
    recursion_equation_functions recursion ordinal_multiply ordinal_add
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1618
    not_well_ordering least integer_of equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1619
  (\<forall>D E. equal(D::'a,E) --> equal(integer_of(D),integer_of(E))) &
wenzelm
parents: 24127
diff changeset
  1620
  (\<forall>F' G H. equal(F'::'a,G) --> equal(least(F'::'a,H),least(G::'a,H))) &
wenzelm
parents: 24127
diff changeset
  1621
  (\<forall>I' K' J. equal(I'::'a,J) --> equal(least(K'::'a,I'),least(K'::'a,J))) &
wenzelm
parents: 24127
diff changeset
  1622
  (\<forall>L M N. equal(L::'a,M) --> equal(not_well_ordering(L::'a,N),not_well_ordering(M::'a,N))) &
wenzelm
parents: 24127
diff changeset
  1623
  (\<forall>O' Q P. equal(O'::'a,P) --> equal(not_well_ordering(Q::'a,O'),not_well_ordering(Q::'a,P))) &
wenzelm
parents: 24127
diff changeset
  1624
  (\<forall>R S' T'. equal(R::'a,S') --> equal(ordinal_add(R::'a,T'),ordinal_add(S'::'a,T'))) &
wenzelm
parents: 24127
diff changeset
  1625
  (\<forall>U W V. equal(U::'a,V) --> equal(ordinal_add(W::'a,U),ordinal_add(W::'a,V))) &
wenzelm
parents: 24127
diff changeset
  1626
  (\<forall>X Y Z. equal(X::'a,Y) --> equal(ordinal_multiply(X::'a,Z),ordinal_multiply(Y::'a,Z))) &
wenzelm
parents: 24127
diff changeset
  1627
  (\<forall>A1 C1 B1. equal(A1::'a,B1) --> equal(ordinal_multiply(C1::'a,A1),ordinal_multiply(C1::'a,B1))) &
wenzelm
parents: 24127
diff changeset
  1628
  (\<forall>F1 G1 H1 I1. equal(F1::'a,G1) --> equal(recursion(F1::'a,H1,I1),recursion(G1::'a,H1,I1))) &
wenzelm
parents: 24127
diff changeset
  1629
  (\<forall>J1 L1 K1 M1. equal(J1::'a,K1) --> equal(recursion(L1::'a,J1,M1),recursion(L1::'a,K1,M1))) &
wenzelm
parents: 24127
diff changeset
  1630
  (\<forall>N1 P1 Q1 O1. equal(N1::'a,O1) --> equal(recursion(P1::'a,Q1,N1),recursion(P1::'a,Q1,O1))) &
wenzelm
parents: 24127
diff changeset
  1631
  (\<forall>R1 S1. equal(R1::'a,S1) --> equal(recursion_equation_functions(R1),recursion_equation_functions(S1))) &
wenzelm
parents: 24127
diff changeset
  1632
  (\<forall>T1 U1. equal(T1::'a,U1) --> equal(rest_of(T1),rest_of(U1))) &
wenzelm
parents: 24127
diff changeset
  1633
  (\<forall>V1 W1 X1 Y1. equal(V1::'a,W1) --> equal(segment(V1::'a,X1,Y1),segment(W1::'a,X1,Y1))) &
wenzelm
parents: 24127
diff changeset
  1634
  (\<forall>Z1 B2 A2 C2. equal(Z1::'a,A2) --> equal(segment(B2::'a,Z1,C2),segment(B2::'a,A2,C2))) &
wenzelm
parents: 24127
diff changeset
  1635
  (\<forall>D2 F2 G2 E2. equal(D2::'a,E2) --> equal(segment(F2::'a,G2,D2),segment(F2::'a,G2,E2))) &
wenzelm
parents: 24127
diff changeset
  1636
  (\<forall>H2 I2. equal(H2::'a,I2) --> equal(symmetrization_of(H2),symmetrization_of(I2))) &
wenzelm
parents: 24127
diff changeset
  1637
  (\<forall>J2 K2 L2. equal(J2::'a,K2) & asymmetric(J2::'a,L2) --> asymmetric(K2::'a,L2)) &
wenzelm
parents: 24127
diff changeset
  1638
  (\<forall>M2 O2 N2. equal(M2::'a,N2) & asymmetric(O2::'a,M2) --> asymmetric(O2::'a,N2)) &
wenzelm
parents: 24127
diff changeset
  1639
  (\<forall>P2 Q2 R2. equal(P2::'a,Q2) & connected(P2::'a,R2) --> connected(Q2::'a,R2)) &
wenzelm
parents: 24127
diff changeset
  1640
  (\<forall>S2 U2 T2. equal(S2::'a,T2) & connected(U2::'a,S2) --> connected(U2::'a,T2)) &
wenzelm
parents: 24127
diff changeset
  1641
  (\<forall>V2 W2 X2. equal(V2::'a,W2) & irreflexive(V2::'a,X2) --> irreflexive(W2::'a,X2)) &
wenzelm
parents: 24127
diff changeset
  1642
  (\<forall>Y2 A3 Z2. equal(Y2::'a,Z2) & irreflexive(A3::'a,Y2) --> irreflexive(A3::'a,Z2)) &
wenzelm
parents: 24127
diff changeset
  1643
  (\<forall>B3 C3 D3 E3. equal(B3::'a,C3) & section(B3::'a,D3,E3) --> section(C3::'a,D3,E3)) &
wenzelm
parents: 24127
diff changeset
  1644
  (\<forall>F3 H3 G3 I3. equal(F3::'a,G3) & section(H3::'a,F3,I3) --> section(H3::'a,G3,I3)) &
wenzelm
parents: 24127
diff changeset
  1645
  (\<forall>J3 L3 M3 K3. equal(J3::'a,K3) & section(L3::'a,M3,J3) --> section(L3::'a,M3,K3)) &
wenzelm
parents: 24127
diff changeset
  1646
  (\<forall>N3 O3 P3. equal(N3::'a,O3) & transitive(N3::'a,P3) --> transitive(O3::'a,P3)) &
wenzelm
parents: 24127
diff changeset
  1647
  (\<forall>Q3 S3 R3. equal(Q3::'a,R3) & transitive(S3::'a,Q3) --> transitive(S3::'a,R3)) &
wenzelm
parents: 24127
diff changeset
  1648
  (\<forall>T3 U3 V3. equal(T3::'a,U3) & well_ordering(T3::'a,V3) --> well_ordering(U3::'a,V3)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1649
  (\<forall>W3 Y3 X3. equal(W3::'a,X3) & well_ordering(Y3::'a,W3) --> well_ordering(Y3::'a,X3))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1650
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1651
(*1345 inferences so far.  Searching to depth 7.  23.3 secs.  BIG*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1652
lemma NUM180_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1653
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1654
  SET004_0_ax not_homomorphism2 not_homomorphism1
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1655
    homomorphism compatible operation cantor diagonalise subset_relation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1656
    one_to_one choice apply regular function identity_relation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1657
    single_valued_class compos powerClass sum_class omega inductive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1658
    successor_relation successor image' rng domain range_of INVERSE flip
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1659
    rot domain_of null_class restrct difference union complement
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1660
    intersection element_relation second first cross_product ordered_pair
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1661
    singleton unordered_pair equal universal_class not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1662
    member subclass &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1663
  SET004_0_eq subclass single_valued_class operation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1664
    one_to_one member inductive homomorphism function compatible
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1665
    unordered_pair union sum_class successor singleton second rot restrct
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1666
    regular range_of rng powerClass ordered_pair not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1667
    not_homomorphism2 not_homomorphism1 INVERSE intersection image' flip
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1668
    first domain_of domain difference diagonalise cross_product compos
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1669
    complement cantor apply equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1670
  SET004_1_ax range_of function maps apply
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1671
    application_function singleton_relation element_relation complement
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1672
    intersection single_valued3 singleton image' domain single_valued2
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1673
    second single_valued1 identity_relation INVERSE not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1674
    first domain_of domain_relation composition_function compos equal
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1675
    ordered_pair member universal_class cross_product compose_class
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1676
    subclass &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1677
  SET004_1_eq maps single_valued3 single_valued2 single_valued1 compose_class equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1678
  NUM004_0_ax integer_of omega ordinal_multiply
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1679
    add_relation ordinal_add recursion apply range_of union_of_range_map
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1680
    function recursion_equation_functions rest_relation rest_of
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1681
    limit_ordinals kind_1_ordinals successor_relation image'
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1682
    universal_class sum_class element_relation ordinal_numbers section
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1683
    not_well_ordering ordered_pair least member well_ordering singleton
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1684
    domain_of segment null_class intersection asymmetric compos transitive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1685
    cross_product connected identity_relation complement restrct subclass
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1686
    irreflexive symmetrization_of INVERSE union equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1687
  NUM004_0_eq well_ordering transitive section irreflexive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1688
    connected asymmetric symmetrization_of segment rest_of
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1689
    recursion_equation_functions recursion ordinal_multiply ordinal_add
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1690
    not_well_ordering least integer_of equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1691
  (~subclass(limit_ordinals::'a,ordinal_numbers)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1692
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1693
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1694
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1695
(*0 inferences so far.  Searching to depth 0.  16.8 secs.  BIG*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1696
lemma NUM228_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1697
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1698
  SET004_0_ax not_homomorphism2 not_homomorphism1
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1699
    homomorphism compatible operation cantor diagonalise subset_relation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1700
    one_to_one choice apply regular function identity_relation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1701
    single_valued_class compos powerClass sum_class omega inductive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1702
    successor_relation successor image' rng domain range_of INVERSE flip
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1703
    rot domain_of null_class restrct difference union complement
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1704
    intersection element_relation second first cross_product ordered_pair
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1705
    singleton unordered_pair equal universal_class not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1706
    member subclass &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1707
  SET004_0_eq subclass single_valued_class operation
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1708
    one_to_one member inductive homomorphism function compatible
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1709
    unordered_pair union sum_class successor singleton second rot restrct
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1710
    regular range_of rng powerClass ordered_pair not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1711
    not_homomorphism2 not_homomorphism1 INVERSE intersection image' flip
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1712
    first domain_of domain difference diagonalise cross_product compos
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1713
    complement cantor apply equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1714
  SET004_1_ax range_of function maps apply
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1715
    application_function singleton_relation element_relation complement
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1716
    intersection single_valued3 singleton image' domain single_valued2
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1717
    second single_valued1 identity_relation INVERSE not_subclass_element
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1718
    first domain_of domain_relation composition_function compos equal
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1719
    ordered_pair member universal_class cross_product compose_class
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1720
    subclass &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1721
  SET004_1_eq maps single_valued3 single_valued2 single_valued1 compose_class equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1722
  NUM004_0_ax integer_of omega ordinal_multiply
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1723
    add_relation ordinal_add recursion apply range_of union_of_range_map
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1724
    function recursion_equation_functions rest_relation rest_of
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1725
    limit_ordinals kind_1_ordinals successor_relation image'
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1726
    universal_class sum_class element_relation ordinal_numbers section
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1727
    not_well_ordering ordered_pair least member well_ordering singleton
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1728
    domain_of segment null_class intersection asymmetric compos transitive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1729
    cross_product connected identity_relation complement restrct subclass
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1730
    irreflexive symmetrization_of INVERSE union equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1731
  NUM004_0_eq well_ordering transitive section irreflexive
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1732
    connected asymmetric symmetrization_of segment rest_of
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1733
    recursion_equation_functions recursion ordinal_multiply ordinal_add
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1734
    not_well_ordering least integer_of equal &
24128
wenzelm
parents: 24127
diff changeset
  1735
  (~function(z)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1736
    (~equal(recursion_equation_functions(z),null_class)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1737
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1738
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1739
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1740
(*4868 inferences so far.  Searching to depth 12.  4.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1741
lemma PLA002_1:
24128
wenzelm
parents: 24127
diff changeset
  1742
  "(\<forall>Situation1 Situation2. warm(Situation1) | cold(Situation2)) &
wenzelm
parents: 24127
diff changeset
  1743
  (\<forall>Situation. at(a::'a,Situation) --> at(b::'a,walk(b::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1744
  (\<forall>Situation. at(a::'a,Situation) --> at(b::'a,drive(b::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1745
  (\<forall>Situation. at(b::'a,Situation) --> at(a::'a,walk(a::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1746
  (\<forall>Situation. at(b::'a,Situation) --> at(a::'a,drive(a::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1747
  (\<forall>Situation. cold(Situation) & at(b::'a,Situation) --> at(c::'a,skate(c::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1748
  (\<forall>Situation. cold(Situation) & at(c::'a,Situation) --> at(b::'a,skate(b::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1749
  (\<forall>Situation. warm(Situation) & at(b::'a,Situation) --> at(d::'a,climb(d::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1750
  (\<forall>Situation. warm(Situation) & at(d::'a,Situation) --> at(b::'a,climb(b::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1751
  (\<forall>Situation. at(c::'a,Situation) --> at(d::'a,go(d::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1752
  (\<forall>Situation. at(d::'a,Situation) --> at(c::'a,go(c::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1753
  (\<forall>Situation. at(c::'a,Situation) --> at(e::'a,go(e::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1754
  (\<forall>Situation. at(e::'a,Situation) --> at(c::'a,go(c::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1755
  (\<forall>Situation. at(d::'a,Situation) --> at(f::'a,go(f::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1756
  (\<forall>Situation. at(f::'a,Situation) --> at(d::'a,go(d::'a,Situation))) &
wenzelm
parents: 24127
diff changeset
  1757
  (at(f::'a,s0)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1758
  (\<forall>S'. ~at(a::'a,S')) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1759
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1760
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1761
abbreviation "PLA001_0_ax putdown on pickup do holding table differ clear EMPTY and' holds \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1762
  (\<forall>X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &
wenzelm
parents: 24127
diff changeset
  1763
  (\<forall>State X. holds(EMPTY::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &
wenzelm
parents: 24127
diff changeset
  1764
  (\<forall>Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(EMPTY::'a,State) --> holds(clear(Y),do(pickup(X),State))) &
wenzelm
parents: 24127
diff changeset
  1765
  (\<forall>Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) &
wenzelm
parents: 24127
diff changeset
  1766
  (\<forall>State X Z. holds(clear(X),State) & differ(X::'a,Z) --> holds(clear(X),do(pickup(Z),State))) &
wenzelm
parents: 24127
diff changeset
  1767
  (\<forall>X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(EMPTY::'a,do(putdown(X::'a,Y),State))) &
wenzelm
parents: 24127
diff changeset
  1768
  (\<forall>X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(on(X::'a,Y),do(putdown(X::'a,Y),State))) &
wenzelm
parents: 24127
diff changeset
  1769
  (\<forall>X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(clear(X),do(putdown(X::'a,Y),State))) &
wenzelm
parents: 24127
diff changeset
  1770
  (\<forall>Z W X Y State. holds(on(X::'a,Y),State) --> holds(on(X::'a,Y),do(putdown(Z::'a,W),State))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1771
  (\<forall>X State Z Y. holds(clear(Z),State) & differ(Z::'a,Y) --> holds(clear(Z),do(putdown(X::'a,Y),State)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1772
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1773
abbreviation "PLA001_1_ax EMPTY clear s0 on holds table d c b a differ \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1774
  (\<forall>Y X. differ(Y::'a,X) --> differ(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1775
  (differ(a::'a,b)) &
wenzelm
parents: 24127
diff changeset
  1776
  (differ(a::'a,c)) &
wenzelm
parents: 24127
diff changeset
  1777
  (differ(a::'a,d)) &
wenzelm
parents: 24127
diff changeset
  1778
  (differ(a::'a,table)) &
wenzelm
parents: 24127
diff changeset
  1779
  (differ(b::'a,c)) &
wenzelm
parents: 24127
diff changeset
  1780
  (differ(b::'a,d)) &
wenzelm
parents: 24127
diff changeset
  1781
  (differ(b::'a,table)) &
wenzelm
parents: 24127
diff changeset
  1782
  (differ(c::'a,d)) &
wenzelm
parents: 24127
diff changeset
  1783
  (differ(c::'a,table)) &
wenzelm
parents: 24127
diff changeset
  1784
  (differ(d::'a,table)) &
wenzelm
parents: 24127
diff changeset
  1785
  (holds(on(a::'a,table),s0)) &
wenzelm
parents: 24127
diff changeset
  1786
  (holds(on(b::'a,table),s0)) &
wenzelm
parents: 24127
diff changeset
  1787
  (holds(on(c::'a,d),s0)) &
wenzelm
parents: 24127
diff changeset
  1788
  (holds(on(d::'a,table),s0)) &
wenzelm
parents: 24127
diff changeset
  1789
  (holds(clear(a),s0)) &
wenzelm
parents: 24127
diff changeset
  1790
  (holds(clear(b),s0)) &
wenzelm
parents: 24127
diff changeset
  1791
  (holds(clear(c),s0)) &
wenzelm
parents: 24127
diff changeset
  1792
  (holds(EMPTY::'a,s0)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1793
  (\<forall>State. holds(clear(table),State))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1794
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1795
(*190 inferences so far.  Searching to depth 10.  0.6 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1796
lemma PLA006_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1797
  "PLA001_0_ax putdown on pickup do holding table differ clear EMPTY and' holds &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1798
  PLA001_1_ax EMPTY clear s0 on holds table d c b a differ &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1799
  (\<forall>State. ~holds(on(c::'a,table),State)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1800
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1801
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1802
(*190 inferences so far.  Searching to depth 10.  0.5 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1803
lemma PLA017_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1804
  "PLA001_0_ax putdown on pickup do holding table differ clear EMPTY and' holds &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1805
  PLA001_1_ax EMPTY clear s0 on holds table d c b a differ &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1806
  (\<forall>State. ~holds(on(a::'a,c),State)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1807
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1808
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1809
(*13732 inferences so far.  Searching to depth 16.  9.8 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1810
lemma PLA022_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1811
  "PLA001_0_ax putdown on pickup do holding table differ clear EMPTY and' holds &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1812
  PLA001_1_ax EMPTY clear s0 on holds table d c b a differ &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1813
  (\<forall>State. ~holds(and'(on(c::'a,d),on(a::'a,c)),State)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1814
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1815
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1816
(*217 inferences so far.  Searching to depth 13.  0.7 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1817
lemma PLA022_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1818
  "PLA001_0_ax putdown on pickup do holding table differ clear EMPTY and' holds &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1819
  PLA001_1_ax EMPTY clear s0 on holds table d c b a differ &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1820
  (\<forall>State. ~holds(and'(on(a::'a,c),on(c::'a,d)),State)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1821
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1822
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1823
(*948 inferences so far.  Searching to depth 18.  1.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1824
lemma PRV001_1:
24128
wenzelm
parents: 24127
diff changeset
  1825
 "(\<forall>X Y Z. q1(X::'a,Y,Z) & mless_or_equal(X::'a,Y) --> q2(X::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
  1826
  (\<forall>X Y Z. q1(X::'a,Y,Z) --> mless_or_equal(X::'a,Y) | q3(X::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
  1827
  (\<forall>Z X Y. q2(X::'a,Y,Z) --> q4(X::'a,Y,Y)) &
wenzelm
parents: 24127
diff changeset
  1828
  (\<forall>Z Y X. q3(X::'a,Y,Z) --> q4(X::'a,Y,X)) &
wenzelm
parents: 24127
diff changeset
  1829
  (\<forall>X. mless_or_equal(X::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1830
  (\<forall>X Y. mless_or_equal(X::'a,Y) & mless_or_equal(Y::'a,X) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1831
  (\<forall>Y X Z. mless_or_equal(X::'a,Y) & mless_or_equal(Y::'a,Z) --> mless_or_equal(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1832
  (\<forall>Y X. mless_or_equal(X::'a,Y) | mless_or_equal(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1833
  (\<forall>X Y. equal(X::'a,Y) --> mless_or_equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1834
  (\<forall>X Y Z. equal(X::'a,Y) & mless_or_equal(X::'a,Z) --> mless_or_equal(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1835
  (\<forall>X Z Y. equal(X::'a,Y) & mless_or_equal(Z::'a,X) --> mless_or_equal(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1836
  (q1(a::'a,b,c)) &
wenzelm
parents: 24127
diff changeset
  1837
  (\<forall>W. ~(q4(a::'a,b,W) & mless_or_equal(a::'a,W) & mless_or_equal(b::'a,W) & mless_or_equal(W::'a,a))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1838
  (\<forall>W. ~(q4(a::'a,b,W) & mless_or_equal(a::'a,W) & mless_or_equal(b::'a,W) & mless_or_equal(W::'a,b))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1839
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1840
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1841
(*PRV is now called SWV (software verification) *)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1842
abbreviation "SWV001_1_ax mless_THAN successor predecessor equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1843
  (\<forall>X. equal(predecessor(successor(X)),X)) &
wenzelm
parents: 24127
diff changeset
  1844
  (\<forall>X. equal(successor(predecessor(X)),X)) &
wenzelm
parents: 24127
diff changeset
  1845
  (\<forall>X Y. equal(predecessor(X),predecessor(Y)) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1846
  (\<forall>X Y. equal(successor(X),successor(Y)) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1847
  (\<forall>X. mless_THAN(predecessor(X),X)) &
wenzelm
parents: 24127
diff changeset
  1848
  (\<forall>X. mless_THAN(X::'a,successor(X))) &
wenzelm
parents: 24127
diff changeset
  1849
  (\<forall>X Y Z. mless_THAN(X::'a,Y) & mless_THAN(Y::'a,Z) --> mless_THAN(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1850
  (\<forall>X Y. mless_THAN(X::'a,Y) | mless_THAN(Y::'a,X) | equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1851
  (\<forall>X. ~mless_THAN(X::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1852
  (\<forall>Y X. ~(mless_THAN(X::'a,Y) & mless_THAN(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  1853
  (\<forall>Y X Z. equal(X::'a,Y) & mless_THAN(X::'a,Z) --> mless_THAN(Y::'a,Z)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1854
  (\<forall>Y Z X. equal(X::'a,Y) & mless_THAN(Z::'a,X) --> mless_THAN(Z::'a,Y))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1855
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1856
abbreviation "SWV001_0_eq a successor predecessor equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  1857
  (\<forall>X Y. equal(X::'a,Y) --> equal(predecessor(X),predecessor(Y))) &
wenzelm
parents: 24127
diff changeset
  1858
  (\<forall>X Y. equal(X::'a,Y) --> equal(successor(X),successor(Y))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1859
  (\<forall>X Y. equal(X::'a,Y) --> equal(a(X),a(Y)))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1860
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1861
(*21 inferences so far.  Searching to depth 5.  0.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1862
lemma PRV003_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1863
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1864
  SWV001_1_ax mless_THAN successor predecessor equal &
24128
wenzelm
parents: 24127
diff changeset
  1865
  SWV001_0_eq a successor predecessor equal &
wenzelm
parents: 24127
diff changeset
  1866
  (~mless_THAN(n::'a,j)) &
wenzelm
parents: 24127
diff changeset
  1867
  (mless_THAN(k::'a,j)) &
wenzelm
parents: 24127
diff changeset
  1868
  (~mless_THAN(k::'a,i)) &
wenzelm
parents: 24127
diff changeset
  1869
  (mless_THAN(i::'a,n)) &
wenzelm
parents: 24127
diff changeset
  1870
  (mless_THAN(a(j),a(k))) &
wenzelm
parents: 24127
diff changeset
  1871
  (\<forall>X. mless_THAN(X::'a,j) & mless_THAN(a(X),a(k)) --> mless_THAN(X::'a,i)) &
wenzelm
parents: 24127
diff changeset
  1872
  (\<forall>X. mless_THAN(One::'a,i) & mless_THAN(a(X),a(predecessor(i))) --> mless_THAN(X::'a,i) | mless_THAN(n::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1873
  (\<forall>X. ~(mless_THAN(One::'a,X) & mless_THAN(X::'a,i) & mless_THAN(a(X),a(predecessor(X))))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1874
  (mless_THAN(j::'a,i)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1875
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1876
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1877
(*584 inferences so far.  Searching to depth 7.  1.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1878
lemma PRV005_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1879
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1880
  SWV001_1_ax mless_THAN successor predecessor equal &
24128
wenzelm
parents: 24127
diff changeset
  1881
  SWV001_0_eq a successor predecessor equal &
wenzelm
parents: 24127
diff changeset
  1882
  (~mless_THAN(n::'a,k)) &
wenzelm
parents: 24127
diff changeset
  1883
  (~mless_THAN(k::'a,l)) &
wenzelm
parents: 24127
diff changeset
  1884
  (~mless_THAN(k::'a,i)) &
wenzelm
parents: 24127
diff changeset
  1885
  (mless_THAN(l::'a,n)) &
wenzelm
parents: 24127
diff changeset
  1886
  (mless_THAN(One::'a,l)) &
wenzelm
parents: 24127
diff changeset
  1887
  (mless_THAN(a(k),a(predecessor(l)))) &
wenzelm
parents: 24127
diff changeset
  1888
  (\<forall>X. mless_THAN(X::'a,successor(n)) & mless_THAN(a(X),a(k)) --> mless_THAN(X::'a,l)) &
wenzelm
parents: 24127
diff changeset
  1889
  (\<forall>X. mless_THAN(One::'a,l) & mless_THAN(a(X),a(predecessor(l))) --> mless_THAN(X::'a,l) | mless_THAN(n::'a,X)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1890
  (\<forall>X. ~(mless_THAN(One::'a,X) & mless_THAN(X::'a,l) & mless_THAN(a(X),a(predecessor(X))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1891
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1892
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1893
(*2343 inferences so far.  Searching to depth 8.  3.5 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1894
lemma PRV006_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1895
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1896
  SWV001_1_ax mless_THAN successor predecessor equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1897
  SWV001_0_eq a successor predecessor equal &
24128
wenzelm
parents: 24127
diff changeset
  1898
  (~mless_THAN(n::'a,m)) &
wenzelm
parents: 24127
diff changeset
  1899
  (mless_THAN(i::'a,m)) &
wenzelm
parents: 24127
diff changeset
  1900
  (mless_THAN(i::'a,n)) &
wenzelm
parents: 24127
diff changeset
  1901
  (~mless_THAN(i::'a,One)) &
wenzelm
parents: 24127
diff changeset
  1902
  (mless_THAN(a(i),a(m))) &
wenzelm
parents: 24127
diff changeset
  1903
  (\<forall>X. mless_THAN(X::'a,successor(n)) & mless_THAN(a(X),a(m)) --> mless_THAN(X::'a,i)) &
wenzelm
parents: 24127
diff changeset
  1904
  (\<forall>X. mless_THAN(One::'a,i) & mless_THAN(a(X),a(predecessor(i))) --> mless_THAN(X::'a,i) | mless_THAN(n::'a,X)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1905
  (\<forall>X. ~(mless_THAN(One::'a,X) & mless_THAN(X::'a,i) & mless_THAN(a(X),a(predecessor(X))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1906
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1907
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1908
(*86 inferences so far.  Searching to depth 14.  0.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1909
lemma PRV009_1:
24128
wenzelm
parents: 24127
diff changeset
  1910
  "(\<forall>Y X. mless_or_equal(X::'a,Y) | mless(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1911
  (mless(j::'a,i)) &
wenzelm
parents: 24127
diff changeset
  1912
  (mless_or_equal(m::'a,p)) &
wenzelm
parents: 24127
diff changeset
  1913
  (mless_or_equal(p::'a,q)) &
wenzelm
parents: 24127
diff changeset
  1914
  (mless_or_equal(q::'a,n)) &
wenzelm
parents: 24127
diff changeset
  1915
  (\<forall>X Y. mless_or_equal(m::'a,X) & mless(X::'a,i) & mless(j::'a,Y) & mless_or_equal(Y::'a,n) --> mless_or_equal(a(X),a(Y))) &
wenzelm
parents: 24127
diff changeset
  1916
  (\<forall>X Y. mless_or_equal(m::'a,X) & mless_or_equal(X::'a,Y) & mless_or_equal(Y::'a,j) --> mless_or_equal(a(X),a(Y))) &
wenzelm
parents: 24127
diff changeset
  1917
  (\<forall>X Y. mless_or_equal(i::'a,X) & mless_or_equal(X::'a,Y) & mless_or_equal(Y::'a,n) --> mless_or_equal(a(X),a(Y))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1918
  (~mless_or_equal(a(p),a(q))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1919
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1920
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1921
(*222 inferences so far.  Searching to depth 8.  0.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1922
lemma PUZ012_1:
24128
wenzelm
parents: 24127
diff changeset
  1923
  "(\<forall>X. equal_fruits(X::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1924
  (\<forall>X. equal_boxes(X::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1925
  (\<forall>X Y. ~(label(X::'a,Y) & contains(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1926
  (\<forall>X. contains(boxa::'a,X) | contains(boxb::'a,X) | contains(boxc::'a,X)) &
wenzelm
parents: 24127
diff changeset
  1927
  (\<forall>X. contains(X::'a,apples) | contains(X::'a,bananas) | contains(X::'a,oranges)) &
wenzelm
parents: 24127
diff changeset
  1928
  (\<forall>X Y Z. contains(X::'a,Y) & contains(X::'a,Z) --> equal_fruits(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1929
  (\<forall>Y X Z. contains(X::'a,Y) & contains(Z::'a,Y) --> equal_boxes(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1930
  (~equal_boxes(boxa::'a,boxb)) &
wenzelm
parents: 24127
diff changeset
  1931
  (~equal_boxes(boxb::'a,boxc)) &
wenzelm
parents: 24127
diff changeset
  1932
  (~equal_boxes(boxa::'a,boxc)) &
wenzelm
parents: 24127
diff changeset
  1933
  (~equal_fruits(apples::'a,bananas)) &
wenzelm
parents: 24127
diff changeset
  1934
  (~equal_fruits(bananas::'a,oranges)) &
wenzelm
parents: 24127
diff changeset
  1935
  (~equal_fruits(apples::'a,oranges)) &
wenzelm
parents: 24127
diff changeset
  1936
  (label(boxa::'a,apples)) &
wenzelm
parents: 24127
diff changeset
  1937
  (label(boxb::'a,oranges)) &
wenzelm
parents: 24127
diff changeset
  1938
  (label(boxc::'a,bananas)) &
wenzelm
parents: 24127
diff changeset
  1939
  (contains(boxb::'a,apples)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1940
  (~(contains(boxa::'a,bananas) & contains(boxc::'a,oranges))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1941
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1942
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1943
(*35 inferences so far.  Searching to depth 5.  3.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1944
lemma PUZ020_1:
24128
wenzelm
parents: 24127
diff changeset
  1945
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  1946
  (\<forall>A B. equal(A::'a,B) --> equal(statement_by(A),statement_by(B))) &
wenzelm
parents: 24127
diff changeset
  1947
  (\<forall>X. person(X) --> knight(X) | knave(X)) &
wenzelm
parents: 24127
diff changeset
  1948
  (\<forall>X. ~(person(X) & knight(X) & knave(X))) &
wenzelm
parents: 24127
diff changeset
  1949
  (\<forall>X Y. says(X::'a,Y) & a_truth(Y) --> a_truth(Y)) &
wenzelm
parents: 24127
diff changeset
  1950
  (\<forall>X Y. ~(says(X::'a,Y) & equal(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1951
  (\<forall>Y X. says(X::'a,Y) --> equal(Y::'a,statement_by(X))) &
wenzelm
parents: 24127
diff changeset
  1952
  (\<forall>X Y. ~(person(X) & equal(X::'a,statement_by(Y)))) &
wenzelm
parents: 24127
diff changeset
  1953
  (\<forall>X. person(X) & a_truth(statement_by(X)) --> knight(X)) &
wenzelm
parents: 24127
diff changeset
  1954
  (\<forall>X. person(X) --> a_truth(statement_by(X)) | knave(X)) &
wenzelm
parents: 24127
diff changeset
  1955
  (\<forall>X Y. equal(X::'a,Y) & knight(X) --> knight(Y)) &
wenzelm
parents: 24127
diff changeset
  1956
  (\<forall>X Y. equal(X::'a,Y) & knave(X) --> knave(Y)) &
wenzelm
parents: 24127
diff changeset
  1957
  (\<forall>X Y. equal(X::'a,Y) & person(X) --> person(Y)) &
wenzelm
parents: 24127
diff changeset
  1958
  (\<forall>X Y Z. equal(X::'a,Y) & says(X::'a,Z) --> says(Y::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  1959
  (\<forall>X Z Y. equal(X::'a,Y) & says(Z::'a,X) --> says(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  1960
  (\<forall>X Y. equal(X::'a,Y) & a_truth(X) --> a_truth(Y)) &
wenzelm
parents: 24127
diff changeset
  1961
  (\<forall>X Y. knight(X) & says(X::'a,Y) --> a_truth(Y)) &
wenzelm
parents: 24127
diff changeset
  1962
  (\<forall>X Y. ~(knave(X) & says(X::'a,Y) & a_truth(Y))) &
wenzelm
parents: 24127
diff changeset
  1963
  (person(husband)) &
wenzelm
parents: 24127
diff changeset
  1964
  (person(wife)) &
wenzelm
parents: 24127
diff changeset
  1965
  (~equal(husband::'a,wife)) &
wenzelm
parents: 24127
diff changeset
  1966
  (says(husband::'a,statement_by(husband))) &
wenzelm
parents: 24127
diff changeset
  1967
  (a_truth(statement_by(husband)) & knight(husband) --> knight(wife)) &
wenzelm
parents: 24127
diff changeset
  1968
  (knight(husband) --> a_truth(statement_by(husband))) &
wenzelm
parents: 24127
diff changeset
  1969
  (a_truth(statement_by(husband)) | knight(wife)) &
wenzelm
parents: 24127
diff changeset
  1970
  (knight(wife) --> a_truth(statement_by(husband))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1971
  (~knight(husband)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1972
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1973
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1974
(*121806 inferences so far.  Searching to depth 17.  63.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1975
lemma PUZ025_1:
24128
wenzelm
parents: 24127
diff changeset
  1976
  "(\<forall>X. a_truth(truthteller(X)) | a_truth(liar(X))) &
wenzelm
parents: 24127
diff changeset
  1977
  (\<forall>X. ~(a_truth(truthteller(X)) & a_truth(liar(X)))) &
wenzelm
parents: 24127
diff changeset
  1978
  (\<forall>Truthteller Statement. a_truth(truthteller(Truthteller)) & a_truth(says(Truthteller::'a,Statement)) --> a_truth(Statement)) &
wenzelm
parents: 24127
diff changeset
  1979
  (\<forall>Liar Statement. ~(a_truth(liar(Liar)) & a_truth(says(Liar::'a,Statement)) & a_truth(Statement))) &
wenzelm
parents: 24127
diff changeset
  1980
  (\<forall>Statement Truthteller. a_truth(Statement) & a_truth(says(Truthteller::'a,Statement)) --> a_truth(truthteller(Truthteller))) &
wenzelm
parents: 24127
diff changeset
  1981
  (\<forall>Statement Liar. a_truth(says(Liar::'a,Statement)) --> a_truth(Statement) | a_truth(liar(Liar))) &
wenzelm
parents: 24127
diff changeset
  1982
  (\<forall>Z X Y. people(X::'a,Y,Z) & a_truth(liar(X)) & a_truth(liar(Y)) --> a_truth(equal_type(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1983
  (\<forall>Z X Y. people(X::'a,Y,Z) & a_truth(truthteller(X)) & a_truth(truthteller(Y)) --> a_truth(equal_type(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  1984
  (\<forall>X Y. a_truth(equal_type(X::'a,Y)) & a_truth(truthteller(X)) --> a_truth(truthteller(Y))) &
wenzelm
parents: 24127
diff changeset
  1985
  (\<forall>X Y. a_truth(equal_type(X::'a,Y)) & a_truth(liar(X)) --> a_truth(liar(Y))) &
wenzelm
parents: 24127
diff changeset
  1986
  (\<forall>X Y. a_truth(truthteller(X)) --> a_truth(equal_type(X::'a,Y)) | a_truth(liar(Y))) &
wenzelm
parents: 24127
diff changeset
  1987
  (\<forall>X Y. a_truth(liar(X)) --> a_truth(equal_type(X::'a,Y)) | a_truth(truthteller(Y))) &
wenzelm
parents: 24127
diff changeset
  1988
  (\<forall>Y X. a_truth(equal_type(X::'a,Y)) --> a_truth(equal_type(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  1989
  (\<forall>X Y. ask_1_if_2(X::'a,Y) & a_truth(truthteller(X)) & a_truth(Y) --> answer(yes)) &
wenzelm
parents: 24127
diff changeset
  1990
  (\<forall>X Y. ask_1_if_2(X::'a,Y) & a_truth(truthteller(X)) --> a_truth(Y) | answer(no)) &
wenzelm
parents: 24127
diff changeset
  1991
  (\<forall>X Y. ask_1_if_2(X::'a,Y) & a_truth(liar(X)) & a_truth(Y) --> answer(no)) &
wenzelm
parents: 24127
diff changeset
  1992
  (\<forall>X Y. ask_1_if_2(X::'a,Y) & a_truth(liar(X)) --> a_truth(Y) | answer(yes)) &
wenzelm
parents: 24127
diff changeset
  1993
  (people(b::'a,c,a)) &
wenzelm
parents: 24127
diff changeset
  1994
  (people(a::'a,b,a)) &
wenzelm
parents: 24127
diff changeset
  1995
  (people(a::'a,c,b)) &
wenzelm
parents: 24127
diff changeset
  1996
  (people(c::'a,b,a)) &
wenzelm
parents: 24127
diff changeset
  1997
  (a_truth(says(a::'a,equal_type(b::'a,c)))) &
wenzelm
parents: 24127
diff changeset
  1998
  (ask_1_if_2(c::'a,equal_type(a::'a,b))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  1999
  (\<forall>Answer. ~answer(Answer)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2000
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2001
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2002
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2003
(*621 inferences so far.  Searching to depth 18.  0.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2004
lemma PUZ029_1:
24128
wenzelm
parents: 24127
diff changeset
  2005
 "(\<forall>X. dances_on_tightropes(X) | eats_pennybuns(X) | old(X)) &
wenzelm
parents: 24127
diff changeset
  2006
  (\<forall>X. pig(X) & liable_to_giddiness(X) --> treated_with_respect(X)) &
wenzelm
parents: 24127
diff changeset
  2007
  (\<forall>X. wise(X) & balloonist(X) --> has_umbrella(X)) &
wenzelm
parents: 24127
diff changeset
  2008
  (\<forall>X. ~(looks_ridiculous(X) & eats_pennybuns(X) & eats_lunch_in_public(X))) &
wenzelm
parents: 24127
diff changeset
  2009
  (\<forall>X. balloonist(X) & young(X) --> liable_to_giddiness(X)) &
wenzelm
parents: 24127
diff changeset
  2010
  (\<forall>X. fat(X) & looks_ridiculous(X) --> dances_on_tightropes(X) | eats_lunch_in_public(X)) &
wenzelm
parents: 24127
diff changeset
  2011
  (\<forall>X. ~(liable_to_giddiness(X) & wise(X) & dances_on_tightropes(X))) &
wenzelm
parents: 24127
diff changeset
  2012
  (\<forall>X. pig(X) & has_umbrella(X) --> looks_ridiculous(X)) &
wenzelm
parents: 24127
diff changeset
  2013
  (\<forall>X. treated_with_respect(X) --> dances_on_tightropes(X) | fat(X)) &
wenzelm
parents: 24127
diff changeset
  2014
  (\<forall>X. young(X) | old(X)) &
wenzelm
parents: 24127
diff changeset
  2015
  (\<forall>X. ~(young(X) & old(X))) &
wenzelm
parents: 24127
diff changeset
  2016
  (wise(piggy)) &
wenzelm
parents: 24127
diff changeset
  2017
  (young(piggy)) &
wenzelm
parents: 24127
diff changeset
  2018
  (pig(piggy)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2019
  (balloonist(piggy)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2020
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2021
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2022
abbreviation "RNG001_0_ax equal additive_inverse add multiply product additive_identity sum \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  2023
  (\<forall>X. sum(additive_identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
  2024
  (\<forall>X. sum(X::'a,additive_identity,X)) &
wenzelm
parents: 24127
diff changeset
  2025
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2026
  (\<forall>X Y. sum(X::'a,Y,add(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2027
  (\<forall>X. sum(additive_inverse(X),X,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2028
  (\<forall>X. sum(X::'a,additive_inverse(X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2029
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2030
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2031
  (\<forall>Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &
wenzelm
parents: 24127
diff changeset
  2032
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2033
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2034
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2035
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2036
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2037
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2038
  (\<forall>X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2039
  (\<forall>X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2040
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2041
abbreviation "RNG001_0_eq product multiply sum add additive_inverse equal \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  2042
  (\<forall>X Y. equal(X::'a,Y) --> equal(additive_inverse(X),additive_inverse(Y))) &
wenzelm
parents: 24127
diff changeset
  2043
  (\<forall>X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
  2044
  (\<forall>X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2045
  (\<forall>X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
  2046
  (\<forall>X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
  2047
  (\<forall>X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
  2048
  (\<forall>X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
  2049
  (\<forall>X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2050
  (\<forall>X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
  2051
  (\<forall>X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2052
  (\<forall>X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2053
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2054
(*93620 inferences so far.  Searching to depth 24.  65.9 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2055
lemma RNG001_3:
24128
wenzelm
parents: 24127
diff changeset
  2056
 "(\<forall>X. sum(additive_identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
  2057
  (\<forall>X. sum(additive_inverse(X),X,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2058
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2059
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2060
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2061
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2062
  (\<forall>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)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2063
  (~product(a::'a,additive_identity,additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2064
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2065
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2066
abbreviation "RNG_other_ax multiply add equal product additive_identity additive_inverse sum \<equiv>
24128
wenzelm
parents: 24127
diff changeset
  2067
  (\<forall>X. sum(X::'a,additive_inverse(X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2068
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2069
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2070
  (\<forall>Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &
wenzelm
parents: 24127
diff changeset
  2071
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2072
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2073
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2074
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2075
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2076
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2077
  (\<forall>X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &
wenzelm
parents: 24127
diff changeset
  2078
  (\<forall>X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &
wenzelm
parents: 24127
diff changeset
  2079
  (\<forall>X Y. equal(X::'a,Y) --> equal(additive_inverse(X),additive_inverse(Y))) &
wenzelm
parents: 24127
diff changeset
  2080
  (\<forall>X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
  2081
  (\<forall>X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
  2082
  (\<forall>X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &
wenzelm
parents: 24127
diff changeset
  2083
  (\<forall>X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &
wenzelm
parents: 24127
diff changeset
  2084
  (\<forall>X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &
wenzelm
parents: 24127
diff changeset
  2085
  (\<forall>X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &
wenzelm
parents: 24127
diff changeset
  2086
  (\<forall>X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2087
  (\<forall>X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y))"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2088
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2089
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2090
(****************SLOW
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2091
76385914 inferences so far.  Searching to depth 18
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2092
No proof after 5 1/2 hours! (griffon)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2093
****************)
24128
wenzelm
parents: 24127
diff changeset
  2094
lemma RNG001_5:
wenzelm
parents: 24127
diff changeset
  2095
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  2096
  (\<forall>X. sum(additive_identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
  2097
  (\<forall>X. sum(X::'a,additive_identity,X)) &
wenzelm
parents: 24127
diff changeset
  2098
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2099
  (\<forall>X Y. sum(X::'a,Y,add(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2100
  (\<forall>X. sum(additive_inverse(X),X,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2101
  RNG_other_ax multiply add equal product additive_identity additive_inverse sum &
wenzelm
parents: 24127
diff changeset
  2102
  (~product(a::'a,additive_identity,additive_identity)) --> False"
wenzelm
parents: 24127
diff changeset
  2103
  oops
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2104
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2105
(*0 inferences so far.  Searching to depth 0.  0.5 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2106
lemma RNG011_5:
24128
wenzelm
parents: 24127
diff changeset
  2107
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  2108
  (\<forall>A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2109
  (\<forall>D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2110
  (\<forall>G H. equal(G::'a,H) --> equal(additive_inverse(G),additive_inverse(H))) &
wenzelm
parents: 24127
diff changeset
  2111
  (\<forall>I' J K'. equal(I'::'a,J) --> equal(multiply(I'::'a,K'),multiply(J::'a,K'))) &
wenzelm
parents: 24127
diff changeset
  2112
  (\<forall>L N M. equal(L::'a,M) --> equal(multiply(N::'a,L),multiply(N::'a,M))) &
wenzelm
parents: 24127
diff changeset
  2113
  (\<forall>A B C D. equal(A::'a,B) --> equal(associator(A::'a,C,D),associator(B::'a,C,D))) &
wenzelm
parents: 24127
diff changeset
  2114
  (\<forall>E G F' H. equal(E::'a,F') --> equal(associator(G::'a,E,H),associator(G::'a,F',H))) &
wenzelm
parents: 24127
diff changeset
  2115
  (\<forall>I' K' L J. equal(I'::'a,J) --> equal(associator(K'::'a,L,I'),associator(K'::'a,L,J))) &
wenzelm
parents: 24127
diff changeset
  2116
  (\<forall>M N O'. equal(M::'a,N) --> equal(commutator(M::'a,O'),commutator(N::'a,O'))) &
wenzelm
parents: 24127
diff changeset
  2117
  (\<forall>P R Q. equal(P::'a,Q) --> equal(commutator(R::'a,P),commutator(R::'a,Q))) &
wenzelm
parents: 24127
diff changeset
  2118
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2119
  (\<forall>X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2120
  (\<forall>X. equal(add(X::'a,additive_identity),X)) &
wenzelm
parents: 24127
diff changeset
  2121
  (\<forall>X. equal(add(additive_identity::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2122
  (\<forall>X. equal(add(X::'a,additive_inverse(X)),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2123
  (\<forall>X. equal(add(additive_inverse(X),X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2124
  (equal(additive_inverse(additive_identity),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2125
  (\<forall>X Y. equal(add(X::'a,add(additive_inverse(X),Y)),Y)) &
wenzelm
parents: 24127
diff changeset
  2126
  (\<forall>X Y. equal(additive_inverse(add(X::'a,Y)),add(additive_inverse(X),additive_inverse(Y)))) &
wenzelm
parents: 24127
diff changeset
  2127
  (\<forall>X. equal(additive_inverse(additive_inverse(X)),X)) &
wenzelm
parents: 24127
diff changeset
  2128
  (\<forall>X. equal(multiply(X::'a,additive_identity),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2129
  (\<forall>X. equal(multiply(additive_identity::'a,X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2130
  (\<forall>X Y. equal(multiply(additive_inverse(X),additive_inverse(Y)),multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2131
  (\<forall>X Y. equal(multiply(X::'a,additive_inverse(Y)),additive_inverse(multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2132
  (\<forall>X Y. equal(multiply(additive_inverse(X),Y),additive_inverse(multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2133
  (\<forall>Y X Z. equal(multiply(X::'a,add(Y::'a,Z)),add(multiply(X::'a,Y),multiply(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2134
  (\<forall>X Y Z. equal(multiply(add(X::'a,Y),Z),add(multiply(X::'a,Z),multiply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2135
  (\<forall>X Y. equal(multiply(multiply(X::'a,Y),Y),multiply(X::'a,multiply(Y::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2136
  (\<forall>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)))))) &
wenzelm
parents: 24127
diff changeset
  2137
  (\<forall>X Y. equal(commutator(X::'a,Y),add(multiply(Y::'a,X),additive_inverse(multiply(X::'a,Y))))) &
wenzelm
parents: 24127
diff changeset
  2138
  (\<forall>X Y. equal(multiply(multiply(associator(X::'a,X,Y),X),associator(X::'a,X,Y)),additive_identity)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2139
  (~equal(multiply(multiply(associator(a::'a,a,b),a),associator(a::'a,a,b)),additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2140
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2141
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2142
(*202 inferences so far.  Searching to depth 8.  0.6 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2143
lemma RNG023_6:
24128
wenzelm
parents: 24127
diff changeset
  2144
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  2145
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2146
  (\<forall>X Y Z. equal(add(X::'a,add(Y::'a,Z)),add(add(X::'a,Y),Z))) &
wenzelm
parents: 24127
diff changeset
  2147
  (\<forall>X. equal(add(additive_identity::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2148
  (\<forall>X. equal(add(X::'a,additive_identity),X)) &
wenzelm
parents: 24127
diff changeset
  2149
  (\<forall>X. equal(multiply(additive_identity::'a,X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2150
  (\<forall>X. equal(multiply(X::'a,additive_identity),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2151
  (\<forall>X. equal(add(additive_inverse(X),X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2152
  (\<forall>X. equal(add(X::'a,additive_inverse(X)),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2153
  (\<forall>Y X Z. equal(multiply(X::'a,add(Y::'a,Z)),add(multiply(X::'a,Y),multiply(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2154
  (\<forall>X Y Z. equal(multiply(add(X::'a,Y),Z),add(multiply(X::'a,Z),multiply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2155
  (\<forall>X. equal(additive_inverse(additive_inverse(X)),X)) &
wenzelm
parents: 24127
diff changeset
  2156
  (\<forall>X Y. equal(multiply(multiply(X::'a,Y),Y),multiply(X::'a,multiply(Y::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2157
  (\<forall>X Y. equal(multiply(multiply(X::'a,X),Y),multiply(X::'a,multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2158
  (\<forall>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)))))) &
wenzelm
parents: 24127
diff changeset
  2159
  (\<forall>X Y. equal(commutator(X::'a,Y),add(multiply(Y::'a,X),additive_inverse(multiply(X::'a,Y))))) &
wenzelm
parents: 24127
diff changeset
  2160
  (\<forall>D E F'. equal(D::'a,E) --> equal(add(D::'a,F'),add(E::'a,F'))) &
wenzelm
parents: 24127
diff changeset
  2161
  (\<forall>G I' H. equal(G::'a,H) --> equal(add(I'::'a,G),add(I'::'a,H))) &
wenzelm
parents: 24127
diff changeset
  2162
  (\<forall>J K'. equal(J::'a,K') --> equal(additive_inverse(J),additive_inverse(K'))) &
wenzelm
parents: 24127
diff changeset
  2163
  (\<forall>L M N O'. equal(L::'a,M) --> equal(associator(L::'a,N,O'),associator(M::'a,N,O'))) &
wenzelm
parents: 24127
diff changeset
  2164
  (\<forall>P R Q S'. equal(P::'a,Q) --> equal(associator(R::'a,P,S'),associator(R::'a,Q,S'))) &
wenzelm
parents: 24127
diff changeset
  2165
  (\<forall>T' V W U. equal(T'::'a,U) --> equal(associator(V::'a,W,T'),associator(V::'a,W,U))) &
wenzelm
parents: 24127
diff changeset
  2166
  (\<forall>X Y Z. equal(X::'a,Y) --> equal(commutator(X::'a,Z),commutator(Y::'a,Z))) &
wenzelm
parents: 24127
diff changeset
  2167
  (\<forall>A1 C1 B1. equal(A1::'a,B1) --> equal(commutator(C1::'a,A1),commutator(C1::'a,B1))) &
wenzelm
parents: 24127
diff changeset
  2168
  (\<forall>D1 E1 F1. equal(D1::'a,E1) --> equal(multiply(D1::'a,F1),multiply(E1::'a,F1))) &
wenzelm
parents: 24127
diff changeset
  2169
  (\<forall>G1 I1 H1. equal(G1::'a,H1) --> equal(multiply(I1::'a,G1),multiply(I1::'a,H1))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2170
  (~equal(associator(x::'a,x,y),additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2171
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2172
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2173
(*0 inferences so far.  Searching to depth 0.  0.6 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2174
lemma RNG028_2:
24128
wenzelm
parents: 24127
diff changeset
  2175
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  2176
  (\<forall>X. equal(add(additive_identity::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2177
  (\<forall>X. equal(multiply(additive_identity::'a,X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2178
  (\<forall>X. equal(multiply(X::'a,additive_identity),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2179
  (\<forall>X. equal(add(additive_inverse(X),X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2180
  (\<forall>X Y. equal(additive_inverse(add(X::'a,Y)),add(additive_inverse(X),additive_inverse(Y)))) &
wenzelm
parents: 24127
diff changeset
  2181
  (\<forall>X. equal(additive_inverse(additive_inverse(X)),X)) &
wenzelm
parents: 24127
diff changeset
  2182
  (\<forall>Y X Z. equal(multiply(X::'a,add(Y::'a,Z)),add(multiply(X::'a,Y),multiply(X::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2183
  (\<forall>X Y Z. equal(multiply(add(X::'a,Y),Z),add(multiply(X::'a,Z),multiply(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2184
  (\<forall>X Y. equal(multiply(multiply(X::'a,Y),Y),multiply(X::'a,multiply(Y::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2185
  (\<forall>X Y. equal(multiply(multiply(X::'a,X),Y),multiply(X::'a,multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2186
  (\<forall>X Y. equal(multiply(additive_inverse(X),Y),additive_inverse(multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2187
  (\<forall>X Y. equal(multiply(X::'a,additive_inverse(Y)),additive_inverse(multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2188
  (equal(additive_inverse(additive_identity),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2189
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2190
  (\<forall>X Y Z. equal(add(X::'a,add(Y::'a,Z)),add(add(X::'a,Y),Z))) &
wenzelm
parents: 24127
diff changeset
  2191
  (\<forall>Z X Y. equal(add(X::'a,Z),add(Y::'a,Z)) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2192
  (\<forall>Z X Y. equal(add(Z::'a,X),add(Z::'a,Y)) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2193
  (\<forall>D E F'. equal(D::'a,E) --> equal(add(D::'a,F'),add(E::'a,F'))) &
wenzelm
parents: 24127
diff changeset
  2194
  (\<forall>G I' H. equal(G::'a,H) --> equal(add(I'::'a,G),add(I'::'a,H))) &
wenzelm
parents: 24127
diff changeset
  2195
  (\<forall>J K'. equal(J::'a,K') --> equal(additive_inverse(J),additive_inverse(K'))) &
wenzelm
parents: 24127
diff changeset
  2196
  (\<forall>D1 E1 F1. equal(D1::'a,E1) --> equal(multiply(D1::'a,F1),multiply(E1::'a,F1))) &
wenzelm
parents: 24127
diff changeset
  2197
  (\<forall>G1 I1 H1. equal(G1::'a,H1) --> equal(multiply(I1::'a,G1),multiply(I1::'a,H1))) &
wenzelm
parents: 24127
diff changeset
  2198
  (\<forall>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)))))) &
wenzelm
parents: 24127
diff changeset
  2199
  (\<forall>L M N O'. equal(L::'a,M) --> equal(associator(L::'a,N,O'),associator(M::'a,N,O'))) &
wenzelm
parents: 24127
diff changeset
  2200
  (\<forall>P R Q S'. equal(P::'a,Q) --> equal(associator(R::'a,P,S'),associator(R::'a,Q,S'))) &
wenzelm
parents: 24127
diff changeset
  2201
  (\<forall>T' V W U. equal(T'::'a,U) --> equal(associator(V::'a,W,T'),associator(V::'a,W,U))) &
wenzelm
parents: 24127
diff changeset
  2202
  (\<forall>X Y. ~equal(multiply(multiply(Y::'a,X),Y),multiply(Y::'a,multiply(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2203
  (\<forall>X Y Z. ~equal(associator(Y::'a,X,Z),additive_inverse(associator(X::'a,Y,Z)))) &
wenzelm
parents: 24127
diff changeset
  2204
  (\<forall>X Y Z. ~equal(associator(Z::'a,Y,X),additive_inverse(associator(X::'a,Y,Z)))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2205
  (~equal(multiply(multiply(cx::'a,multiply(cy::'a,cx)),cz),multiply(cx::'a,multiply(cy::'a,multiply(cx::'a,cz))))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2206
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2207
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2208
(*209 inferences so far.  Searching to depth 9.  1.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2209
lemma RNG038_2:
24128
wenzelm
parents: 24127
diff changeset
  2210
  "(\<forall>X. sum(X::'a,additive_identity,X)) &
wenzelm
parents: 24127
diff changeset
  2211
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2212
  (\<forall>X Y. sum(X::'a,Y,add(X::'a,Y))) &
24128
wenzelm
parents: 24127
diff changeset
  2213
  RNG_other_ax multiply add equal product additive_identity additive_inverse sum &
wenzelm
parents: 24127
diff changeset
  2214
  (\<forall>X. product(additive_identity::'a,X,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2215
  (\<forall>X. product(X::'a,additive_identity,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2216
  (\<forall>X Y. equal(X::'a,additive_identity) --> product(X::'a,h(X::'a,Y),Y)) &
wenzelm
parents: 24127
diff changeset
  2217
  (product(a::'a,b,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2218
  (~equal(a::'a,additive_identity)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2219
  (~equal(b::'a,additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2220
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2221
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2222
(*2660 inferences so far.  Searching to depth 10.  7.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2223
lemma RNG040_2:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2224
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  2225
  RNG001_0_eq product multiply sum add additive_inverse equal &
wenzelm
parents: 24127
diff changeset
  2226
  (\<forall>X. sum(additive_identity::'a,X,X)) &
wenzelm
parents: 24127
diff changeset
  2227
  (\<forall>X. sum(X::'a,additive_identity,X)) &
wenzelm
parents: 24127
diff changeset
  2228
  (\<forall>X Y. product(X::'a,Y,multiply(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2229
  (\<forall>X Y. sum(X::'a,Y,add(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2230
  (\<forall>X. sum(additive_inverse(X),X,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2231
  (\<forall>X. sum(X::'a,additive_inverse(X),additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2232
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2233
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2234
  (\<forall>Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &
wenzelm
parents: 24127
diff changeset
  2235
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2236
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2237
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2238
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2239
  (\<forall>X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &
wenzelm
parents: 24127
diff changeset
  2240
  (\<forall>X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &
wenzelm
parents: 24127
diff changeset
  2241
  (\<forall>A. product(A::'a,multiplicative_identity,A)) &
wenzelm
parents: 24127
diff changeset
  2242
  (\<forall>A. product(multiplicative_identity::'a,A,A)) &
wenzelm
parents: 24127
diff changeset
  2243
  (\<forall>A. product(A::'a,h(A),multiplicative_identity) | equal(A::'a,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2244
  (\<forall>A. product(h(A),A,multiplicative_identity) | equal(A::'a,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2245
  (\<forall>B A C. product(A::'a,B,C) --> product(B::'a,A,C)) &
wenzelm
parents: 24127
diff changeset
  2246
  (\<forall>A B. equal(A::'a,B) --> equal(h(A),h(B))) &
wenzelm
parents: 24127
diff changeset
  2247
  (sum(b::'a,c,d)) &
wenzelm
parents: 24127
diff changeset
  2248
  (product(d::'a,a,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2249
  (product(b::'a,a,l)) &
wenzelm
parents: 24127
diff changeset
  2250
  (product(c::'a,a,n)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2251
  (~sum(l::'a,n,additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2252
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2253
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2254
(*8991 inferences so far.  Searching to depth 9.  22.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2255
lemma RNG041_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2256
  "EQU001_0_ax equal &
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2257
  RNG001_0_ax equal additive_inverse add multiply product additive_identity sum &
24128
wenzelm
parents: 24127
diff changeset
  2258
  RNG001_0_eq product multiply sum add additive_inverse equal &
wenzelm
parents: 24127
diff changeset
  2259
  (\<forall>A B. equal(A::'a,B) --> equal(h(A),h(B))) &
wenzelm
parents: 24127
diff changeset
  2260
  (\<forall>A. product(additive_identity::'a,A,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2261
  (\<forall>A. product(A::'a,additive_identity,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2262
  (\<forall>A. product(A::'a,multiplicative_identity,A)) &
wenzelm
parents: 24127
diff changeset
  2263
  (\<forall>A. product(multiplicative_identity::'a,A,A)) &
wenzelm
parents: 24127
diff changeset
  2264
  (\<forall>A. product(A::'a,h(A),multiplicative_identity) | equal(A::'a,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2265
  (\<forall>A. product(h(A),A,multiplicative_identity) | equal(A::'a,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2266
  (product(a::'a,b,additive_identity)) &
wenzelm
parents: 24127
diff changeset
  2267
  (~equal(a::'a,additive_identity)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2268
  (~equal(b::'a,additive_identity)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2269
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2270
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2271
(*101319 inferences so far.  Searching to depth 14.  76.0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2272
lemma ROB010_1:
24128
wenzelm
parents: 24127
diff changeset
  2273
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  2274
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2275
  (\<forall>X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2276
  (\<forall>Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &
wenzelm
parents: 24127
diff changeset
  2277
  (\<forall>A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2278
  (\<forall>D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2279
  (\<forall>G H. equal(G::'a,H) --> equal(negate(G),negate(H))) &
wenzelm
parents: 24127
diff changeset
  2280
  (equal(negate(add(a::'a,negate(b))),c)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2281
  (~equal(negate(add(c::'a,negate(add(b::'a,a)))),a)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2282
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2283
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2284
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2285
(*6933 inferences so far.  Searching to depth 12.  5.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2286
lemma ROB013_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2287
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  2288
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2289
  (\<forall>X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2290
  (\<forall>Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &
wenzelm
parents: 24127
diff changeset
  2291
  (\<forall>A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2292
  (\<forall>D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2293
  (\<forall>G H. equal(G::'a,H) --> equal(negate(G),negate(H))) &
wenzelm
parents: 24127
diff changeset
  2294
  (equal(negate(add(a::'a,b)),c)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2295
  (~equal(negate(add(c::'a,negate(add(negate(b),a)))),a)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2296
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2297
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2298
(*6614 inferences so far.  Searching to depth 11.  20.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2299
lemma ROB016_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2300
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  2301
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2302
  (\<forall>X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2303
  (\<forall>Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &
wenzelm
parents: 24127
diff changeset
  2304
  (\<forall>A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2305
  (\<forall>D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2306
  (\<forall>G H. equal(G::'a,H) --> equal(negate(G),negate(H))) &
wenzelm
parents: 24127
diff changeset
  2307
  (\<forall>J K' L. equal(J::'a,K') --> equal(multiply(J::'a,L),multiply(K'::'a,L))) &
wenzelm
parents: 24127
diff changeset
  2308
  (\<forall>M O' N. equal(M::'a,N) --> equal(multiply(O'::'a,M),multiply(O'::'a,N))) &
wenzelm
parents: 24127
diff changeset
  2309
  (\<forall>P Q. equal(P::'a,Q) --> equal(successor(P),successor(Q))) &
wenzelm
parents: 24127
diff changeset
  2310
  (\<forall>R S'. equal(R::'a,S') & positive_integer(R) --> positive_integer(S')) &
wenzelm
parents: 24127
diff changeset
  2311
  (\<forall>X. equal(multiply(One::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2312
  (\<forall>V X. positive_integer(X) --> equal(multiply(successor(V),X),add(X::'a,multiply(V::'a,X)))) &
wenzelm
parents: 24127
diff changeset
  2313
  (positive_integer(One)) &
wenzelm
parents: 24127
diff changeset
  2314
  (\<forall>X. positive_integer(X) --> positive_integer(successor(X))) &
wenzelm
parents: 24127
diff changeset
  2315
  (equal(negate(add(d::'a,e)),negate(e))) &
wenzelm
parents: 24127
diff changeset
  2316
  (positive_integer(k)) &
wenzelm
parents: 24127
diff changeset
  2317
  (\<forall>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))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2318
  (~equal(negate(add(e::'a,multiply(k::'a,add(d::'a,negate(add(d::'a,negate(e))))))),negate(e))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2319
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2320
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2321
(*14077 inferences so far.  Searching to depth 11.  32.8 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2322
lemma ROB021_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2323
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  2324
  (\<forall>Y X. equal(add(X::'a,Y),add(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2325
  (\<forall>X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &
wenzelm
parents: 24127
diff changeset
  2326
  (\<forall>Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &
wenzelm
parents: 24127
diff changeset
  2327
  (\<forall>A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2328
  (\<forall>D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2329
  (\<forall>G H. equal(G::'a,H) --> equal(negate(G),negate(H))) &
wenzelm
parents: 24127
diff changeset
  2330
  (\<forall>X Y. equal(negate(X),negate(Y)) --> equal(X::'a,Y)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2331
  (~equal(add(negate(add(a::'a,negate(b))),negate(add(negate(a),negate(b)))),b)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2332
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2333
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2334
(*35532 inferences so far.  Searching to depth 19.  54.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2335
lemma SET005_1:
24128
wenzelm
parents: 24127
diff changeset
  2336
 "(\<forall>Subset Element Superset. member(Element::'a,Subset) & subset(Subset::'a,Superset) --> member(Element::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2337
  (\<forall>Superset Subset. subset(Subset::'a,Superset) | member(member_of_1_not_of_2(Subset::'a,Superset),Subset)) &
wenzelm
parents: 24127
diff changeset
  2338
  (\<forall>Subset Superset. member(member_of_1_not_of_2(Subset::'a,Superset),Superset) --> subset(Subset::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2339
  (\<forall>Subset Superset. equal_sets(Subset::'a,Superset) --> subset(Subset::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2340
  (\<forall>Subset Superset. equal_sets(Superset::'a,Subset) --> subset(Subset::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2341
  (\<forall>Set2 Set1. subset(Set1::'a,Set2) & subset(Set2::'a,Set1) --> equal_sets(Set2::'a,Set1)) &
wenzelm
parents: 24127
diff changeset
  2342
  (\<forall>Set2 Intersection Element Set1. intersection(Set1::'a,Set2,Intersection) & member(Element::'a,Intersection) --> member(Element::'a,Set1)) &
wenzelm
parents: 24127
diff changeset
  2343
  (\<forall>Set1 Intersection Element Set2. intersection(Set1::'a,Set2,Intersection) & member(Element::'a,Intersection) --> member(Element::'a,Set2)) &
wenzelm
parents: 24127
diff changeset
  2344
  (\<forall>Set2 Set1 Element Intersection. intersection(Set1::'a,Set2,Intersection) & member(Element::'a,Set2) & member(Element::'a,Set1) --> member(Element::'a,Intersection)) &
wenzelm
parents: 24127
diff changeset
  2345
  (\<forall>Set2 Intersection Set1. member(h(Set1::'a,Set2,Intersection),Intersection) | intersection(Set1::'a,Set2,Intersection) | member(h(Set1::'a,Set2,Intersection),Set1)) &
wenzelm
parents: 24127
diff changeset
  2346
  (\<forall>Set1 Intersection Set2. member(h(Set1::'a,Set2,Intersection),Intersection) | intersection(Set1::'a,Set2,Intersection) | member(h(Set1::'a,Set2,Intersection),Set2)) &
wenzelm
parents: 24127
diff changeset
  2347
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2348
  (intersection(a::'a,b,aIb)) &
wenzelm
parents: 24127
diff changeset
  2349
  (intersection(b::'a,c,bIc)) &
wenzelm
parents: 24127
diff changeset
  2350
  (intersection(a::'a,bIc,aIbIc)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2351
  (~intersection(aIb::'a,c,aIbIc)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2352
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2353
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2354
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2355
(*6450 inferences so far.  Searching to depth 14.  4.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2356
lemma SET009_1:
24128
wenzelm
parents: 24127
diff changeset
  2357
  "(\<forall>Subset Element Superset. member(Element::'a,Subset) & ssubset(Subset::'a,Superset) --> member(Element::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2358
  (\<forall>Superset Subset. ssubset(Subset::'a,Superset) | member(member_of_1_not_of_2(Subset::'a,Superset),Subset)) &
wenzelm
parents: 24127
diff changeset
  2359
  (\<forall>Subset Superset. member(member_of_1_not_of_2(Subset::'a,Superset),Superset) --> ssubset(Subset::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2360
  (\<forall>Subset Superset. equal_sets(Subset::'a,Superset) --> ssubset(Subset::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2361
  (\<forall>Subset Superset. equal_sets(Superset::'a,Subset) --> ssubset(Subset::'a,Superset)) &
wenzelm
parents: 24127
diff changeset
  2362
  (\<forall>Set2 Set1. ssubset(Set1::'a,Set2) & ssubset(Set2::'a,Set1) --> equal_sets(Set2::'a,Set1)) &
wenzelm
parents: 24127
diff changeset
  2363
  (\<forall>Set2 Difference Element Set1. difference(Set1::'a,Set2,Difference) & member(Element::'a,Difference) --> member(Element::'a,Set1)) &
wenzelm
parents: 24127
diff changeset
  2364
  (\<forall>Element A_set Set1 Set2. ~(member(Element::'a,Set1) & member(Element::'a,Set2) & difference(A_set::'a,Set1,Set2))) &
wenzelm
parents: 24127
diff changeset
  2365
  (\<forall>Set1 Difference Element Set2. member(Element::'a,Set1) & difference(Set1::'a,Set2,Difference) --> member(Element::'a,Difference) | member(Element::'a,Set2)) &
wenzelm
parents: 24127
diff changeset
  2366
  (\<forall>Set1 Set2 Difference. difference(Set1::'a,Set2,Difference) | member(k(Set1::'a,Set2,Difference),Set1) | member(k(Set1::'a,Set2,Difference),Difference)) &
wenzelm
parents: 24127
diff changeset
  2367
  (\<forall>Set1 Set2 Difference. member(k(Set1::'a,Set2,Difference),Set2) --> member(k(Set1::'a,Set2,Difference),Difference) | difference(Set1::'a,Set2,Difference)) &
wenzelm
parents: 24127
diff changeset
  2368
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2369
  (ssubset(d::'a,a)) &
wenzelm
parents: 24127
diff changeset
  2370
  (difference(b::'a,a,bDa)) &
wenzelm
parents: 24127
diff changeset
  2371
  (difference(b::'a,d,bDd)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2372
  (~ssubset(bDa::'a,bDd)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2373
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2374
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2375
(*34726 inferences so far.  Searching to depth 6.  2420 secs: 40 mins! BIG*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2376
lemma SET025_4:
24128
wenzelm
parents: 24127
diff changeset
  2377
  "EQU001_0_ax equal &
wenzelm
parents: 24127
diff changeset
  2378
  (\<forall>Y X. member(X::'a,Y) --> little_set(X)) &
wenzelm
parents: 24127
diff changeset
  2379
  (\<forall>X Y. little_set(f1(X::'a,Y)) | equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2380
  (\<forall>X Y. member(f1(X::'a,Y),X) | member(f1(X::'a,Y),Y) | equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2381
  (\<forall>X Y. member(f1(X::'a,Y),X) & member(f1(X::'a,Y),Y) --> equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2382
  (\<forall>X U Y. member(U::'a,non_ordered_pair(X::'a,Y)) --> equal(U::'a,X) | equal(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2383
  (\<forall>Y U X. little_set(U) & equal(U::'a,X) --> member(U::'a,non_ordered_pair(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2384
  (\<forall>X U Y. little_set(U) & equal(U::'a,Y) --> member(U::'a,non_ordered_pair(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2385
  (\<forall>X Y. little_set(non_ordered_pair(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2386
  (\<forall>X. equal(singleton_set(X),non_ordered_pair(X::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2387
  (\<forall>X Y. equal(ordered_pair(X::'a,Y),non_ordered_pair(singleton_set(X),non_ordered_pair(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2388
  (\<forall>X. ordered_pair_predicate(X) --> little_set(f2(X))) &
wenzelm
parents: 24127
diff changeset
  2389
  (\<forall>X. ordered_pair_predicate(X) --> little_set(f3(X))) &
wenzelm
parents: 24127
diff changeset
  2390
  (\<forall>X. ordered_pair_predicate(X) --> equal(X::'a,ordered_pair(f2(X),f3(X)))) &
wenzelm
parents: 24127
diff changeset
  2391
  (\<forall>X Y Z. little_set(Y) & little_set(Z) & equal(X::'a,ordered_pair(Y::'a,Z)) --> ordered_pair_predicate(X)) &
wenzelm
parents: 24127
diff changeset
  2392
  (\<forall>Z X. member(Z::'a,first(X)) --> little_set(f4(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2393
  (\<forall>Z X. member(Z::'a,first(X)) --> little_set(f5(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2394
  (\<forall>Z X. member(Z::'a,first(X)) --> equal(X::'a,ordered_pair(f4(Z::'a,X),f5(Z::'a,X)))) &
wenzelm
parents: 24127
diff changeset
  2395
  (\<forall>Z X. member(Z::'a,first(X)) --> member(Z::'a,f4(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2396
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2397
  (\<forall>Z X. member(Z::'a,second(X)) --> little_set(f6(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2398
  (\<forall>Z X. member(Z::'a,second(X)) --> little_set(f7(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2399
  (\<forall>Z X. member(Z::'a,second(X)) --> equal(X::'a,ordered_pair(f6(Z::'a,X),f7(Z::'a,X)))) &
wenzelm
parents: 24127
diff changeset
  2400
  (\<forall>Z X. member(Z::'a,second(X)) --> member(Z::'a,f7(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2401
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2402
  (\<forall>Z. member(Z::'a,estin) --> ordered_pair_predicate(Z)) &
wenzelm
parents: 24127
diff changeset
  2403
  (\<forall>Z. member(Z::'a,estin) --> member(first(Z),second(Z))) &
wenzelm
parents: 24127
diff changeset
  2404
  (\<forall>Z. little_set(Z) & ordered_pair_predicate(Z) & member(first(Z),second(Z)) --> member(Z::'a,estin)) &
wenzelm
parents: 24127
diff changeset
  2405
  (\<forall>Y Z X. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2406
  (\<forall>X Z Y. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2407
  (\<forall>X Z Y. member(Z::'a,X) & member(Z::'a,Y) --> member(Z::'a,intersection(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2408
  (\<forall>Z X. ~(member(Z::'a,complement(X)) & member(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2409
  (\<forall>Z X. little_set(Z) --> member(Z::'a,complement(X)) | member(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2410
  (\<forall>X Y. equal(union(X::'a,Y),complement(intersection(complement(X),complement(Y))))) &
wenzelm
parents: 24127
diff changeset
  2411
  (\<forall>Z X. member(Z::'a,domain_of(X)) --> ordered_pair_predicate(f8(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2412
  (\<forall>Z X. member(Z::'a,domain_of(X)) --> member(f8(Z::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2413
  (\<forall>Z X. member(Z::'a,domain_of(X)) --> equal(Z::'a,first(f8(Z::'a,X)))) &
wenzelm
parents: 24127
diff changeset
  2414
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2415
  (\<forall>X Y Z. member(Z::'a,cross_product(X::'a,Y)) --> ordered_pair_predicate(Z)) &
wenzelm
parents: 24127
diff changeset
  2416
  (\<forall>Y Z X. member(Z::'a,cross_product(X::'a,Y)) --> member(first(Z),X)) &
wenzelm
parents: 24127
diff changeset
  2417
  (\<forall>X Z Y. member(Z::'a,cross_product(X::'a,Y)) --> member(second(Z),Y)) &
wenzelm
parents: 24127
diff changeset
  2418
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2419
  (\<forall>X Z. member(Z::'a,inv1 X) --> ordered_pair_predicate(Z)) &
wenzelm
parents: 24127
diff changeset
  2420
  (\<forall>Z X. member(Z::'a,inv1 X) --> member(ordered_pair(second(Z),first(Z)),X)) &
wenzelm
parents: 24127
diff changeset
  2421
  (\<forall>Z X. little_set(Z) & ordered_pair_predicate(Z) & member(ordered_pair(second(Z),first(Z)),X) --> member(Z::'a,inv1 X)) &
wenzelm
parents: 24127
diff changeset
  2422
  (\<forall>Z X. member(Z::'a,rot_right(X)) --> little_set(f9(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2423
  (\<forall>Z X. member(Z::'a,rot_right(X)) --> little_set(f10(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2424
  (\<forall>Z X. member(Z::'a,rot_right(X)) --> little_set(f11(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2425
  (\<forall>Z X. member(Z::'a,rot_right(X)) --> equal(Z::'a,ordered_pair(f9(Z::'a,X),ordered_pair(f10(Z::'a,X),f11(Z::'a,X))))) &
wenzelm
parents: 24127
diff changeset
  2426
  (\<forall>Z X. member(Z::'a,rot_right(X)) --> member(ordered_pair(f10(Z::'a,X),ordered_pair(f11(Z::'a,X),f9(Z::'a,X))),X)) &
wenzelm
parents: 24127
diff changeset
  2427
  (\<forall>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,rot_right(X))) &
wenzelm
parents: 24127
diff changeset
  2428
  (\<forall>Z X. member(Z::'a,flip_range_of(X)) --> little_set(f12(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2429
  (\<forall>Z X. member(Z::'a,flip_range_of(X)) --> little_set(f13(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2430
  (\<forall>Z X. member(Z::'a,flip_range_of(X)) --> little_set(f14(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2431
  (\<forall>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))))) &
wenzelm
parents: 24127
diff changeset
  2432
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2433
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2434
  (\<forall>X. equal(successor(X),union(X::'a,singleton_set(X)))) &
wenzelm
parents: 24127
diff changeset
  2435
  (\<forall>Z. ~member(Z::'a,empty_set)) &
wenzelm
parents: 24127
diff changeset
  2436
  (\<forall>Z. little_set(Z) --> member(Z::'a,universal_set)) &
wenzelm
parents: 24127
diff changeset
  2437
  (little_set(infinity)) &
wenzelm
parents: 24127
diff changeset
  2438
  (member(empty_set::'a,infinity)) &
wenzelm
parents: 24127
diff changeset
  2439
  (\<forall>X. member(X::'a,infinity) --> member(successor(X),infinity)) &
wenzelm
parents: 24127
diff changeset
  2440
  (\<forall>Z X. member(Z::'a,sigma(X)) --> member(f16(Z::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2441
  (\<forall>Z X. member(Z::'a,sigma(X)) --> member(Z::'a,f16(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2442
  (\<forall>X Z Y. member(Y::'a,X) & member(Z::'a,Y) --> member(Z::'a,sigma(X))) &
wenzelm
parents: 24127
diff changeset
  2443
  (\<forall>U. little_set(U) --> little_set(sigma(U))) &
wenzelm
parents: 24127
diff changeset
  2444
  (\<forall>X U Y. ssubset(X::'a,Y) & member(U::'a,X) --> member(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2445
  (\<forall>Y X. ssubset(X::'a,Y) | member(f17(X::'a,Y),X)) &
wenzelm
parents: 24127
diff changeset
  2446
  (\<forall>X Y. member(f17(X::'a,Y),Y) --> ssubset(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2447
  (\<forall>X Y. proper_subset(X::'a,Y) --> ssubset(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2448
  (\<forall>X Y. ~(proper_subset(X::'a,Y) & equal(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2449
  (\<forall>X Y. ssubset(X::'a,Y) --> proper_subset(X::'a,Y) | equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2450
  (\<forall>Z X. member(Z::'a,powerset(X)) --> ssubset(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2451
  (\<forall>Z X. little_set(Z) & ssubset(Z::'a,X) --> member(Z::'a,powerset(X))) &
wenzelm
parents: 24127
diff changeset
  2452
  (\<forall>U. little_set(U) --> little_set(powerset(U))) &
wenzelm
parents: 24127
diff changeset
  2453
  (\<forall>Z X. relation(Z) & member(X::'a,Z) --> ordered_pair_predicate(X)) &
wenzelm
parents: 24127
diff changeset
  2454
  (\<forall>Z. relation(Z) | member(f18(Z),Z)) &
wenzelm
parents: 24127
diff changeset
  2455
  (\<forall>Z. ordered_pair_predicate(f18(Z)) --> relation(Z)) &
wenzelm
parents: 24127
diff changeset
  2456
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2457
  (\<forall>X. single_valued_set(X) | little_set(f19(X))) &
wenzelm
parents: 24127
diff changeset
  2458
  (\<forall>X. single_valued_set(X) | little_set(f20(X))) &
wenzelm
parents: 24127
diff changeset
  2459
  (\<forall>X. single_valued_set(X) | little_set(f21(X))) &
wenzelm
parents: 24127
diff changeset
  2460
  (\<forall>X. single_valued_set(X) | member(ordered_pair(f19(X),f20(X)),X)) &
wenzelm
parents: 24127
diff changeset
  2461
  (\<forall>X. single_valued_set(X) | member(ordered_pair(f19(X),f21(X)),X)) &
wenzelm
parents: 24127
diff changeset
  2462
  (\<forall>X. equal(f20(X),f21(X)) --> single_valued_set(X)) &
wenzelm
parents: 24127
diff changeset
  2463
  (\<forall>Xf. function(Xf) --> relation(Xf)) &
wenzelm
parents: 24127
diff changeset
  2464
  (\<forall>Xf. function(Xf) --> single_valued_set(Xf)) &
wenzelm
parents: 24127
diff changeset
  2465
  (\<forall>Xf. relation(Xf) & single_valued_set(Xf) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  2466
  (\<forall>Z X Xf. member(Z::'a,image'(X::'a,Xf)) --> ordered_pair_predicate(f22(Z::'a,X,Xf))) &
wenzelm
parents: 24127
diff changeset
  2467
  (\<forall>Z X Xf. member(Z::'a,image'(X::'a,Xf)) --> member(f22(Z::'a,X,Xf),Xf)) &
wenzelm
parents: 24127
diff changeset
  2468
  (\<forall>Z Xf X. member(Z::'a,image'(X::'a,Xf)) --> member(first(f22(Z::'a,X,Xf)),X)) &
wenzelm
parents: 24127
diff changeset
  2469
  (\<forall>X Xf Z. member(Z::'a,image'(X::'a,Xf)) --> equal(second(f22(Z::'a,X,Xf)),Z)) &
wenzelm
parents: 24127
diff changeset
  2470
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2471
  (\<forall>X Xf. little_set(X) & function(Xf) --> little_set(image'(X::'a,Xf))) &
wenzelm
parents: 24127
diff changeset
  2472
  (\<forall>X U Y. ~(disjoint(X::'a,Y) & member(U::'a,X) & member(U::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2473
  (\<forall>Y X. disjoint(X::'a,Y) | member(f23(X::'a,Y),X)) &
wenzelm
parents: 24127
diff changeset
  2474
  (\<forall>X Y. disjoint(X::'a,Y) | member(f23(X::'a,Y),Y)) &
wenzelm
parents: 24127
diff changeset
  2475
  (\<forall>X. equal(X::'a,empty_set) | member(f24(X),X)) &
wenzelm
parents: 24127
diff changeset
  2476
  (\<forall>X. equal(X::'a,empty_set) | disjoint(f24(X),X)) &
wenzelm
parents: 24127
diff changeset
  2477
  (function(f25)) &
wenzelm
parents: 24127
diff changeset
  2478
  (\<forall>X. little_set(X) --> equal(X::'a,empty_set) | member(f26(X),X)) &
wenzelm
parents: 24127
diff changeset
  2479
  (\<forall>X. little_set(X) --> equal(X::'a,empty_set) | member(ordered_pair(X::'a,f26(X)),f25)) &
wenzelm
parents: 24127
diff changeset
  2480
  (\<forall>Z X. member(Z::'a,range_of(X)) --> ordered_pair_predicate(f27(Z::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2481
  (\<forall>Z X. member(Z::'a,range_of(X)) --> member(f27(Z::'a,X),X)) &
wenzelm
parents: 24127
diff changeset
  2482
  (\<forall>Z X. member(Z::'a,range_of(X)) --> equal(Z::'a,second(f27(Z::'a,X)))) &
wenzelm
parents: 24127
diff changeset
  2483
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2484
  (\<forall>Z. member(Z::'a,identity_relation) --> ordered_pair_predicate(Z)) &
wenzelm
parents: 24127
diff changeset
  2485
  (\<forall>Z. member(Z::'a,identity_relation) --> equal(first(Z),second(Z))) &
wenzelm
parents: 24127
diff changeset
  2486
  (\<forall>Z. little_set(Z) & ordered_pair_predicate(Z) & equal(first(Z),second(Z)) --> member(Z::'a,identity_relation)) &
wenzelm
parents: 24127
diff changeset
  2487
  (\<forall>X Y. equal(restrct(X::'a,Y),intersection(X::'a,cross_product(Y::'a,universal_set)))) &
wenzelm
parents: 24127
diff changeset
  2488
  (\<forall>Xf. one_to_one_function(Xf) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  2489
  (\<forall>Xf. one_to_one_function(Xf) --> function(inv1 Xf)) &
wenzelm
parents: 24127
diff changeset
  2490
  (\<forall>Xf. function(Xf) & function(inv1 Xf) --> one_to_one_function(Xf)) &
wenzelm
parents: 24127
diff changeset
  2491
  (\<forall>Z Xf Y. member(Z::'a,apply(Xf::'a,Y)) --> ordered_pair_predicate(f28(Z::'a,Xf,Y))) &
wenzelm
parents: 24127
diff changeset
  2492
  (\<forall>Z Y Xf. member(Z::'a,apply(Xf::'a,Y)) --> member(f28(Z::'a,Xf,Y),Xf)) &
wenzelm
parents: 24127
diff changeset
  2493
  (\<forall>Z Xf Y. member(Z::'a,apply(Xf::'a,Y)) --> equal(first(f28(Z::'a,Xf,Y)),Y)) &
wenzelm
parents: 24127
diff changeset
  2494
  (\<forall>Z Xf Y. member(Z::'a,apply(Xf::'a,Y)) --> member(Z::'a,second(f28(Z::'a,Xf,Y)))) &
wenzelm
parents: 24127
diff changeset
  2495
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2496
  (\<forall>Xf X Y. equal(apply_to_two_arguments(Xf::'a,X,Y),apply(Xf::'a,ordered_pair(X::'a,Y)))) &
wenzelm
parents: 24127
diff changeset
  2497
  (\<forall>X Y Xf. maps(Xf::'a,X,Y) --> function(Xf)) &
wenzelm
parents: 24127
diff changeset
  2498
  (\<forall>Y Xf X. maps(Xf::'a,X,Y) --> equal(domain_of(Xf),X)) &
wenzelm
parents: 24127
diff changeset
  2499
  (\<forall>X Xf Y. maps(Xf::'a,X,Y) --> ssubset(range_of(Xf),Y)) &
wenzelm
parents: 24127
diff changeset
  2500
  (\<forall>X Xf Y. function(Xf) & equal(domain_of(Xf),X) & ssubset(range_of(Xf),Y) --> maps(Xf::'a,X,Y)) &
wenzelm
parents: 24127
diff changeset
  2501
  (\<forall>Xf Xs. closed(Xs::'a,Xf) --> little_set(Xs)) &
wenzelm
parents: 24127
diff changeset
  2502
  (\<forall>Xs Xf. closed(Xs::'a,Xf) --> little_set(Xf)) &
wenzelm
parents: 24127
diff changeset
  2503
  (\<forall>Xf Xs. closed(Xs::'a,Xf) --> maps(Xf::'a,cross_product(Xs::'a,Xs),Xs)) &
wenzelm
parents: 24127
diff changeset
  2504
  (\<forall>Xf Xs. little_set(Xs) & little_set(Xf) & maps(Xf::'a,cross_product(Xs::'a,Xs),Xs) --> closed(Xs::'a,Xf)) &
wenzelm
parents: 24127
diff changeset
  2505
  (\<forall>Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> little_set(f29(Z::'a,Xf,Xg))) &
wenzelm
parents: 24127
diff changeset
  2506
  (\<forall>Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> little_set(f30(Z::'a,Xf,Xg))) &
wenzelm
parents: 24127
diff changeset
  2507
  (\<forall>Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> little_set(f31(Z::'a,Xf,Xg))) &
wenzelm
parents: 24127
diff changeset
  2508
  (\<forall>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)))) &
wenzelm
parents: 24127
diff changeset
  2509
  (\<forall>Z Xg Xf. member(Z::'a,composition(Xf::'a,Xg)) --> member(ordered_pair(f29(Z::'a,Xf,Xg),f31(Z::'a,Xf,Xg)),Xf)) &
wenzelm
parents: 24127
diff changeset
  2510
  (\<forall>Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> member(ordered_pair(f31(Z::'a,Xf,Xg),f30(Z::'a,Xf,Xg)),Xg)) &
wenzelm
parents: 24127
diff changeset
  2511
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2512
  (\<forall>Xh Xs2 Xf2 Xs1 Xf1. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) --> closed(Xs1::'a,Xf1)) &
wenzelm
parents: 24127
diff changeset
  2513
  (\<forall>Xh Xs1 Xf1 Xs2 Xf2. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) --> closed(Xs2::'a,Xf2)) &
wenzelm
parents: 24127
diff changeset
  2514
  (\<forall>Xf1 Xf2 Xh Xs1 Xs2. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) --> maps(Xh::'a,Xs1,Xs2)) &
wenzelm
parents: 24127
diff changeset
  2515
  (\<forall>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)))) &
wenzelm
parents: 24127
diff changeset
  2516
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2517
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2518
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2519
  (\<forall>A B C. equal(A::'a,B) --> equal(f1(A::'a,C),f1(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2520
  (\<forall>D F' E. equal(D::'a,E) --> equal(f1(F'::'a,D),f1(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2521
  (\<forall>A2 B2. equal(A2::'a,B2) --> equal(f2(A2),f2(B2))) &
wenzelm
parents: 24127
diff changeset
  2522
  (\<forall>G4 H4. equal(G4::'a,H4) --> equal(f3(G4),f3(H4))) &
wenzelm
parents: 24127
diff changeset
  2523
  (\<forall>O7 P7 Q7. equal(O7::'a,P7) --> equal(f4(O7::'a,Q7),f4(P7::'a,Q7))) &
wenzelm
parents: 24127
diff changeset
  2524
  (\<forall>R7 T7 S7. equal(R7::'a,S7) --> equal(f4(T7::'a,R7),f4(T7::'a,S7))) &
wenzelm
parents: 24127
diff changeset
  2525
  (\<forall>U7 V7 W7. equal(U7::'a,V7) --> equal(f5(U7::'a,W7),f5(V7::'a,W7))) &
wenzelm
parents: 24127
diff changeset
  2526
  (\<forall>X7 Z7 Y7. equal(X7::'a,Y7) --> equal(f5(Z7::'a,X7),f5(Z7::'a,Y7))) &
wenzelm
parents: 24127
diff changeset
  2527
  (\<forall>A8 B8 C8. equal(A8::'a,B8) --> equal(f6(A8::'a,C8),f6(B8::'a,C8))) &
wenzelm
parents: 24127
diff changeset
  2528
  (\<forall>D8 F8 E8. equal(D8::'a,E8) --> equal(f6(F8::'a,D8),f6(F8::'a,E8))) &
wenzelm
parents: 24127
diff changeset
  2529
  (\<forall>G8 H8 I8. equal(G8::'a,H8) --> equal(f7(G8::'a,I8),f7(H8::'a,I8))) &
wenzelm
parents: 24127
diff changeset
  2530
  (\<forall>J8 L8 K8. equal(J8::'a,K8) --> equal(f7(L8::'a,J8),f7(L8::'a,K8))) &
wenzelm
parents: 24127
diff changeset
  2531
  (\<forall>M8 N8 O8. equal(M8::'a,N8) --> equal(f8(M8::'a,O8),f8(N8::'a,O8))) &
wenzelm
parents: 24127
diff changeset
  2532
  (\<forall>P8 R8 Q8. equal(P8::'a,Q8) --> equal(f8(R8::'a,P8),f8(R8::'a,Q8))) &
wenzelm
parents: 24127
diff changeset
  2533
  (\<forall>S8 T8 U8. equal(S8::'a,T8) --> equal(f9(S8::'a,U8),f9(T8::'a,U8))) &
wenzelm
parents: 24127
diff changeset
  2534
  (\<forall>V8 X8 W8. equal(V8::'a,W8) --> equal(f9(X8::'a,V8),f9(X8::'a,W8))) &
wenzelm
parents: 24127
diff changeset
  2535
  (\<forall>G H I'. equal(G::'a,H) --> equal(f10(G::'a,I'),f10(H::'a,I'))) &
wenzelm
parents: 24127
diff changeset
  2536
  (\<forall>J L K'. equal(J::'a,K') --> equal(f10(L::'a,J),f10(L::'a,K'))) &
wenzelm
parents: 24127
diff changeset
  2537
  (\<forall>M N O'. equal(M::'a,N) --> equal(f11(M::'a,O'),f11(N::'a,O'))) &
wenzelm
parents: 24127
diff changeset
  2538
  (\<forall>P R Q. equal(P::'a,Q) --> equal(f11(R::'a,P),f11(R::'a,Q))) &
wenzelm
parents: 24127
diff changeset
  2539
  (\<forall>S' T' U. equal(S'::'a,T') --> equal(f12(S'::'a,U),f12(T'::'a,U))) &
wenzelm
parents: 24127
diff changeset
  2540
  (\<forall>V X W. equal(V::'a,W) --> equal(f12(X::'a,V),f12(X::'a,W))) &
wenzelm
parents: 24127
diff changeset
  2541
  (\<forall>Y Z A1. equal(Y::'a,Z) --> equal(f13(Y::'a,A1),f13(Z::'a,A1))) &
wenzelm
parents: 24127
diff changeset
  2542
  (\<forall>B1 D1 C1. equal(B1::'a,C1) --> equal(f13(D1::'a,B1),f13(D1::'a,C1))) &
wenzelm
parents: 24127
diff changeset
  2543
  (\<forall>E1 F1 G1. equal(E1::'a,F1) --> equal(f14(E1::'a,G1),f14(F1::'a,G1))) &
wenzelm
parents: 24127
diff changeset
  2544
  (\<forall>H1 J1 I1. equal(H1::'a,I1) --> equal(f14(J1::'a,H1),f14(J1::'a,I1))) &
wenzelm
parents: 24127
diff changeset
  2545
  (\<forall>K1 L1 M1. equal(K1::'a,L1) --> equal(f16(K1::'a,M1),f16(L1::'a,M1))) &
wenzelm
parents: 24127
diff changeset
  2546
  (\<forall>N1 P1 O1. equal(N1::'a,O1) --> equal(f16(P1::'a,N1),f16(P1::'a,O1))) &
wenzelm
parents: 24127
diff changeset
  2547
  (\<forall>Q1 R1 S1. equal(Q1::'a,R1) --> equal(f17(Q1::'a,S1),f17(R1::'a,S1))) &
wenzelm
parents: 24127
diff changeset
  2548
  (\<forall>T1 V1 U1. equal(T1::'a,U1) --> equal(f17(V1::'a,T1),f17(V1::'a,U1))) &
wenzelm
parents: 24127
diff changeset
  2549
  (\<forall>W1 X1. equal(W1::'a,X1) --> equal(f18(W1),f18(X1))) &
wenzelm
parents: 24127
diff changeset
  2550
  (\<forall>Y1 Z1. equal(Y1::'a,Z1) --> equal(f19(Y1),f19(Z1))) &
wenzelm
parents: 24127
diff changeset
  2551
  (\<forall>C2 D2. equal(C2::'a,D2) --> equal(f20(C2),f20(D2))) &
wenzelm
parents: 24127
diff changeset
  2552
  (\<forall>E2 F2. equal(E2::'a,F2) --> equal(f21(E2),f21(F2))) &
wenzelm
parents: 24127
diff changeset
  2553
  (\<forall>G2 H2 I2 J2. equal(G2::'a,H2) --> equal(f22(G2::'a,I2,J2),f22(H2::'a,I2,J2))) &
wenzelm
parents: 24127
diff changeset
  2554
  (\<forall>K2 M2 L2 N2. equal(K2::'a,L2) --> equal(f22(M2::'a,K2,N2),f22(M2::'a,L2,N2))) &
wenzelm
parents: 24127
diff changeset
  2555
  (\<forall>O2 Q2 R2 P2. equal(O2::'a,P2) --> equal(f22(Q2::'a,R2,O2),f22(Q2::'a,R2,P2))) &
wenzelm
parents: 24127
diff changeset
  2556
  (\<forall>S2 T2 U2. equal(S2::'a,T2) --> equal(f23(S2::'a,U2),f23(T2::'a,U2))) &
wenzelm
parents: 24127
diff changeset
  2557
  (\<forall>V2 X2 W2. equal(V2::'a,W2) --> equal(f23(X2::'a,V2),f23(X2::'a,W2))) &
wenzelm
parents: 24127
diff changeset
  2558
  (\<forall>Y2 Z2. equal(Y2::'a,Z2) --> equal(f24(Y2),f24(Z2))) &
wenzelm
parents: 24127
diff changeset
  2559
  (\<forall>A3 B3. equal(A3::'a,B3) --> equal(f26(A3),f26(B3))) &
wenzelm
parents: 24127
diff changeset
  2560
  (\<forall>C3 D3 E3. equal(C3::'a,D3) --> equal(f27(C3::'a,E3),f27(D3::'a,E3))) &
wenzelm
parents: 24127
diff changeset
  2561
  (\<forall>F3 H3 G3. equal(F3::'a,G3) --> equal(f27(H3::'a,F3),f27(H3::'a,G3))) &
wenzelm
parents: 24127
diff changeset
  2562
  (\<forall>I3 J3 K3 L3. equal(I3::'a,J3) --> equal(f28(I3::'a,K3,L3),f28(J3::'a,K3,L3))) &
wenzelm
parents: 24127
diff changeset
  2563
  (\<forall>M3 O3 N3 P3. equal(M3::'a,N3) --> equal(f28(O3::'a,M3,P3),f28(O3::'a,N3,P3))) &
wenzelm
parents: 24127
diff changeset
  2564
  (\<forall>Q3 S3 T3 R3. equal(Q3::'a,R3) --> equal(f28(S3::'a,T3,Q3),f28(S3::'a,T3,R3))) &
wenzelm
parents: 24127
diff changeset
  2565
  (\<forall>U3 V3 W3 X3. equal(U3::'a,V3) --> equal(f29(U3::'a,W3,X3),f29(V3::'a,W3,X3))) &
wenzelm
parents: 24127
diff changeset
  2566
  (\<forall>Y3 A4 Z3 B4. equal(Y3::'a,Z3) --> equal(f29(A4::'a,Y3,B4),f29(A4::'a,Z3,B4))) &
wenzelm
parents: 24127
diff changeset
  2567
  (\<forall>C4 E4 F4 D4. equal(C4::'a,D4) --> equal(f29(E4::'a,F4,C4),f29(E4::'a,F4,D4))) &
wenzelm
parents: 24127
diff changeset
  2568
  (\<forall>I4 J4 K4 L4. equal(I4::'a,J4) --> equal(f30(I4::'a,K4,L4),f30(J4::'a,K4,L4))) &
wenzelm
parents: 24127
diff changeset
  2569
  (\<forall>M4 O4 N4 P4. equal(M4::'a,N4) --> equal(f30(O4::'a,M4,P4),f30(O4::'a,N4,P4))) &
wenzelm
parents: 24127
diff changeset
  2570
  (\<forall>Q4 S4 T4 R4. equal(Q4::'a,R4) --> equal(f30(S4::'a,T4,Q4),f30(S4::'a,T4,R4))) &
wenzelm
parents: 24127
diff changeset
  2571
  (\<forall>U4 V4 W4 X4. equal(U4::'a,V4) --> equal(f31(U4::'a,W4,X4),f31(V4::'a,W4,X4))) &
wenzelm
parents: 24127
diff changeset
  2572
  (\<forall>Y4 A5 Z4 B5. equal(Y4::'a,Z4) --> equal(f31(A5::'a,Y4,B5),f31(A5::'a,Z4,B5))) &
wenzelm
parents: 24127
diff changeset
  2573
  (\<forall>C5 E5 F5 D5. equal(C5::'a,D5) --> equal(f31(E5::'a,F5,C5),f31(E5::'a,F5,D5))) &
wenzelm
parents: 24127
diff changeset
  2574
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2575
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2576
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2577
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2578
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2579
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2580
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2581
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2582
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2583
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2584
  (\<forall>A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &
wenzelm
parents: 24127
diff changeset
  2585
  (\<forall>D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &
wenzelm
parents: 24127
diff changeset
  2586
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2587
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2588
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2589
  (\<forall>S' T'. equal(S'::'a,T') --> equal(complement(S'),complement(T'))) &
wenzelm
parents: 24127
diff changeset
  2590
  (\<forall>U V W. equal(U::'a,V) --> equal(composition(U::'a,W),composition(V::'a,W))) &
wenzelm
parents: 24127
diff changeset
  2591
  (\<forall>X Z Y. equal(X::'a,Y) --> equal(composition(Z::'a,X),composition(Z::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2592
  (\<forall>A1 B1. equal(A1::'a,B1) --> equal(inv1 A1,inv1 B1)) &
wenzelm
parents: 24127
diff changeset
  2593
  (\<forall>C1 D1 E1. equal(C1::'a,D1) --> equal(cross_product(C1::'a,E1),cross_product(D1::'a,E1))) &
wenzelm
parents: 24127
diff changeset
  2594
  (\<forall>F1 H1 G1. equal(F1::'a,G1) --> equal(cross_product(H1::'a,F1),cross_product(H1::'a,G1))) &
wenzelm
parents: 24127
diff changeset
  2595
  (\<forall>I1 J1. equal(I1::'a,J1) --> equal(domain_of(I1),domain_of(J1))) &
wenzelm
parents: 24127
diff changeset
  2596
  (\<forall>I10 J10. equal(I10::'a,J10) --> equal(first(I10),first(J10))) &
wenzelm
parents: 24127
diff changeset
  2597
  (\<forall>Q10 R10. equal(Q10::'a,R10) --> equal(flip_range_of(Q10),flip_range_of(R10))) &
wenzelm
parents: 24127
diff changeset
  2598
  (\<forall>S10 T10 U10. equal(S10::'a,T10) --> equal(image'(S10::'a,U10),image'(T10::'a,U10))) &
wenzelm
parents: 24127
diff changeset
  2599
  (\<forall>V10 X10 W10. equal(V10::'a,W10) --> equal(image'(X10::'a,V10),image'(X10::'a,W10))) &
wenzelm
parents: 24127
diff changeset
  2600
  (\<forall>Y10 Z10 A11. equal(Y10::'a,Z10) --> equal(intersection(Y10::'a,A11),intersection(Z10::'a,A11))) &
wenzelm
parents: 24127
diff changeset
  2601
  (\<forall>B11 D11 C11. equal(B11::'a,C11) --> equal(intersection(D11::'a,B11),intersection(D11::'a,C11))) &
wenzelm
parents: 24127
diff changeset
  2602
  (\<forall>E11 F11 G11. equal(E11::'a,F11) --> equal(non_ordered_pair(E11::'a,G11),non_ordered_pair(F11::'a,G11))) &
wenzelm
parents: 24127
diff changeset
  2603
  (\<forall>H11 J11 I11. equal(H11::'a,I11) --> equal(non_ordered_pair(J11::'a,H11),non_ordered_pair(J11::'a,I11))) &
wenzelm
parents: 24127
diff changeset
  2604
  (\<forall>K11 L11 M11. equal(K11::'a,L11) --> equal(ordered_pair(K11::'a,M11),ordered_pair(L11::'a,M11))) &
wenzelm
parents: 24127
diff changeset
  2605
  (\<forall>N11 P11 O11. equal(N11::'a,O11) --> equal(ordered_pair(P11::'a,N11),ordered_pair(P11::'a,O11))) &
wenzelm
parents: 24127
diff changeset
  2606
  (\<forall>Q11 R11. equal(Q11::'a,R11) --> equal(powerset(Q11),powerset(R11))) &
wenzelm
parents: 24127
diff changeset
  2607
  (\<forall>S11 T11. equal(S11::'a,T11) --> equal(range_of(S11),range_of(T11))) &
wenzelm
parents: 24127
diff changeset
  2608
  (\<forall>U11 V11 W11. equal(U11::'a,V11) --> equal(restrct(U11::'a,W11),restrct(V11::'a,W11))) &
wenzelm
parents: 24127
diff changeset
  2609
  (\<forall>X11 Z11 Y11. equal(X11::'a,Y11) --> equal(restrct(Z11::'a,X11),restrct(Z11::'a,Y11))) &
wenzelm
parents: 24127
diff changeset
  2610
  (\<forall>A12 B12. equal(A12::'a,B12) --> equal(rot_right(A12),rot_right(B12))) &
wenzelm
parents: 24127
diff changeset
  2611
  (\<forall>C12 D12. equal(C12::'a,D12) --> equal(second(C12),second(D12))) &
wenzelm
parents: 24127
diff changeset
  2612
  (\<forall>K12 L12. equal(K12::'a,L12) --> equal(sigma(K12),sigma(L12))) &
wenzelm
parents: 24127
diff changeset
  2613
  (\<forall>M12 N12. equal(M12::'a,N12) --> equal(singleton_set(M12),singleton_set(N12))) &
wenzelm
parents: 24127
diff changeset
  2614
  (\<forall>O12 P12. equal(O12::'a,P12) --> equal(successor(O12),successor(P12))) &
wenzelm
parents: 24127
diff changeset
  2615
  (\<forall>Q12 R12 S12. equal(Q12::'a,R12) --> equal(union(Q12::'a,S12),union(R12::'a,S12))) &
wenzelm
parents: 24127
diff changeset
  2616
  (\<forall>T12 V12 U12. equal(T12::'a,U12) --> equal(union(V12::'a,T12),union(V12::'a,U12))) &
wenzelm
parents: 24127
diff changeset
  2617
  (\<forall>W12 X12 Y12. equal(W12::'a,X12) & closed(W12::'a,Y12) --> closed(X12::'a,Y12)) &
wenzelm
parents: 24127
diff changeset
  2618
  (\<forall>Z12 B13 A13. equal(Z12::'a,A13) & closed(B13::'a,Z12) --> closed(B13::'a,A13)) &
wenzelm
parents: 24127
diff changeset
  2619
  (\<forall>C13 D13 E13. equal(C13::'a,D13) & disjoint(C13::'a,E13) --> disjoint(D13::'a,E13)) &
wenzelm
parents: 24127
diff changeset
  2620
  (\<forall>F13 H13 G13. equal(F13::'a,G13) & disjoint(H13::'a,F13) --> disjoint(H13::'a,G13)) &
wenzelm
parents: 24127
diff changeset
  2621
  (\<forall>I13 J13. equal(I13::'a,J13) & function(I13) --> function(J13)) &
wenzelm
parents: 24127
diff changeset
  2622
  (\<forall>K13 L13 M13 N13 O13 P13. equal(K13::'a,L13) & homomorphism(K13::'a,M13,N13,O13,P13) --> homomorphism(L13::'a,M13,N13,O13,P13)) &
wenzelm
parents: 24127
diff changeset
  2623
  (\<forall>Q13 S13 R13 T13 U13 V13. equal(Q13::'a,R13) & homomorphism(S13::'a,Q13,T13,U13,V13) --> homomorphism(S13::'a,R13,T13,U13,V13)) &
wenzelm
parents: 24127
diff changeset
  2624
  (\<forall>W13 Y13 Z13 X13 A14 B14. equal(W13::'a,X13) & homomorphism(Y13::'a,Z13,W13,A14,B14) --> homomorphism(Y13::'a,Z13,X13,A14,B14)) &
wenzelm
parents: 24127
diff changeset
  2625
  (\<forall>C14 E14 F14 G14 D14 H14. equal(C14::'a,D14) & homomorphism(E14::'a,F14,G14,C14,H14) --> homomorphism(E14::'a,F14,G14,D14,H14)) &
wenzelm
parents: 24127
diff changeset
  2626
  (\<forall>I14 K14 L14 M14 N14 J14. equal(I14::'a,J14) & homomorphism(K14::'a,L14,M14,N14,I14) --> homomorphism(K14::'a,L14,M14,N14,J14)) &
wenzelm
parents: 24127
diff changeset
  2627
  (\<forall>O14 P14. equal(O14::'a,P14) & little_set(O14) --> little_set(P14)) &
wenzelm
parents: 24127
diff changeset
  2628
  (\<forall>Q14 R14 S14 T14. equal(Q14::'a,R14) & maps(Q14::'a,S14,T14) --> maps(R14::'a,S14,T14)) &
wenzelm
parents: 24127
diff changeset
  2629
  (\<forall>U14 W14 V14 X14. equal(U14::'a,V14) & maps(W14::'a,U14,X14) --> maps(W14::'a,V14,X14)) &
wenzelm
parents: 24127
diff changeset
  2630
  (\<forall>Y14 A15 B15 Z14. equal(Y14::'a,Z14) & maps(A15::'a,B15,Y14) --> maps(A15::'a,B15,Z14)) &
wenzelm
parents: 24127
diff changeset
  2631
  (\<forall>C15 D15 E15. equal(C15::'a,D15) & member(C15::'a,E15) --> member(D15::'a,E15)) &
wenzelm
parents: 24127
diff changeset
  2632
  (\<forall>F15 H15 G15. equal(F15::'a,G15) & member(H15::'a,F15) --> member(H15::'a,G15)) &
wenzelm
parents: 24127
diff changeset
  2633
  (\<forall>I15 J15. equal(I15::'a,J15) & one_to_one_function(I15) --> one_to_one_function(J15)) &
wenzelm
parents: 24127
diff changeset
  2634
  (\<forall>K15 L15. equal(K15::'a,L15) & ordered_pair_predicate(K15) --> ordered_pair_predicate(L15)) &
wenzelm
parents: 24127
diff changeset
  2635
  (\<forall>M15 N15 O15. equal(M15::'a,N15) & proper_subset(M15::'a,O15) --> proper_subset(N15::'a,O15)) &
wenzelm
parents: 24127
diff changeset
  2636
  (\<forall>P15 R15 Q15. equal(P15::'a,Q15) & proper_subset(R15::'a,P15) --> proper_subset(R15::'a,Q15)) &
wenzelm
parents: 24127
diff changeset
  2637
  (\<forall>S15 T15. equal(S15::'a,T15) & relation(S15) --> relation(T15)) &
wenzelm
parents: 24127
diff changeset
  2638
  (\<forall>U15 V15. equal(U15::'a,V15) & single_valued_set(U15) --> single_valued_set(V15)) &
wenzelm
parents: 24127
diff changeset
  2639
  (\<forall>W15 X15 Y15. equal(W15::'a,X15) & ssubset(W15::'a,Y15) --> ssubset(X15::'a,Y15)) &
wenzelm
parents: 24127
diff changeset
  2640
  (\<forall>Z15 B16 A16. equal(Z15::'a,A16) & ssubset(B16::'a,Z15) --> ssubset(B16::'a,A16)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2641
  (~little_set(ordered_pair(a::'a,b))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2642
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2643
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2644
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2645
(*13 inferences so far.  Searching to depth 8.  0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2646
lemma SET046_5:
24128
wenzelm
parents: 24127
diff changeset
  2647
 "(\<forall>Y X. ~(element(X::'a,a) & element(X::'a,Y) & element(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2648
  (\<forall>X. element(X::'a,f(X)) | element(X::'a,a)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2649
  (\<forall>X. element(f(X),X) | element(X::'a,a)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2650
   by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2651
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2652
(*33 inferences so far.  Searching to depth 9.  0.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2653
lemma SET047_5:
24128
wenzelm
parents: 24127
diff changeset
  2654
 "(\<forall>X Z Y. set_equal(X::'a,Y) & element(Z::'a,X) --> element(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2655
  (\<forall>Y Z X. set_equal(X::'a,Y) & element(Z::'a,Y) --> element(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2656
  (\<forall>X Y. element(f(X::'a,Y),X) | element(f(X::'a,Y),Y) | set_equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2657
  (\<forall>X Y. element(f(X::'a,Y),Y) & element(f(X::'a,Y),X) --> set_equal(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2658
  (set_equal(a::'a,b) | set_equal(b::'a,a)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2659
  (~(set_equal(b::'a,a) & set_equal(a::'a,b))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2660
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2661
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2662
(*311 inferences so far.  Searching to depth 12.  0.1 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2663
lemma SYN034_1:
24128
wenzelm
parents: 24127
diff changeset
  2664
 "(\<forall>A. p(A::'a,a) | p(A::'a,f(A))) &
wenzelm
parents: 24127
diff changeset
  2665
  (\<forall>A. p(A::'a,a) | p(f(A),A)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2666
  (\<forall>A B. ~(p(A::'a,B) & p(B::'a,A) & p(B::'a,a))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2667
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2668
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2669
(*30 inferences so far.  Searching to depth 6.  0.2 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2670
lemma SYN071_1:
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2671
  "EQU001_0_ax equal &
24128
wenzelm
parents: 24127
diff changeset
  2672
  (equal(a::'a,b) | equal(c::'a,d)) &
wenzelm
parents: 24127
diff changeset
  2673
  (equal(a::'a,c) | equal(b::'a,d)) &
wenzelm
parents: 24127
diff changeset
  2674
  (~equal(a::'a,d)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2675
  (~equal(b::'a,c)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2676
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2677
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2678
(*1897410 inferences so far.  Searching to depth 48
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2679
  206s, nearly 4 mins on griffon.*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2680
lemma SYN349_1:
24128
wenzelm
parents: 24127
diff changeset
  2681
 "(\<forall>X Y. f(w(X),g(X::'a,Y)) --> f(X::'a,g(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2682
  (\<forall>X Y. f(X::'a,g(X::'a,Y)) --> f(w(X),g(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2683
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2684
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2685
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2686
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2687
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2688
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2689
  (\<forall>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)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2690
  (\<forall>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"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2691
   oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2692
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2693
(*398 inferences so far.  Searching to depth 12.  0.4 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2694
lemma SYN352_1:
24128
wenzelm
parents: 24127
diff changeset
  2695
 "(f(a::'a,b)) &
wenzelm
parents: 24127
diff changeset
  2696
  (\<forall>X Y. f(X::'a,Y) --> f(b::'a,z(X::'a,Y)) | f(Y::'a,z(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2697
  (\<forall>X Y. f(X::'a,Y) | f(z(X::'a,Y),z(X::'a,Y))) &
wenzelm
parents: 24127
diff changeset
  2698
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2699
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2700
  (\<forall>X Y. ~(f(X::'a,Y) & f(X::'a,z(X::'a,Y)) & f(Y::'a,z(X::'a,Y)))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2701
  (\<forall>X Y. f(X::'a,Y) --> f(X::'a,z(X::'a,Y)) | f(Y::'a,z(X::'a,Y))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2702
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2703
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2704
(*5336 inferences so far.  Searching to depth 15.  5.3 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2705
lemma TOP001_2:
24128
wenzelm
parents: 24127
diff changeset
  2706
 "(\<forall>Vf U. element_of_set(U::'a,union_of_members(Vf)) --> element_of_set(U::'a,f1(Vf::'a,U))) &
wenzelm
parents: 24127
diff changeset
  2707
  (\<forall>U Vf. element_of_set(U::'a,union_of_members(Vf)) --> element_of_collection(f1(Vf::'a,U),Vf)) &
wenzelm
parents: 24127
diff changeset
  2708
  (\<forall>U Uu1 Vf. element_of_set(U::'a,Uu1) & element_of_collection(Uu1::'a,Vf) --> element_of_set(U::'a,union_of_members(Vf))) &
wenzelm
parents: 24127
diff changeset
  2709
  (\<forall>Vf X. basis(X::'a,Vf) --> equal_sets(union_of_members(Vf),X)) &
wenzelm
parents: 24127
diff changeset
  2710
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2711
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2712
  (\<forall>X. subset_sets(X::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2713
  (\<forall>X U Y. subset_sets(X::'a,Y) & element_of_set(U::'a,X) --> element_of_set(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2714
  (\<forall>X Y. equal_sets(X::'a,Y) --> subset_sets(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2715
  (\<forall>Y X. subset_sets(X::'a,Y) | element_of_set(in_1st_set(X::'a,Y),X)) &
wenzelm
parents: 24127
diff changeset
  2716
  (\<forall>X Y. element_of_set(in_1st_set(X::'a,Y),Y) --> subset_sets(X::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2717
  (basis(cx::'a,f)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2718
  (~subset_sets(union_of_members(top_of_basis(f)),cx)) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2719
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2720
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2721
(*0 inferences so far.  Searching to depth 0.  0 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2722
lemma TOP002_2:
24128
wenzelm
parents: 24127
diff changeset
  2723
 "(\<forall>Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) &
wenzelm
parents: 24127
diff changeset
  2724
  (\<forall>X. ~element_of_set(X::'a,empty_set)) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2725
  (~element_of_collection(empty_set::'a,top_of_basis(f))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2726
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2727
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2728
(*0 inferences so far.  Searching to depth 0.  6.5 secs.  BIG*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2729
lemma TOP004_1:
24128
wenzelm
parents: 24127
diff changeset
  2730
 "(\<forall>Vf U. element_of_set(U::'a,union_of_members(Vf)) --> element_of_set(U::'a,f1(Vf::'a,U))) &
wenzelm
parents: 24127
diff changeset
  2731
  (\<forall>U Vf. element_of_set(U::'a,union_of_members(Vf)) --> element_of_collection(f1(Vf::'a,U),Vf)) &
wenzelm
parents: 24127
diff changeset
  2732
  (\<forall>U Uu1 Vf. element_of_set(U::'a,Uu1) & element_of_collection(Uu1::'a,Vf) --> element_of_set(U::'a,union_of_members(Vf))) &
wenzelm
parents: 24127
diff changeset
  2733
  (\<forall>Vf U Va. element_of_set(U::'a,intersection_of_members(Vf)) & element_of_collection(Va::'a,Vf) --> element_of_set(U::'a,Va)) &
wenzelm
parents: 24127
diff changeset
  2734
  (\<forall>U Vf. element_of_set(U::'a,intersection_of_members(Vf)) | element_of_collection(f2(Vf::'a,U),Vf)) &
wenzelm
parents: 24127
diff changeset
  2735
  (\<forall>Vf U. element_of_set(U::'a,f2(Vf::'a,U)) --> element_of_set(U::'a,intersection_of_members(Vf))) &
wenzelm
parents: 24127
diff changeset
  2736
  (\<forall>Vt X. topological_space(X::'a,Vt) --> equal_sets(union_of_members(Vt),X)) &
wenzelm
parents: 24127
diff changeset
  2737
  (\<forall>X Vt. topological_space(X::'a,Vt) --> element_of_collection(empty_set::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2738
  (\<forall>X Vt. topological_space(X::'a,Vt) --> element_of_collection(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2739
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2740
  (\<forall>X Vf Vt. topological_space(X::'a,Vt) & subset_collections(Vf::'a,Vt) --> element_of_collection(union_of_members(Vf),Vt)) &
wenzelm
parents: 24127
diff changeset
  2741
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2742
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2743
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2744
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2745
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2746
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2747
  (\<forall>U X Vt. open(U::'a,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2748
  (\<forall>X U Vt. open(U::'a,X,Vt) --> element_of_collection(U::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2749
  (\<forall>X U Vt. topological_space(X::'a,Vt) & element_of_collection(U::'a,Vt) --> open(U::'a,X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2750
  (\<forall>U X Vt. closed(U::'a,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2751
  (\<forall>U X Vt. closed(U::'a,X,Vt) --> open(relative_complement_sets(U::'a,X),X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2752
  (\<forall>U X Vt. topological_space(X::'a,Vt) & open(relative_complement_sets(U::'a,X),X,Vt) --> closed(U::'a,X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2753
  (\<forall>Vs X Vt. finer(Vt::'a,Vs,X) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2754
  (\<forall>Vt X Vs. finer(Vt::'a,Vs,X) --> topological_space(X::'a,Vs)) &
wenzelm
parents: 24127
diff changeset
  2755
  (\<forall>X Vs Vt. finer(Vt::'a,Vs,X) --> subset_collections(Vs::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2756
  (\<forall>X Vs Vt. topological_space(X::'a,Vt) & topological_space(X::'a,Vs) & subset_collections(Vs::'a,Vt) --> finer(Vt::'a,Vs,X)) &
wenzelm
parents: 24127
diff changeset
  2757
  (\<forall>Vf X. basis(X::'a,Vf) --> equal_sets(union_of_members(Vf),X)) &
wenzelm
parents: 24127
diff changeset
  2758
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2759
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2760
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2761
  (\<forall>Vf X. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_set(f7(X::'a,Vf),X)) &
wenzelm
parents: 24127
diff changeset
  2762
  (\<forall>X Vf. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_collection(f8(X::'a,Vf),Vf)) &
wenzelm
parents: 24127
diff changeset
  2763
  (\<forall>X Vf. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_collection(f9(X::'a,Vf),Vf)) &
wenzelm
parents: 24127
diff changeset
  2764
  (\<forall>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)))) &
wenzelm
parents: 24127
diff changeset
  2765
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2766
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2767
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2768
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2769
  (\<forall>Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) &
wenzelm
parents: 24127
diff changeset
  2770
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2771
  (\<forall>U Y X Vt. element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y)) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2772
  (\<forall>U Vt Y X. element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y)) --> subset_sets(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2773
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2774
  (\<forall>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)))) &
wenzelm
parents: 24127
diff changeset
  2775
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2776
  (\<forall>U Y X Vt. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2777
  (\<forall>U Vt Y X. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> subset_sets(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2778
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2779
  (\<forall>X Vt U Y. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> subset_sets(f13(Y::'a,X,Vt,U),Y)) &
wenzelm
parents: 24127
diff changeset
  2780
  (\<forall>Y U X Vt. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> open(f13(Y::'a,X,Vt,U),X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2781
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2782
  (\<forall>U Y X Vt. element_of_set(U::'a,closure(Y::'a,X,Vt)) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2783
  (\<forall>U Vt Y X. element_of_set(U::'a,closure(Y::'a,X,Vt)) --> subset_sets(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2784
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2785
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2786
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2787
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2788
  (\<forall>U Y X Vt. neighborhood(U::'a,Y,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2789
  (\<forall>Y U X Vt. neighborhood(U::'a,Y,X,Vt) --> open(U::'a,X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2790
  (\<forall>X Vt Y U. neighborhood(U::'a,Y,X,Vt) --> element_of_set(Y::'a,U)) &
wenzelm
parents: 24127
diff changeset
  2791
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2792
  (\<forall>Z Y X Vt. limit_point(Z::'a,Y,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2793
  (\<forall>Z Vt Y X. limit_point(Z::'a,Y,X,Vt) --> subset_sets(Y::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2794
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2795
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2796
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2797
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2798
  (\<forall>U Y X Vt. element_of_set(U::'a,boundary(Y::'a,X,Vt)) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2799
  (\<forall>U Y X Vt. element_of_set(U::'a,boundary(Y::'a,X,Vt)) --> element_of_set(U::'a,closure(Y::'a,X,Vt))) &
wenzelm
parents: 24127
diff changeset
  2800
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2801
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2802
  (\<forall>X Vt. hausdorff(X::'a,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2803
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2804
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2805
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2806
  (\<forall>Vt X. topological_space(X::'a,Vt) --> hausdorff(X::'a,Vt) | element_of_set(f19(X::'a,Vt),X)) &
wenzelm
parents: 24127
diff changeset
  2807
  (\<forall>Vt X. topological_space(X::'a,Vt) --> hausdorff(X::'a,Vt) | element_of_set(f20(X::'a,Vt),X)) &
wenzelm
parents: 24127
diff changeset
  2808
  (\<forall>X Vt. topological_space(X::'a,Vt) & eq_p(f19(X::'a,Vt),f20(X::'a,Vt)) --> hausdorff(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2809
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2810
  (\<forall>Va1 Va2 X Vt. separation(Va1::'a,Va2,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2811
  (\<forall>Va2 X Vt Va1. ~(separation(Va1::'a,Va2,X,Vt) & equal_sets(Va1::'a,empty_set))) &
wenzelm
parents: 24127
diff changeset
  2812
  (\<forall>Va1 X Vt Va2. ~(separation(Va1::'a,Va2,X,Vt) & equal_sets(Va2::'a,empty_set))) &
wenzelm
parents: 24127
diff changeset
  2813
  (\<forall>Va2 X Va1 Vt. separation(Va1::'a,Va2,X,Vt) --> element_of_collection(Va1::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2814
  (\<forall>Va1 X Va2 Vt. separation(Va1::'a,Va2,X,Vt) --> element_of_collection(Va2::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2815
  (\<forall>Vt Va1 Va2 X. separation(Va1::'a,Va2,X,Vt) --> equal_sets(union_of_sets(Va1::'a,Va2),X)) &
wenzelm
parents: 24127
diff changeset
  2816
  (\<forall>X Vt Va1 Va2. separation(Va1::'a,Va2,X,Vt) --> disjoint_s(Va1::'a,Va2)) &
wenzelm
parents: 24127
diff changeset
  2817
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2818
  (\<forall>X Vt. connected_space(X::'a,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2819
  (\<forall>Va1 Va2 X Vt. ~(connected_space(X::'a,Vt) & separation(Va1::'a,Va2,X,Vt))) &
wenzelm
parents: 24127
diff changeset
  2820
  (\<forall>X Vt. topological_space(X::'a,Vt) --> connected_space(X::'a,Vt) | separation(f21(X::'a,Vt),f22(X::'a,Vt),X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2821
  (\<forall>Va X Vt. connected_set(Va::'a,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2822
  (\<forall>Vt Va X. connected_set(Va::'a,X,Vt) --> subset_sets(Va::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2823
  (\<forall>X Vt Va. connected_set(Va::'a,X,Vt) --> connected_space(Va::'a,subspace_topology(X::'a,Vt,Va))) &
wenzelm
parents: 24127
diff changeset
  2824
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2825
  (\<forall>Vf X Vt. open_covering(Vf::'a,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2826
  (\<forall>X Vf Vt. open_covering(Vf::'a,X,Vt) --> subset_collections(Vf::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2827
  (\<forall>Vt Vf X. open_covering(Vf::'a,X,Vt) --> equal_sets(union_of_members(Vf),X)) &
wenzelm
parents: 24127
diff changeset
  2828
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2829
  (\<forall>X Vt. compact_space(X::'a,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2830
  (\<forall>X Vt Vf1. compact_space(X::'a,Vt) & open_covering(Vf1::'a,X,Vt) --> finite'(f23(X::'a,Vt,Vf1))) &
wenzelm
parents: 24127
diff changeset
  2831
  (\<forall>X Vt Vf1. compact_space(X::'a,Vt) & open_covering(Vf1::'a,X,Vt) --> subset_collections(f23(X::'a,Vt,Vf1),Vf1)) &
wenzelm
parents: 24127
diff changeset
  2832
  (\<forall>Vf1 X Vt. compact_space(X::'a,Vt) & open_covering(Vf1::'a,X,Vt) --> open_covering(f23(X::'a,Vt,Vf1),X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2833
  (\<forall>X Vt. topological_space(X::'a,Vt) --> compact_space(X::'a,Vt) | open_covering(f24(X::'a,Vt),X,Vt)) &
wenzelm
parents: 24127
diff changeset
  2834
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2835
  (\<forall>Va X Vt. compact_set(Va::'a,X,Vt) --> topological_space(X::'a,Vt)) &
wenzelm
parents: 24127
diff changeset
  2836
  (\<forall>Vt Va X. compact_set(Va::'a,X,Vt) --> subset_sets(Va::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2837
  (\<forall>X Vt Va. compact_set(Va::'a,X,Vt) --> compact_space(Va::'a,subspace_topology(X::'a,Vt,Va))) &
wenzelm
parents: 24127
diff changeset
  2838
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2839
  (basis(cx::'a,f)) &
wenzelm
parents: 24127
diff changeset
  2840
  (\<forall>U. element_of_collection(U::'a,top_of_basis(f))) &
wenzelm
parents: 24127
diff changeset
  2841
  (\<forall>V. element_of_collection(V::'a,top_of_basis(f))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2842
  (\<forall>U V. ~element_of_collection(intersection_of_sets(U::'a,V),top_of_basis(f))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2843
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2844
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2845
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2846
(*0 inferences so far.  Searching to depth 0.  0.8 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2847
lemma TOP004_2:
24128
wenzelm
parents: 24127
diff changeset
  2848
 "(\<forall>U Uu1 Vf. element_of_set(U::'a,Uu1) & element_of_collection(Uu1::'a,Vf) --> element_of_set(U::'a,union_of_members(Vf))) &
wenzelm
parents: 24127
diff changeset
  2849
  (\<forall>Vf X. basis(X::'a,Vf) --> equal_sets(union_of_members(Vf),X)) &
wenzelm
parents: 24127
diff changeset
  2850
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2851
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2852
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2853
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2854
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2855
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2856
  (\<forall>Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) &
wenzelm
parents: 24127
diff changeset
  2857
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2858
  (\<forall>Y X Z. subset_sets(X::'a,Y) & subset_sets(Y::'a,Z) --> subset_sets(X::'a,Z)) &
wenzelm
parents: 24127
diff changeset
  2859
  (\<forall>Y Z X. element_of_set(Z::'a,intersection_of_sets(X::'a,Y)) --> element_of_set(Z::'a,X)) &
wenzelm
parents: 24127
diff changeset
  2860
  (\<forall>X Z Y. element_of_set(Z::'a,intersection_of_sets(X::'a,Y)) --> element_of_set(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2861
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2862
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2863
  (\<forall>X Z Y. equal_sets(X::'a,Y) & element_of_set(Z::'a,X) --> element_of_set(Z::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2864
  (\<forall>Y X. equal_sets(intersection_of_sets(X::'a,Y),intersection_of_sets(Y::'a,X))) &
wenzelm
parents: 24127
diff changeset
  2865
  (basis(cx::'a,f)) &
wenzelm
parents: 24127
diff changeset
  2866
  (\<forall>U. element_of_collection(U::'a,top_of_basis(f))) &
wenzelm
parents: 24127
diff changeset
  2867
  (\<forall>V. element_of_collection(V::'a,top_of_basis(f))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2868
  (\<forall>U V. ~element_of_collection(intersection_of_sets(U::'a,V),top_of_basis(f))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2869
  by meson
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2870
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2871
(*53777 inferences so far.  Searching to depth 20.  68.7 secs*)
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2872
lemma TOP005_2:
24128
wenzelm
parents: 24127
diff changeset
  2873
 "(\<forall>Vf U. element_of_set(U::'a,union_of_members(Vf)) --> element_of_set(U::'a,f1(Vf::'a,U))) &
wenzelm
parents: 24127
diff changeset
  2874
  (\<forall>U Vf. element_of_set(U::'a,union_of_members(Vf)) --> element_of_collection(f1(Vf::'a,U),Vf)) &
wenzelm
parents: 24127
diff changeset
  2875
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2876
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2877
  (\<forall>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)) &
wenzelm
parents: 24127
diff changeset
  2878
  (\<forall>Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) &
wenzelm
parents: 24127
diff changeset
  2879
  (\<forall>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))) &
wenzelm
parents: 24127
diff changeset
  2880
  (\<forall>X U Y. element_of_set(U::'a,X) --> subset_sets(X::'a,Y) | element_of_set(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2881
  (\<forall>Y X Z. subset_sets(X::'a,Y) & element_of_collection(Y::'a,Z) --> subset_sets(X::'a,union_of_members(Z))) &
wenzelm
parents: 24127
diff changeset
  2882
  (\<forall>X U Y. subset_collections(X::'a,Y) & element_of_collection(U::'a,X) --> element_of_collection(U::'a,Y)) &
wenzelm
parents: 24127
diff changeset
  2883
  (subset_collections(g::'a,top_of_basis(f))) &
24127
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2884
  (~element_of_collection(union_of_members(g),top_of_basis(f))) --> False"
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2885
  oops
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2886
a56b6ed2e49c converted Meson tests to proper theory;
wenzelm
parents:
diff changeset
  2887
end