src/ZF/AC/DC.thy
author paulson
Mon, 21 May 2001 14:45:52 +0200
changeset 11317 7f9e4c389318
parent 6015 d1d5dd2f121c
child 12776 249600a63ba9
permissions -rw-r--r--
X-symbols for set theory
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1478
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
     1
(*  Title:      ZF/AC/DC.thy
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
     2
    ID:         $Id$
1478
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
     3
    Author:     Krzysztof Grabczewski
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
     4
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
     5
Theory file for the proofs concernind the Axiom of Dependent Choice
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
     6
*)
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
     7
3892
1d184682ac9f fixed dependencies;
wenzelm
parents: 2469
diff changeset
     8
DC  =  AC_Equiv + Hartog + Cardinal_aux + DC_lemmas + 
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
     9
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    10
consts
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    11
1401
0c439768f45c removed quotes from consts and syntax sections
clasohm
parents: 1203
diff changeset
    12
  DC  :: i => o
0c439768f45c removed quotes from consts and syntax sections
clasohm
parents: 1203
diff changeset
    13
  DC0 :: o
0c439768f45c removed quotes from consts and syntax sections
clasohm
parents: 1203
diff changeset
    14
  ff  :: [i, i, i, i] => i
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    15
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    16
rules
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    17
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    18
  DC_def  "DC(a) ==
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    19
	     \\<forall>X R. R \\<subseteq> Pow(X)*X &
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    20
             (\\<forall>Y \\<in> Pow(X). Y lesspoll a --> (\\<exists>x \\<in> X. <Y,x> \\<in> R)) 
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    21
             --> (\\<exists>f \\<in> a->X. \\<forall>b<a. <f``b,f`b> \\<in> R)"
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    22
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    23
  DC0_def "DC0 == \\<forall>A B R. R \\<subseteq> A*B & R\\<noteq>0 & range(R) \\<subseteq> domain(R) 
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    24
                  --> (\\<exists>f \\<in> nat->domain(R). \\<forall>n \\<in> nat. <f`n,f`succ(n)>:R)"
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    25
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    26
  ff_def  "ff(b, X, Q, R) ==
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    27
	   transrec(b, %c r. THE x. first(x, {x \\<in> X. <r``c, x> \\<in> R}, Q))"
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    28
  
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    29
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    30
locale DC0_imp =
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    31
  fixes 
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    32
    XX	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    33
    RR	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    34
    X	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    35
    R	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    36
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    37
  assumes
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    38
    all_ex    "\\<forall>Y \\<in> Pow(X). Y lesspoll nat --> (\\<exists>x \\<in> X. <Y, x> \\<in> R)"
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    39
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    40
  defines
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    41
    XX_def    "XX == (\\<Union>n \\<in> nat. {f \\<in> n->X. \\<forall>k \\<in> n. <f``k, f`k> \\<in> R})"
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    42
    RR_def    "RR == {<z1,z2>:XX*XX. domain(z2)=succ(domain(z1))  
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    43
                                  & restrict(z2, domain(z1)) = z1}"
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    44
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    45
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    46
locale imp_DC0 =
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    47
  fixes 
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    48
    XX	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    49
    RR	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    50
    x	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    51
    R	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    52
    f	:: i
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    53
    allRR :: o
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    54
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    55
  defines
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    56
    XX_def    "XX == (\\<Union>n \\<in> nat.
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    57
		      {f \\<in> succ(n)->domain(R). \\<forall>k \\<in> n. <f`k, f`succ(k)> \\<in> R})"
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    58
    RR_def
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    59
     "RR == {<z1,z2>:Fin(XX)*XX. 
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    60
              (domain(z2)=succ(\\<Union>f \\<in> z1. domain(f))  
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    61
                & (\\<forall>f \\<in> z1. restrict(z2, domain(f)) = f))
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    62
	      | (~ (\\<exists>g \\<in> XX. domain(g)=succ(\\<Union>f \\<in> z1. domain(f))  
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    63
                 & (\\<forall>f \\<in> z1. restrict(g, domain(f)) = f)) & z2={<0,x>})}"
5482
73dc3b2a7102 tidied using locales
paulson
parents: 3892
diff changeset
    64
    allRR_def
11317
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    65
     "allRR == \\<forall>b<nat.
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    66
                <f``b, f`b> \\<in>  
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    67
                 {<z1,z2>:Fin(XX)*XX. (domain(z2)=succ(\\<Union>f \\<in> z1. domain(f))  
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    68
                                    & (\\<Union>f \\<in> z1. domain(f)) = b  
7f9e4c389318 X-symbols for set theory
paulson
parents: 6015
diff changeset
    69
                                    & (\\<forall>f \\<in> z1. restrict(z2,domain(f)) = f))}"
1196
d43c1f7a53fe Numerous small improvements by KG and LCP
lcp
parents:
diff changeset
    70
end