src/HOLCF/pcpo.thy
changeset 243 c22b85994e17
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/HOLCF/pcpo.thy	Wed Jan 19 17:35:01 1994 +0100
     1.3 @@ -0,0 +1,39 @@
     1.4 +(*  Title: 	HOLCF/pcpo.thy
     1.5 +    ID:         $Id$
     1.6 +    Author: 	Franz Regensburger
     1.7 +    Copyright   1993 Technische Universitaet Muenchen
     1.8 +
     1.9 +Definition of class pcpo (pointed complete partial order)
    1.10 +
    1.11 +The prototype theory for this class is porder.thy 
    1.12 +
    1.13 +*)
    1.14 +
    1.15 +Pcpo = Porder +
    1.16 +
    1.17 +(* Introduction of new class. The witness is type void. *)
    1.18 +
    1.19 +classes pcpo < po
    1.20 +
    1.21 +(* default class is still term *)
    1.22 +(* void is the prototype in pcpo *)
    1.23 +
    1.24 +arities void :: pcpo
    1.25 +
    1.26 +consts	
    1.27 +	UU	::	"'a::pcpo"		(* UU is the least element *)
    1.28 +rules
    1.29 +
    1.30 +(* class axioms: justification is theory Porder *)
    1.31 +
    1.32 +minimal		"UU << x"			(* witness is minimal_void *)
    1.33 +
    1.34 +cpo		"is_chain(S) ==> ? x. range(S) <<| x::('a::pcpo)" 
    1.35 +						(* witness is cpo_void     *)
    1.36 +						(* needs explicit type     *)
    1.37 +
    1.38 +(* instance of UU for the prototype void *)
    1.39 +
    1.40 +inst_void_pcpo	"UU::void = UU_void"
    1.41 +
    1.42 +end