equal
deleted
inserted
replaced
1 (* Title: ZF/univ.thy |
1 (* Title: ZF/univ.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 1992 University of Cambridge |
4 Copyright 1992 University of Cambridge |
5 |
5 |
6 The cumulative hierarchy and a small universe for recursive types |
6 The cumulative hierarchy and a small universe for recursive types |
7 |
7 |
8 Standard notation for Vset(i) is V(i), but users might want V for a variable |
8 Standard notation for Vset(i) is V(i), but users might want V for a variable |
17 Vset :: i=>i |
17 Vset :: i=>i |
18 Vrec :: [i, [i,i]=>i] =>i |
18 Vrec :: [i, [i,i]=>i] =>i |
19 univ :: i=>i |
19 univ :: i=>i |
20 |
20 |
21 translations |
21 translations |
22 "Vset(x)" == "Vfrom(0,x)" |
22 "Vset(x)" == "Vfrom(0,x)" |
23 |
23 |
24 defs |
24 defs |
25 Vfrom_def "Vfrom(A,i) == transrec(i, %x f. A Un (UN y:x. Pow(f`y)))" |
25 Vfrom_def "Vfrom(A,i) == transrec(i, %x f. A Un (UN y:x. Pow(f`y)))" |
26 |
26 |
27 Vrec_def |
27 Vrec_def |
28 "Vrec(a,H) == transrec(rank(a), %x g. lam z: Vset(succ(x)). |
28 "Vrec(a,H) == transrec(rank(a), %x g. lam z: Vset(succ(x)). |
29 H(z, lam w:Vset(x). g`rank(w)`w)) ` a" |
29 H(z, lam w:Vset(x). g`rank(w)`w)) ` a" |
30 |
30 |
31 univ_def "univ(A) == Vfrom(A,nat)" |
31 univ_def "univ(A) == Vfrom(A,nat)" |
32 |
32 |
33 end |
33 end |