equal
deleted
inserted
replaced
274 lemma cont2cont_split_simple [simp, cont2cont]: |
274 lemma cont2cont_split_simple [simp, cont2cont]: |
275 assumes "\<And>a b. cont (\<lambda>x. f x a b)" |
275 assumes "\<And>a b. cont (\<lambda>x. f x a b)" |
276 shows "cont (\<lambda>x. case p of (a, b) \<Rightarrow> f x a b)" |
276 shows "cont (\<lambda>x. case p of (a, b) \<Rightarrow> f x a b)" |
277 using assms by (cases p) auto |
277 using assms by (cases p) auto |
278 |
278 |
|
279 text {* Admissibility of predicates on product types. *} |
|
280 |
|
281 lemma adm_prod_case [simp]: |
|
282 assumes "adm (\<lambda>x. P x (fst (f x)) (snd (f x)))" |
|
283 shows "adm (\<lambda>x. case f x of (a, b) \<Rightarrow> P x a b)" |
|
284 unfolding prod_case_beta using assms . |
|
285 |
279 subsection {* Compactness and chain-finiteness *} |
286 subsection {* Compactness and chain-finiteness *} |
280 |
287 |
281 lemma fst_below_iff: "fst (x::'a \<times> 'b) \<sqsubseteq> y \<longleftrightarrow> x \<sqsubseteq> (y, snd x)" |
288 lemma fst_below_iff: "fst (x::'a \<times> 'b) \<sqsubseteq> y \<longleftrightarrow> x \<sqsubseteq> (y, snd x)" |
282 unfolding below_prod_def by simp |
289 unfolding below_prod_def by simp |
283 |
290 |