equal
deleted
inserted
replaced
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 |