src/HOLCF/ssum3.thy
author paulson
Mon Dec 07 18:26:25 1998 +0100 (1998-12-07)
changeset 6019 0e55c2fb2ebb
parent 243 c22b85994e17
permissions -rw-r--r--
tidying
nipkow@243
     1
(*  Title: 	HOLCF/ssum3.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
Ssum3 = Ssum2 +
nipkow@243
    10
nipkow@243
    11
arities "++" :: (pcpo,pcpo)pcpo			(* Witness ssum2.ML *)
nipkow@243
    12
nipkow@243
    13
consts  
nipkow@243
    14
	sinl	     :: "'a -> ('a++'b)" 
nipkow@243
    15
	sinr	     :: "'b -> ('a++'b)" 
nipkow@243
    16
	when         :: "('a->'c)->('b->'c)->('a ++ 'b)-> 'c"
nipkow@243
    17
nipkow@243
    18
rules 
nipkow@243
    19
nipkow@243
    20
inst_ssum_pcpo	"UU::'a++'b = Isinl(UU)"
nipkow@243
    21
nipkow@243
    22
sinl_def	"sinl   == (LAM x.Isinl(x))"
nipkow@243
    23
sinr_def	"sinr   == (LAM x.Isinr(x))"
nipkow@243
    24
when_def	"when   == (LAM f g s.Iwhen(f)(g)(s))"
nipkow@243
    25
nipkow@243
    26
end
nipkow@243
    27
nipkow@243
    28
nipkow@243
    29