src/ZF/Cardinal.thy
author lcp
Tue, 21 Jun 1994 17:20:34 +0200
changeset 435 ca5356bd315a
child 753 ec86863e87c8
permissions -rw-r--r--
Addition of cardinals and order types, various tidying
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
435
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     1
(*  Title: 	ZF/Cardinal.thy
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     2
    ID:         $Id$
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     3
    Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     4
    Copyright   1994  University of Cambridge
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     5
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     6
Cardinals in Zermelo-Fraenkel Set Theory 
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     7
*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     8
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
     9
Cardinal = OrderType + Fixedpt + Nat + Sum + 
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    10
consts
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    11
  Least            :: "(i=>o) => i"    (binder "LEAST " 10)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    12
  eqpoll, lepoll   :: "[i,i] => o"     (infixl 50)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    13
  "cardinal"       :: "i=>i"           ("|_|")
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    14
  Card             :: "i=>o"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    15
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    16
  swap       :: "[i,i,i]=>i"     (*not used; useful??*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    17
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    18
rules
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    19
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    20
  (*least ordinal operator*)
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    21
  Least_def  "Least(P) == THE i. Ord(i) & P(i) & (ALL j. j<i --> ~P(j))"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    22
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    23
  eqpoll_def "A eqpoll B == EX f. f: bij(A,B)"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    24
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    25
  lepoll_def "A lepoll B == EX f. f: inj(A,B)"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    26
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    27
  cardinal_def "|A| == LEAST i. i eqpoll A"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    28
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    29
  Card_def     "Card(i) == ( i = |i| )"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    30
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    31
  swap_def   "swap(A,x,y) == (lam z:A. if(z=x, y, if(z=y, x, z)))"
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    32
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents:
diff changeset
    33
end