src/HOLCF/cfun3.thy
author wenzelm
Thu Aug 27 20:46:36 1998 +0200 (1998-08-27)
changeset 5400 645f46a24c72
parent 243 c22b85994e17
permissions -rw-r--r--
made tutorial first;
nipkow@243
     1
(*  Title: 	HOLCF/cfun3.thy
nipkow@243
     2
    ID:         $Id$
nipkow@243
     3
    Author: 	Franz Regensburger
nipkow@243
     4
    Copyright   1993 Technische Universitaet Muenchen
nipkow@243
     5
nipkow@243
     6
Class instance of  -> for class pcpo
nipkow@243
     7
nipkow@243
     8
*)
nipkow@243
     9
nipkow@243
    10
Cfun3 = Cfun2 +
nipkow@243
    11
nipkow@243
    12
arities "->"	:: (pcpo,pcpo)pcpo		(* Witness cfun2.ML *)
nipkow@243
    13
nipkow@243
    14
consts  
nipkow@243
    15
	Istrictify   :: "('a->'b)=>'a=>'b"
nipkow@243
    16
	strictify    :: "('a->'b)->'a->'b"
nipkow@243
    17
nipkow@243
    18
rules 
nipkow@243
    19
nipkow@243
    20
inst_cfun_pcpo	"UU::'a->'b = UU_cfun"
nipkow@243
    21
nipkow@243
    22
Istrictify_def	"Istrictify(f,x) == (@z.\
nipkow@243
    23
\			  ( x=UU --> z = UU)\
nipkow@243
    24
\			& (~x=UU --> z = f[x]))"	
nipkow@243
    25
nipkow@243
    26
strictify_def	"strictify == (LAM f x.Istrictify(f,x))"
nipkow@243
    27
nipkow@243
    28
end
nipkow@243
    29
nipkow@243
    30
nipkow@243
    31