src/HOLCF/Product_Cpo.thy
changeset 29533 7f4a32134447
parent 29531 2eb29775b0b6
child 29535 08824fad8879
equal deleted inserted replaced
29532:59bee7985149 29533:7f4a32134447
     3 *)
     3 *)
     4 
     4 
     5 header {* The cpo of cartesian products *}
     5 header {* The cpo of cartesian products *}
     6 
     6 
     7 theory Product_Cpo
     7 theory Product_Cpo
     8 imports Ffun
     8 imports Cont
     9 begin
     9 begin
    10 
    10 
    11 defaultsort cpo
    11 defaultsort cpo
    12 
    12 
    13 subsection {* Type @{typ unit} is a pcpo *}
    13 subsection {* Type @{typ unit} is a pcpo *}
   190 
   190 
   191 lemma cont2cont_Pair [cont2cont]:
   191 lemma cont2cont_Pair [cont2cont]:
   192   assumes f: "cont (\<lambda>x. f x)"
   192   assumes f: "cont (\<lambda>x. f x)"
   193   assumes g: "cont (\<lambda>x. g x)"
   193   assumes g: "cont (\<lambda>x. g x)"
   194   shows "cont (\<lambda>x. (f x, g x))"
   194   shows "cont (\<lambda>x. (f x, g x))"
   195 apply (rule cont2cont_app2 [OF cont2cont_lambda cont_pair2 g])
   195 apply (rule cont2cont_apply [OF _ cont_pair1 f])
   196 apply (rule cont2cont_app2 [OF cont_const cont_pair1 f])
   196 apply (rule cont2cont_apply [OF _ cont_pair2 g])
   197 done
   197 apply (rule cont_const)
   198 
   198 done
   199 lemmas cont2cont_fst [cont2cont] = cont2cont_app3 [OF cont_fst]
   199 
   200 
   200 lemmas cont2cont_fst [cont2cont] = cont2cont_compose [OF cont_fst]
   201 lemmas cont2cont_snd [cont2cont] = cont2cont_app3 [OF cont_snd]
   201 
       
   202 lemmas cont2cont_snd [cont2cont] = cont2cont_compose [OF cont_snd]
   202 
   203 
   203 end
   204 end