src/HOLCF/CompactBasis.thy
changeset 30729 461ee3e49ad3
parent 29511 7071b017cb35
child 31076 99fe356cbbc2
equal deleted inserted replaced
30728:f0aeca99b5d9 30729:461ee3e49ad3
    44 unfolding compact_take_def
    44 unfolding compact_take_def
    45 by (simp add: Abs_compact_basis_inverse)
    45 by (simp add: Abs_compact_basis_inverse)
    46 
    46 
    47 lemmas approx_Rep_compact_basis = Rep_compact_take [symmetric]
    47 lemmas approx_Rep_compact_basis = Rep_compact_take [symmetric]
    48 
    48 
    49 interpretation compact_basis!:
    49 interpretation compact_basis:
    50   basis_take sq_le compact_take
    50   basis_take sq_le compact_take
    51 proof
    51 proof
    52   fix n :: nat and a :: "'a compact_basis"
    52   fix n :: nat and a :: "'a compact_basis"
    53   show "compact_take n a \<sqsubseteq> a"
    53   show "compact_take n a \<sqsubseteq> a"
    54     unfolding compact_le_def
    54     unfolding compact_le_def
    90 
    90 
    91 definition
    91 definition
    92   approximants :: "'a \<Rightarrow> 'a compact_basis set" where
    92   approximants :: "'a \<Rightarrow> 'a compact_basis set" where
    93   "approximants = (\<lambda>x. {a. Rep_compact_basis a \<sqsubseteq> x})"
    93   "approximants = (\<lambda>x. {a. Rep_compact_basis a \<sqsubseteq> x})"
    94 
    94 
    95 interpretation compact_basis!:
    95 interpretation compact_basis:
    96   ideal_completion sq_le compact_take Rep_compact_basis approximants
    96   ideal_completion sq_le compact_take Rep_compact_basis approximants
    97 proof
    97 proof
    98   fix w :: 'a
    98   fix w :: 'a
    99   show "preorder.ideal sq_le (approximants w)"
    99   show "preorder.ideal sq_le (approximants w)"
   100   proof (rule sq_le.idealI)
   100   proof (rule sq_le.idealI)