src/ZF/CardinalArith.thy
changeset 484 70b789956bd3
parent 467 92868dab2939
child 516 1957113f0d7d
equal deleted inserted replaced
483:4d1614d8f119 484:70b789956bd3
     4     Copyright   1994  University of Cambridge
     4     Copyright   1994  University of Cambridge
     5 
     5 
     6 Cardinal Arithmetic
     6 Cardinal Arithmetic
     7 *)
     7 *)
     8 
     8 
     9 CardinalArith = Cardinal + OrderArith + Arith + 
     9 CardinalArith = Cardinal + OrderArith + Arith + Fin + 
    10 consts
    10 consts
    11   jump_cardinal :: "i=>i"
       
    12 
    11 
    13   InfCard     :: "i=>o"
    12   InfCard     :: "i=>o"
    14   "|*|"       :: "[i,i]=>i"       (infixl 70)
    13   "|*|"       :: "[i,i]=>i"       (infixl 70)
    15   "|+|"       :: "[i,i]=>i"       (infixl 65)
    14   "|+|"       :: "[i,i]=>i"       (infixl 65)
    16   csquare_rel :: "i=>i"
    15   csquare_rel :: "i=>i"
       
    16   jump_cardinal :: "i=>i"
       
    17   csucc       :: "i=>i"
    17 
    18 
    18 rules
    19 rules
    19 
       
    20   jump_cardinal_def
       
    21       "jump_cardinal(K) ==   \
       
    22 \         UN X:Pow(K). {z. r: Pow(X*X), well_ord(X,r) & z = ordertype(X,r)}"
       
    23 
       
    24 
    20 
    25   InfCard_def  "InfCard(i) == Card(i) & nat le i"
    21   InfCard_def  "InfCard(i) == Card(i) & nat le i"
    26 
    22 
    27   cadd_def     "i |+| j == | i+j |"
    23   cadd_def     "i |+| j == | i+j |"
    28 
    24 
    31   csquare_rel_def
    27   csquare_rel_def
    32   "csquare_rel(k) == rvimage(k*k, lam z:k*k. split(%x y. <x Un y, <x,y>>, z), \
    28   "csquare_rel(k) == rvimage(k*k, lam z:k*k. split(%x y. <x Un y, <x,y>>, z), \
    33 \                            rmult(k,Memrel(k), k*k, 	\
    29 \                            rmult(k,Memrel(k), k*k, 	\
    34 \                                  rmult(k,Memrel(k), k,Memrel(k))))"
    30 \                                  rmult(k,Memrel(k), k,Memrel(k))))"
    35 
    31 
       
    32   (*This def is more complex than Kunen's but it more easily proved to
       
    33     be a cardinal*)
       
    34   jump_cardinal_def
       
    35       "jump_cardinal(K) ==   \
       
    36 \         UN X:Pow(K). {z. r: Pow(K*K), well_ord(X,r) & z = ordertype(X,r)}"
       
    37 
       
    38   (*needed because jump_cardinal(K) might not be the successor of K*)
       
    39   csucc_def "csucc(K) == LEAST L. Card(L) & K<L"
       
    40 
    36 end
    41 end