src/HOLCF/Sprod.thy
changeset 33808 31169fdc5ae7
parent 33587 54f98d225163
child 35115 446c5063e4fd
equal deleted inserted replaced
33807:ce8d2e8bca21 33808:31169fdc5ae7
   242 unfolding sprod_map_def by simp
   242 unfolding sprod_map_def by simp
   243 
   243 
   244 lemma sprod_map_spair [simp]:
   244 lemma sprod_map_spair [simp]:
   245   "x \<noteq> \<bottom> \<Longrightarrow> y \<noteq> \<bottom> \<Longrightarrow> sprod_map\<cdot>f\<cdot>g\<cdot>(:x, y:) = (:f\<cdot>x, g\<cdot>y:)"
   245   "x \<noteq> \<bottom> \<Longrightarrow> y \<noteq> \<bottom> \<Longrightarrow> sprod_map\<cdot>f\<cdot>g\<cdot>(:x, y:) = (:f\<cdot>x, g\<cdot>y:)"
   246 by (simp add: sprod_map_def)
   246 by (simp add: sprod_map_def)
       
   247 
       
   248 lemma sprod_map_ID: "sprod_map\<cdot>ID\<cdot>ID = ID"
       
   249 unfolding sprod_map_def by (simp add: expand_cfun_eq eta_cfun)
   247 
   250 
   248 lemma sprod_map_map:
   251 lemma sprod_map_map:
   249   "\<lbrakk>f1\<cdot>\<bottom> = \<bottom>; g1\<cdot>\<bottom> = \<bottom>\<rbrakk> \<Longrightarrow>
   252   "\<lbrakk>f1\<cdot>\<bottom> = \<bottom>; g1\<cdot>\<bottom> = \<bottom>\<rbrakk> \<Longrightarrow>
   250     sprod_map\<cdot>f1\<cdot>g1\<cdot>(sprod_map\<cdot>f2\<cdot>g2\<cdot>p) =
   253     sprod_map\<cdot>f1\<cdot>g1\<cdot>(sprod_map\<cdot>f2\<cdot>g2\<cdot>p) =
   251      sprod_map\<cdot>(\<Lambda> x. f1\<cdot>(f2\<cdot>x))\<cdot>(\<Lambda> x. g1\<cdot>(g2\<cdot>x))\<cdot>p"
   254      sprod_map\<cdot>(\<Lambda> x. f1\<cdot>(f2\<cdot>x))\<cdot>(\<Lambda> x. g1\<cdot>(g2\<cdot>x))\<cdot>p"