src/HOLCF/Pcpo.thy
author wenzelm
Thu Aug 27 20:46:36 1998 +0200 (1998-08-27)
changeset 5400 645f46a24c72
parent 4721 c8a8482a8124
child 5438 c89ee3a46a74
permissions -rw-r--r--
made tutorial first;
     1 (*  Title:      HOLCF/Pcpo.thy
     2     ID:         $Id$
     3     Author:     Franz Regensburger
     4     Copyright   1993 Technische Universitaet Muenchen
     5 
     6 introduction of the classes cpo and pcpo 
     7 *)
     8 Pcpo = Porder +
     9 
    10 (* The class cpo of chain complete partial orders *)
    11 (* ********************************************** *)
    12 axclass cpo < po
    13         (* class axiom: *)
    14   cpo   "chain S ==> ? x. range(S) <<| (x::'a::po)" 
    15 
    16 (* The class pcpo of pointed cpos *)
    17 (* ****************************** *)
    18 axclass pcpo < cpo
    19 
    20   least         "? x.!y. x<<y"
    21 
    22 consts
    23   UU            :: "'a::pcpo"        
    24 
    25 syntax (symbols)
    26   UU            :: "'a::pcpo"                           ("\\<bottom>")
    27 
    28 defs
    29   UU_def        "UU == @x.!y. x<<y"       
    30 
    31 (* further useful classes for HOLCF domains *)
    32 
    33 axclass chfin<cpo
    34 
    35 chfin 	"!Y. chain Y-->(? n. max_in_chain n Y)"
    36 
    37 axclass flat<pcpo
    38 
    39 ax_flat	 	"! x y. x << y --> (x = UU) | (x=y)"
    40 
    41 end