| author | wenzelm |
| Sat, 08 Sep 2001 20:02:59 +0200 | |
| changeset 11552 | aca5398ccd35 |
| parent 11354 | 9b80fe19407f |
| 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 |
||
|
11354
9b80fe19407f
examples files start from Main instead of various ZF theories
paulson
parents:
11316
diff
changeset
|
11 |
Brouwer = Main + |
|
9b80fe19407f
examples files start from Main instead of various ZF theories
paulson
parents:
11316
diff
changeset
|
12 |
|
| 515 | 13 |
consts |
| 1401 | 14 |
brouwer :: i |
15 |
Well :: [i,i=>i]=>i |
|
| 515 | 16 |
|
17 |
datatype <= "Vfrom(0, csucc(nat))" |
|
| 11316 | 18 |
"brouwer" = Zero | Suc ("b \\<in> brouwer") | Lim ("h \\<in> nat -> brouwer")
|
| 6117 | 19 |
monos Pi_mono |
| 515 | 20 |
type_intrs "inf_datatype_intrs" |
21 |
||
|
528
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
22 |
(*The union with nat ensures that the cardinal is infinite*) |
| 11316 | 23 |
datatype <= "Vfrom(A Un (\\<Union>x \\<in> A. B(x)), csucc(nat Un |\\<Union>x \\<in> A. B(x)|))" |
24 |
"Well(A,B)" = Sup ("a \\<in> A", "f \\<in> B(a) -> Well(A,B)")
|
|
| 6117 | 25 |
monos Pi_mono |
| 1155 | 26 |
type_intrs "[[UN_upper_cardinal, le_nat_Un_cardinal] MRS le_trans] |
| 1478 | 27 |
@ inf_datatype_intrs" |
|
528
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
28 |
|
|
61dc99226f8f
ZF/ex/Brouwer.thy,.ML: new example of wellordering types
lcp
parents:
515
diff
changeset
|
29 |
|
| 515 | 30 |
end |