src/HOLCF/Cfun.thy
changeset 40502 8e92772bc0e8
parent 40433 3128c2a54785
child 40767 a3e505b236e7
equal deleted inserted replaced
40501:2ed71459136e 40502:8e92772bc0e8
   477 by (rule cfun_eqI, simp)
   477 by (rule cfun_eqI, simp)
   478 
   478 
   479 lemma assoc_oo: "f oo (g oo h) = (f oo g) oo h"
   479 lemma assoc_oo: "f oo (g oo h) = (f oo g) oo h"
   480 by (rule cfun_eqI, simp)
   480 by (rule cfun_eqI, simp)
   481 
   481 
   482 subsection {* Map operator for continuous function space *}
       
   483 
       
   484 definition
       
   485   cfun_map :: "('b \<rightarrow> 'a) \<rightarrow> ('c \<rightarrow> 'd) \<rightarrow> ('a \<rightarrow> 'c) \<rightarrow> ('b \<rightarrow> 'd)"
       
   486 where
       
   487   "cfun_map = (\<Lambda> a b f x. b\<cdot>(f\<cdot>(a\<cdot>x)))"
       
   488 
       
   489 lemma cfun_map_beta [simp]: "cfun_map\<cdot>a\<cdot>b\<cdot>f\<cdot>x = b\<cdot>(f\<cdot>(a\<cdot>x))"
       
   490 unfolding cfun_map_def by simp
       
   491 
       
   492 lemma cfun_map_ID: "cfun_map\<cdot>ID\<cdot>ID = ID"
       
   493 unfolding cfun_eq_iff by simp
       
   494 
       
   495 lemma cfun_map_map:
       
   496   "cfun_map\<cdot>f1\<cdot>g1\<cdot>(cfun_map\<cdot>f2\<cdot>g2\<cdot>p) =
       
   497     cfun_map\<cdot>(\<Lambda> x. f2\<cdot>(f1\<cdot>x))\<cdot>(\<Lambda> x. g1\<cdot>(g2\<cdot>x))\<cdot>p"
       
   498 by (rule cfun_eqI) simp
       
   499 
       
   500 subsection {* Strictified functions *}
   482 subsection {* Strictified functions *}
   501 
   483 
   502 default_sort pcpo
   484 default_sort pcpo
   503 
   485 
   504 definition
   486 definition