src/HOLCF/Lift3.thy
changeset 1479 21eb5e156d91
parent 1274 ea0668a1c0ba
equal deleted inserted replaced
1478:2b8c2a7547ab 1479:21eb5e156d91
     1 (*  Title: 	HOLCF/lift3.thy
     1 (*  Title:      HOLCF/lift3.thy
     2     ID:         $Id$
     2     ID:         $Id$
     3     Author: 	Franz Regensburger
     3     Author:     Franz Regensburger
     4     Copyright   1993 Technische Universitaet Muenchen
     4     Copyright   1993 Technische Universitaet Muenchen
     5 
     5 
     6 
     6 
     7 Class instance of  ('a)u for class pcpo
     7 Class instance of  ('a)u for class pcpo
     8 
     8 
     9 *)
     9 *)
    10 
    10 
    11 Lift3 = Lift2 +
    11 Lift3 = Lift2 +
    12 
    12 
    13 arities "u" :: (pcpo)pcpo			(* Witness lift2.ML *)
    13 arities "u" :: (pcpo)pcpo                       (* Witness lift2.ML *)
    14 
    14 
    15 consts  
    15 consts  
    16 	up	     :: "'a -> ('a)u" 
    16         up           :: "'a -> ('a)u" 
    17 	lift         :: "('a->'c)-> ('a)u -> 'c"
    17         lift         :: "('a->'c)-> ('a)u -> 'c"
    18 
    18 
    19 rules 
    19 rules 
    20 
    20 
    21 	inst_lift_pcpo	"(UU::('a)u) = UU_lift"
    21         inst_lift_pcpo  "(UU::('a)u) = UU_lift"
    22 
    22 
    23 defs
    23 defs
    24 	up_def		"up     == (LAM x.Iup(x))"
    24         up_def          "up     == (LAM x.Iup(x))"
    25 	lift_def	"lift   == (LAM f p.Ilift(f)(p))"
    25         lift_def        "lift   == (LAM f p.Ilift(f)(p))"
    26 
    26 
    27 translations
    27 translations
    28 "case l of up`x => t1" == "lift`(LAM x.t1)`l"
    28 "case l of up`x => t1" == "lift`(LAM x.t1)`l"
    29 
    29 
    30 (* start 8bit 1 *)
    30 (* start 8bit 1 *)