src/HOLCF/Cfun3.thy
changeset 10834 a7897aebbffc
parent 3842 b55686a7b22c
child 12030 46d57d0290a2
equal deleted inserted replaced
10833:c0844a30ea4e 10834:a7897aebbffc
    17 consts  
    17 consts  
    18         Istrictify   :: "('a->'b)=>'a=>'b"
    18         Istrictify   :: "('a->'b)=>'a=>'b"
    19         strictify    :: "('a->'b)->'a->'b"
    19         strictify    :: "('a->'b)->'a->'b"
    20 defs
    20 defs
    21 
    21 
    22 Istrictify_def  "Istrictify f x == if x=UU then UU else f`x"    
    22 Istrictify_def  "Istrictify f x == if x=UU then UU else f$x"    
    23 strictify_def   "strictify == (LAM f x. Istrictify f x)"
    23 strictify_def   "strictify == (LAM f x. Istrictify f x)"
    24 
    24 
    25 consts
    25 consts
    26         ID      :: "('a::cpo) -> 'a"
    26         ID      :: "('a::cpo) -> 'a"
    27         cfcomp  :: "('b->'c)->(('a::cpo)->('b::cpo))->'a->('c::cpo)"
    27         cfcomp  :: "('b->'c)->(('a::cpo)->('b::cpo))->'a->('c::cpo)"
    28 
    28 
    29 syntax  "@oo"   :: "('b->'c)=>('a->'b)=>'a->'c" ("_ oo _" [101,100] 100)
    29 syntax  "@oo"   :: "('b->'c)=>('a->'b)=>'a->'c" ("_ oo _" [101,100] 100)
    30      
    30      
    31 translations    "f1 oo f2" == "cfcomp`f1`f2"
    31 translations    "f1 oo f2" == "cfcomp$f1$f2"
    32 
    32 
    33 defs
    33 defs
    34 
    34 
    35   ID_def        "ID ==(LAM x. x)"
    35   ID_def        "ID ==(LAM x. x)"
    36   oo_def        "cfcomp == (LAM f g x. f`(g`x))" 
    36   oo_def        "cfcomp == (LAM f g x. f$(g$x))" 
    37 
    37 
    38 end
    38 end