src/ZF/AC/AC_Equiv.thy
changeset 32960 69916a850301
parent 27678 85ea2be46c71
child 46822 95f1e700b712
equal deleted inserted replaced
32959:23a8c5ac35f8 32960:69916a850301
     1 (*  Title:      ZF/AC/AC_Equiv.thy
     1 (*  Title:      ZF/AC/AC_Equiv.thy
     2     ID:         $Id$
       
     3     Author:     Krzysztof Grabczewski
     2     Author:     Krzysztof Grabczewski
     4 
     3 
     5 Axioms AC1 -- AC19 come from "Equivalents of the Axiom of Choice, II"
     4 Axioms AC1 -- AC19 come from "Equivalents of the Axiom of Choice, II"
     6 by H. Rubin and J.E. Rubin, 1985.
     5 by H. Rubin and J.E. Rubin, 1985.
     7 
     6 
    27 definition  
    26 definition  
    28     "WO3 == \<forall>A. \<exists>a. Ord(a) & (\<exists>b. b \<subseteq> a & A\<approx>b)"
    27     "WO3 == \<forall>A. \<exists>a. Ord(a) & (\<exists>b. b \<subseteq> a & A\<approx>b)"
    29 
    28 
    30 definition  
    29 definition  
    31     "WO4(m) == \<forall>A. \<exists>a f. Ord(a) & domain(f)=a &   
    30     "WO4(m) == \<forall>A. \<exists>a f. Ord(a) & domain(f)=a &   
    32 		         (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m)"
    31                          (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m)"
    33 
    32 
    34 definition  
    33 definition  
    35     "WO5 == \<exists>m \<in> nat. 1\<le>m & WO4(m)"
    34     "WO5 == \<exists>m \<in> nat. 1\<le>m & WO4(m)"
    36 
    35 
    37 definition  
    36 definition  
    38     "WO6 == \<forall>A. \<exists>m \<in> nat. 1\<le>m & (\<exists>a f. Ord(a) & domain(f)=a
    37     "WO6 == \<forall>A. \<exists>m \<in> nat. 1\<le>m & (\<exists>a f. Ord(a) & domain(f)=a
    39 		               & (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m))"
    38                                & (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m))"
    40 
    39 
    41 definition  
    40 definition  
    42     "WO7 == \<forall>A. Finite(A) <-> (\<forall>R. well_ord(A,R) --> well_ord(A,converse(R)))"
    41     "WO7 == \<forall>A. Finite(A) <-> (\<forall>R. well_ord(A,R) --> well_ord(A,converse(R)))"
    43 
    42 
    44 definition  
    43 definition  
    62 definition
    61 definition
    63     "AC1 == \<forall>A. 0\<notin>A --> (\<exists>f. f \<in> (\<Pi> X \<in> A. X))"
    62     "AC1 == \<forall>A. 0\<notin>A --> (\<exists>f. f \<in> (\<Pi> X \<in> A. X))"
    64 
    63 
    65 definition
    64 definition
    66     "AC2 == \<forall>A. 0\<notin>A & pairwise_disjoint(A)   
    65     "AC2 == \<forall>A. 0\<notin>A & pairwise_disjoint(A)   
    67 		   --> (\<exists>C. \<forall>B \<in> A. \<exists>y. B Int C = {y})"
    66                    --> (\<exists>C. \<forall>B \<in> A. \<exists>y. B Int C = {y})"
    68 definition
    67 definition
    69     "AC3 == \<forall>A B. \<forall>f \<in> A->B. \<exists>g. g \<in> (\<Pi> x \<in> {a \<in> A. f`a\<noteq>0}. f`x)"
    68     "AC3 == \<forall>A B. \<forall>f \<in> A->B. \<exists>g. g \<in> (\<Pi> x \<in> {a \<in> A. f`a\<noteq>0}. f`x)"
    70 
    69 
    71 definition
    70 definition
    72     "AC4 == \<forall>R A B. (R \<subseteq> A*B --> (\<exists>f. f \<in> (\<Pi> x \<in> domain(R). R``{x})))"
    71     "AC4 == \<forall>R A B. (R \<subseteq> A*B --> (\<exists>f. f \<in> (\<Pi> x \<in> domain(R). R``{x})))"
    80 definition
    79 definition
    81     "AC7 == \<forall>A. 0\<notin>A & (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) --> (\<Pi> B \<in> A. B) \<noteq> 0"
    80     "AC7 == \<forall>A. 0\<notin>A & (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) --> (\<Pi> B \<in> A. B) \<noteq> 0"
    82 
    81 
    83 definition
    82 definition
    84     "AC8 == \<forall>A. (\<forall>B \<in> A. \<exists>B1 B2. B=<B1,B2> & B1\<approx>B2)   
    83     "AC8 == \<forall>A. (\<forall>B \<in> A. \<exists>B1 B2. B=<B1,B2> & B1\<approx>B2)   
    85 		   --> (\<exists>f. \<forall>B \<in> A. f`B \<in> bij(fst(B),snd(B)))"
    84                    --> (\<exists>f. \<forall>B \<in> A. f`B \<in> bij(fst(B),snd(B)))"
    86 
    85 
    87 definition
    86 definition
    88     "AC9 == \<forall>A. (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) -->   
    87     "AC9 == \<forall>A. (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) -->   
    89 		   (\<exists>f. \<forall>B1 \<in> A. \<forall>B2 \<in> A. f`<B1,B2> \<in> bij(B1,B2))"
    88                    (\<exists>f. \<forall>B1 \<in> A. \<forall>B2 \<in> A. f`<B1,B2> \<in> bij(B1,B2))"
    90 
    89 
    91 definition
    90 definition
    92     "AC10(n) ==  \<forall>A. (\<forall>B \<in> A. ~Finite(B)) -->   
    91     "AC10(n) ==  \<forall>A. (\<forall>B \<in> A. ~Finite(B)) -->   
    93 		   (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) &   
    92                    (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) &   
    94 		   sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B))"
    93                    sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B))"
    95 
    94 
    96 definition
    95 definition
    97     "AC11 == \<exists>n \<in> nat. 1\<le>n & AC10(n)"
    96     "AC11 == \<exists>n \<in> nat. 1\<le>n & AC10(n)"
    98 
    97 
    99 definition
    98 definition
   100     "AC12 == \<forall>A. (\<forall>B \<in> A. ~Finite(B)) -->
    99     "AC12 == \<forall>A. (\<forall>B \<in> A. ~Finite(B)) -->
   101   	         (\<exists>n \<in> nat. 1\<le>n & (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) &   
   100                  (\<exists>n \<in> nat. 1\<le>n & (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) &   
   102 	              sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B)))"
   101                       sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B)))"
   103 
   102 
   104 definition
   103 definition
   105     "AC13(m) == \<forall>A. 0\<notin>A --> (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m)"
   104     "AC13(m) == \<forall>A. 0\<notin>A --> (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m)"
   106 
   105 
   107 definition
   106 definition
   112                  (\<exists>m \<in> nat. 1\<le>m & (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m))"
   111                  (\<exists>m \<in> nat. 1\<le>m & (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m))"
   113 
   112 
   114 definition
   113 definition
   115     "AC16(n, k)  == 
   114     "AC16(n, k)  == 
   116        \<forall>A. ~Finite(A) -->   
   115        \<forall>A. ~Finite(A) -->   
   117 	   (\<exists>T. T \<subseteq> {X \<in> Pow(A). X\<approx>succ(n)} &   
   116            (\<exists>T. T \<subseteq> {X \<in> Pow(A). X\<approx>succ(n)} &   
   118 	   (\<forall>X \<in> {X \<in> Pow(A). X\<approx>succ(k)}. \<exists>! Y. Y \<in> T & X \<subseteq> Y))"
   117            (\<forall>X \<in> {X \<in> Pow(A). X\<approx>succ(k)}. \<exists>! Y. Y \<in> T & X \<subseteq> Y))"
   119 
   118 
   120 definition
   119 definition
   121     "AC17 == \<forall>A. \<forall>g \<in> (Pow(A)-{0} -> A) -> Pow(A)-{0}.   
   120     "AC17 == \<forall>A. \<forall>g \<in> (Pow(A)-{0} -> A) -> Pow(A)-{0}.   
   122 		   \<exists>f \<in> Pow(A)-{0} -> A. f`(g`f) \<in> g`f"
   121                    \<exists>f \<in> Pow(A)-{0} -> A. f`(g`f) \<in> g`f"
   123 
   122 
   124 locale AC18 =
   123 locale AC18 =
   125   assumes AC18: "A\<noteq>0 & (\<forall>a \<in> A. B(a) \<noteq> 0) -->
   124   assumes AC18: "A\<noteq>0 & (\<forall>a \<in> A. B(a) \<noteq> 0) -->
   126     ((\<Inter>a \<in> A. \<Union>b \<in> B(a). X(a,b)) =   
   125     ((\<Inter>a \<in> A. \<Union>b \<in> B(a). X(a,b)) =   
   127       (\<Union>f \<in> \<Pi> a \<in> A. B(a). \<Inter>a \<in> A. X(a, f`a)))"
   126       (\<Union>f \<in> \<Pi> a \<in> A. B(a). \<Inter>a \<in> A. X(a, f`a)))"
   128   --"AC18 cannot be expressed within the object-logic"
   127   --"AC18 cannot be expressed within the object-logic"
   129 
   128 
   130 definition
   129 definition
   131     "AC19 == \<forall>A. A\<noteq>0 & 0\<notin>A --> ((\<Inter>a \<in> A. \<Union>b \<in> a. b) =   
   130     "AC19 == \<forall>A. A\<noteq>0 & 0\<notin>A --> ((\<Inter>a \<in> A. \<Union>b \<in> a. b) =   
   132 		   (\<Union>f \<in> (\<Pi> B \<in> A. B). \<Inter>a \<in> A. f`a))"
   131                    (\<Union>f \<in> (\<Pi> B \<in> A. B). \<Inter>a \<in> A. f`a))"
   133 
   132 
   134 
   133 
   135 
   134 
   136 (* ********************************************************************** *)
   135 (* ********************************************************************** *)
   137 (*                    Theorems concerning ordinals                        *)
   136 (*                    Theorems concerning ordinals                        *)