src/HOL/Library/Order_Continuity.thy
changeset 69861 62e47f06d22c
parent 69661 a03a63b81f44
child 69872 bb16c0bb7520
equal deleted inserted replaced
69860:b58a575d211e 69861:62e47f06d22c
    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