src/HOLCF/ConvexPD.thy
changeset 30729 461ee3e49ad3
parent 29990 b11793ea15a3
child 31076 99fe356cbbc2
equal deleted inserted replaced
30728:f0aeca99b5d9 30729:461ee3e49ad3
    18 unfolding convex_le_def by (fast intro: upper_le_refl lower_le_refl)
    18 unfolding convex_le_def by (fast intro: upper_le_refl lower_le_refl)
    19 
    19 
    20 lemma convex_le_trans: "\<lbrakk>t \<le>\<natural> u; u \<le>\<natural> v\<rbrakk> \<Longrightarrow> t \<le>\<natural> v"
    20 lemma convex_le_trans: "\<lbrakk>t \<le>\<natural> u; u \<le>\<natural> v\<rbrakk> \<Longrightarrow> t \<le>\<natural> v"
    21 unfolding convex_le_def by (fast intro: upper_le_trans lower_le_trans)
    21 unfolding convex_le_def by (fast intro: upper_le_trans lower_le_trans)
    22 
    22 
    23 interpretation convex_le!: preorder convex_le
    23 interpretation convex_le: preorder convex_le
    24 by (rule preorder.intro, rule convex_le_refl, rule convex_le_trans)
    24 by (rule preorder.intro, rule convex_le_refl, rule convex_le_trans)
    25 
    25 
    26 lemma upper_le_minimal [simp]: "PDUnit compact_bot \<le>\<natural> t"
    26 lemma upper_le_minimal [simp]: "PDUnit compact_bot \<le>\<natural> t"
    27 unfolding convex_le_def Rep_PDUnit by simp
    27 unfolding convex_le_def Rep_PDUnit by simp
    28 
    28 
   176 lemma Rep_convex_principal:
   176 lemma Rep_convex_principal:
   177   "Rep_convex_pd (convex_principal t) = {u. u \<le>\<natural> t}"
   177   "Rep_convex_pd (convex_principal t) = {u. u \<le>\<natural> t}"
   178 unfolding convex_principal_def
   178 unfolding convex_principal_def
   179 by (simp add: Abs_convex_pd_inverse convex_le.ideal_principal)
   179 by (simp add: Abs_convex_pd_inverse convex_le.ideal_principal)
   180 
   180 
   181 interpretation convex_pd!:
   181 interpretation convex_pd:
   182   ideal_completion convex_le pd_take convex_principal Rep_convex_pd
   182   ideal_completion convex_le pd_take convex_principal Rep_convex_pd
   183 apply unfold_locales
   183 apply unfold_locales
   184 apply (rule pd_take_convex_le)
   184 apply (rule pd_take_convex_le)
   185 apply (rule pd_take_idem)
   185 apply (rule pd_take_idem)
   186 apply (erule pd_take_convex_mono)
   186 apply (erule pd_take_convex_mono)