src/HOLCF/Cfun3.thy
changeset 243 c22b85994e17
child 442 13ac1fd0a14d
equal deleted inserted replaced
242:8fe3e66abf0c 243:c22b85994e17
       
     1 (*  Title: 	HOLCF/cfun3.thy
       
     2     ID:         $Id$
       
     3     Author: 	Franz Regensburger
       
     4     Copyright   1993 Technische Universitaet Muenchen
       
     5 
       
     6 Class instance of  -> for class pcpo
       
     7 
       
     8 *)
       
     9 
       
    10 Cfun3 = Cfun2 +
       
    11 
       
    12 arities "->"	:: (pcpo,pcpo)pcpo		(* Witness cfun2.ML *)
       
    13 
       
    14 consts  
       
    15 	Istrictify   :: "('a->'b)=>'a=>'b"
       
    16 	strictify    :: "('a->'b)->'a->'b"
       
    17 
       
    18 rules 
       
    19 
       
    20 inst_cfun_pcpo	"UU::'a->'b = UU_cfun"
       
    21 
       
    22 Istrictify_def	"Istrictify(f,x) == (@z.\
       
    23 \			  ( x=UU --> z = UU)\
       
    24 \			& (~x=UU --> z = f[x]))"	
       
    25 
       
    26 strictify_def	"strictify == (LAM f x.Istrictify(f,x))"
       
    27 
       
    28 end
       
    29 
       
    30 
       
    31