src/HOLCF/pcpo.thy
author wenzelm
Mon, 01 Dec 1997 18:22:38 +0100
changeset 4334 e567f3425267
parent 243 c22b85994e17
permissions -rw-r--r--
ISABELLE_TMP_PREFIX;

(*  Title: 	HOLCF/pcpo.thy
    ID:         $Id$
    Author: 	Franz Regensburger
    Copyright   1993 Technische Universitaet Muenchen

Definition of class pcpo (pointed complete partial order)

The prototype theory for this class is porder.thy 

*)

Pcpo = Porder +

(* Introduction of new class. The witness is type void. *)

classes pcpo < po

(* default class is still term *)
(* void is the prototype in pcpo *)

arities void :: pcpo

consts	
	UU	::	"'a::pcpo"		(* UU is the least element *)
rules

(* class axioms: justification is theory Porder *)

minimal		"UU << x"			(* witness is minimal_void *)

cpo		"is_chain(S) ==> ? x. range(S) <<| x::('a::pcpo)" 
						(* witness is cpo_void     *)
						(* needs explicit type     *)

(* instance of UU for the prototype void *)

inst_void_pcpo	"UU::void = UU_void"

end