equal
deleted
inserted
replaced
66 shows sup_continuous_const: "sup_continuous (\<lambda>x. c)" |
66 shows sup_continuous_const: "sup_continuous (\<lambda>x. c)" |
67 and sup_continuous_id: "sup_continuous (\<lambda>x. x)" |
67 and sup_continuous_id: "sup_continuous (\<lambda>x. x)" |
68 and sup_continuous_apply: "sup_continuous (\<lambda>f. f x)" |
68 and sup_continuous_apply: "sup_continuous (\<lambda>f. f x)" |
69 and sup_continuous_fun: "(\<And>s. sup_continuous (\<lambda>x. P x s)) \<Longrightarrow> sup_continuous P" |
69 and sup_continuous_fun: "(\<And>s. sup_continuous (\<lambda>x. P x s)) \<Longrightarrow> sup_continuous P" |
70 and sup_continuous_If: "sup_continuous F \<Longrightarrow> sup_continuous G \<Longrightarrow> sup_continuous (\<lambda>f. if C then F f else G f)" |
70 and sup_continuous_If: "sup_continuous F \<Longrightarrow> sup_continuous G \<Longrightarrow> sup_continuous (\<lambda>f. if C then F f else G f)" |
71 by (auto simp: sup_continuous_def) |
71 by (auto simp: sup_continuous_def image_comp) |
72 |
72 |
73 lemma sup_continuous_compose: |
73 lemma sup_continuous_compose: |
74 assumes f: "sup_continuous f" and g: "sup_continuous g" |
74 assumes f: "sup_continuous f" and g: "sup_continuous g" |
75 shows "sup_continuous (\<lambda>x. f (g x))" |
75 shows "sup_continuous (\<lambda>x. f (g x))" |
76 unfolding sup_continuous_def |
76 unfolding sup_continuous_def |
240 shows inf_continuous_const: "inf_continuous (\<lambda>x. c)" |
240 shows inf_continuous_const: "inf_continuous (\<lambda>x. c)" |
241 and inf_continuous_id: "inf_continuous (\<lambda>x. x)" |
241 and inf_continuous_id: "inf_continuous (\<lambda>x. x)" |
242 and inf_continuous_apply: "inf_continuous (\<lambda>f. f x)" |
242 and inf_continuous_apply: "inf_continuous (\<lambda>f. f x)" |
243 and inf_continuous_fun: "(\<And>s. inf_continuous (\<lambda>x. P x s)) \<Longrightarrow> inf_continuous P" |
243 and inf_continuous_fun: "(\<And>s. inf_continuous (\<lambda>x. P x s)) \<Longrightarrow> inf_continuous P" |
244 and inf_continuous_If: "inf_continuous F \<Longrightarrow> inf_continuous G \<Longrightarrow> inf_continuous (\<lambda>f. if C then F f else G f)" |
244 and inf_continuous_If: "inf_continuous F \<Longrightarrow> inf_continuous G \<Longrightarrow> inf_continuous (\<lambda>f. if C then F f else G f)" |
245 by (auto simp: inf_continuous_def) |
245 by (auto simp: inf_continuous_def image_comp) |
246 |
246 |
247 lemma inf_continuous_inf[order_continuous_intros]: |
247 lemma inf_continuous_inf[order_continuous_intros]: |
248 "inf_continuous f \<Longrightarrow> inf_continuous g \<Longrightarrow> inf_continuous (\<lambda>x. inf (f x) (g x))" |
248 "inf_continuous f \<Longrightarrow> inf_continuous g \<Longrightarrow> inf_continuous (\<lambda>x. inf (f x) (g x))" |
249 by (simp add: inf_continuous_def ccINF_inf_distrib) |
249 by (simp add: inf_continuous_def ccINF_inf_distrib) |
250 |
250 |
410 |
410 |
411 lemma cclfp_unfold: |
411 lemma cclfp_unfold: |
412 assumes "sup_continuous F" shows "cclfp F = F (cclfp F)" |
412 assumes "sup_continuous F" shows "cclfp F = F (cclfp F)" |
413 proof - |
413 proof - |
414 have "cclfp F = (SUP i. F ((F ^^ i) bot))" |
414 have "cclfp F = (SUP i. F ((F ^^ i) bot))" |
415 unfolding cclfp_def by (subst UNIV_nat_eq) auto |
415 unfolding cclfp_def |
|
416 by (subst UNIV_nat_eq) (simp add: image_comp) |
416 also have "\<dots> = F (cclfp F)" |
417 also have "\<dots> = F (cclfp F)" |
417 unfolding cclfp_def |
418 unfolding cclfp_def |
418 by (intro sup_continuousD[symmetric] assms mono_funpow sup_continuous_mono) |
419 by (intro sup_continuousD[symmetric] assms mono_funpow sup_continuous_mono) |
419 finally show ?thesis . |
420 finally show ?thesis . |
420 qed |
421 qed |