1 (* Title: ZF/Ordinal.thy |
1 (* Title: ZF/Ordinal.thy |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
3 Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
4 Copyright 1994 University of Cambridge |
4 Copyright 1994 University of Cambridge |
5 |
5 |
6 Ordinals in Zermelo-Fraenkel Set Theory |
6 Ordinals in Zermelo-Fraenkel Set Theory |
7 *) |
7 *) |
8 |
8 |
9 Ordinal = WF + Bool + "simpdata" + "equalities" + |
9 Ordinal = WF + Bool + "simpdata" + "equalities" + |
10 consts |
10 consts |
11 Memrel :: i=>i |
11 Memrel :: i=>i |
12 Transset,Ord :: i=>o |
12 Transset,Ord :: i=>o |
13 "<" :: [i,i] => o (infixl 50) (*less than on ordinals*) |
13 "<" :: [i,i] => o (infixl 50) (*less than on ordinals*) |
14 "le" :: [i,i] => o (infixl 50) (*less than or equals*) |
14 "le" :: [i,i] => o (infixl 50) (*less than or equals*) |
15 Limit :: i=>o |
15 Limit :: i=>o |
16 |
16 |
17 translations |
17 translations |
18 "x le y" == "x < succ(y)" |
18 "x le y" == "x < succ(y)" |
19 |
19 |
20 defs |
20 defs |
21 Memrel_def "Memrel(A) == {z: A*A . EX x y. z=<x,y> & x:y }" |
21 Memrel_def "Memrel(A) == {z: A*A . EX x y. z=<x,y> & x:y }" |
22 Transset_def "Transset(i) == ALL x:i. x<=i" |
22 Transset_def "Transset(i) == ALL x:i. x<=i" |
23 Ord_def "Ord(i) == Transset(i) & (ALL x:i. Transset(x))" |
23 Ord_def "Ord(i) == Transset(i) & (ALL x:i. Transset(x))" |
24 lt_def "i<j == i:j & Ord(j)" |
24 lt_def "i<j == i:j & Ord(j)" |
25 Limit_def "Limit(i) == Ord(i) & 0<i & (ALL y. y<i --> succ(y)<i)" |
25 Limit_def "Limit(i) == Ord(i) & 0<i & (ALL y. y<i --> succ(y)<i)" |
26 |
26 |
27 end |
27 end |