equal
deleted
inserted
replaced
167 unfolding inst_prod_pcpo by (rule snd_conv) |
167 unfolding inst_prod_pcpo by (rule snd_conv) |
168 |
168 |
169 lemma Pair_strict [simp]: "(\<bottom>, \<bottom>) = \<bottom>" |
169 lemma Pair_strict [simp]: "(\<bottom>, \<bottom>) = \<bottom>" |
170 by simp |
170 by simp |
171 |
171 |
172 lemma split_strict [simp]: "split f \<bottom> = f \<bottom> \<bottom>" |
172 lemma split_strict [simp]: "case_prod f \<bottom> = f \<bottom> \<bottom>" |
173 unfolding split_def by simp |
173 unfolding split_def by simp |
174 |
174 |
175 subsection {* Continuity of \emph{Pair}, \emph{fst}, \emph{snd} *} |
175 subsection {* Continuity of \emph{Pair}, \emph{fst}, \emph{snd} *} |
176 |
176 |
177 lemma cont_pair1: "cont (\<lambda>x. (x, y))" |
177 lemma cont_pair1: "cont (\<lambda>x. (x, y))" |
233 shows "cont f" |
233 shows "cont f" |
234 proof - |
234 proof - |
235 have "cont (\<lambda>(x, y). f (x, y))" |
235 have "cont (\<lambda>(x, y). f (x, y))" |
236 by (intro cont2cont_case_prod f1 f2 cont2cont) |
236 by (intro cont2cont_case_prod f1 f2 cont2cont) |
237 thus "cont f" |
237 thus "cont f" |
238 by (simp only: split_eta) |
238 by (simp only: case_prod_eta) |
239 qed |
239 qed |
240 |
240 |
241 lemma prod_cont_iff: |
241 lemma prod_cont_iff: |
242 "cont f \<longleftrightarrow> (\<forall>y. cont (\<lambda>x. f (x, y))) \<and> (\<forall>x. cont (\<lambda>y. f (x, y)))" |
242 "cont f \<longleftrightarrow> (\<forall>y. cont (\<lambda>x. f (x, y))) \<and> (\<forall>x. cont (\<lambda>y. f (x, y)))" |
243 apply safe |
243 apply safe |