author | nipkow |
Thu, 26 Nov 1998 12:18:08 +0100 | |
changeset 5974 | 6acf3ff0f486 |
parent 1478 | 2b8c2a7547ab |
child 6117 | f9aad8ccd590 |
permissions | -rw-r--r-- |
1478 | 1 |
(* Title: ZF/ex/Brouwer.thy |
515 | 2 |
ID: $ $ |
1478 | 3 |
Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
515 | 4 |
Copyright 1994 University of Cambridge |
5 |
||
528
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
6 |
Infinite branching datatype definitions |
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
7 |
(1) the Brouwer ordinals |
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
8 |
(2) the Martin-Löf wellordering type |
515 | 9 |
*) |
10 |
||
11 |
Brouwer = InfDatatype + |
|
12 |
consts |
|
1401 | 13 |
brouwer :: i |
14 |
Well :: [i,i=>i]=>i |
|
515 | 15 |
|
16 |
datatype <= "Vfrom(0, csucc(nat))" |
|
17 |
"brouwer" = Zero | Suc ("b: brouwer") | Lim ("h: nat -> brouwer") |
|
1478 | 18 |
monos "[Pi_mono]" |
515 | 19 |
type_intrs "inf_datatype_intrs" |
20 |
||
528
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
21 |
(*The union with nat ensures that the cardinal is infinite*) |
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
22 |
datatype <= "Vfrom(A Un (UN x:A. B(x)), csucc(nat Un |UN x:A. B(x)|))" |
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
23 |
"Well(A,B)" = Sup ("a:A", "f: B(a) -> Well(A,B)") |
1478 | 24 |
monos "[Pi_mono]" |
1155 | 25 |
type_intrs "[[UN_upper_cardinal, le_nat_Un_cardinal] MRS le_trans] |
1478 | 26 |
@ inf_datatype_intrs" |
528
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
27 |
|
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
28 |
|
515 | 29 |
end |