author | paulson |
Wed, 16 Jan 2002 17:53:22 +0100 | |
changeset 12777 | 70b2651af635 |
parent 12114 | a8e860c86252 |
child 14981 | e73f8140af78 |
permissions | -rw-r--r-- |
2640 | 1 |
(* Title: HOLCF/Pcpo.thy |
2 |
ID: $Id$ |
|
3 |
Author: Franz Regensburger |
|
12030 | 4 |
License: GPL (GNU GENERAL PUBLIC LICENSE) |
2640 | 5 |
|
6 |
introduction of the classes cpo and pcpo |
|
7 |
*) |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
8 |
Pcpo = Porder + |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
9 |
|
2640 | 10 |
(* The class cpo of chain complete partial orders *) |
11 |
(* ********************************************** *) |
|
12 |
axclass cpo < po |
|
13 |
(* class axiom: *) |
|
5438 | 14 |
cpo "chain S ==> ? x. range S <<| x" |
2394 | 15 |
|
2640 | 16 |
(* The class pcpo of pointed cpos *) |
17 |
(* ****************************** *) |
|
18 |
axclass pcpo < cpo |
|
19 |
||
3842 | 20 |
least "? x.!y. x<<y" |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
21 |
|
2394 | 22 |
consts |
2640 | 23 |
UU :: "'a::pcpo" |
2394 | 24 |
|
12114
a8e860c86252
eliminated old "symbols" syntax, use "xsymbols" instead;
wenzelm
parents:
12030
diff
changeset
|
25 |
syntax (xsymbols) |
2640 | 26 |
UU :: "'a::pcpo" ("\\<bottom>") |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
27 |
|
2640 | 28 |
defs |
3842 | 29 |
UU_def "UU == @x.!y. x<<y" |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
30 |
|
3326 | 31 |
(* further useful classes for HOLCF domains *) |
32 |
||
33 |
axclass chfin<cpo |
|
34 |
||
4721
c8a8482a8124
renamed is_chain to chain, is_tord to tord, replaced chain_finite by chfin
oheimb
parents:
3842
diff
changeset
|
35 |
chfin "!Y. chain Y-->(? n. max_in_chain n Y)" |
3326 | 36 |
|
37 |
axclass flat<pcpo |
|
38 |
||
3842 | 39 |
ax_flat "! x y. x << y --> (x = UU) | (x=y)" |
3326 | 40 |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
41 |
end |