(* Title: HOL/Probability/Discrete_Topology.thy Author: Fabian Immler, TU München *)
theory Discrete_Topology imports"HOL-Analysis.Analysis" begin
text‹Copy of discrete types with discrete topology. This space is polish.›
typedef 'a discrete = "UNIV::'a set" morphisms of_discrete discrete
..
instantiation discrete :: (type) metric_space begin
definition dist_discrete :: "'a discrete ==> 'a discrete ==> real" where"dist_discrete n m = (if n = m then 0 else 1)"
definition uniformity_discrete :: "('a discrete × 'a discrete) filter"where "(uniformity::('a discrete × 'a discrete) filter) = (INF e∈{0 <..}. principal {(x, y). dist x y < e})"
definition"open_discrete" :: "'a discrete set ==> bool"where "(open::'a discrete set ==> bool) U ⟷ (∀x∈U. eventually (λ(x', y). x' = x ⟶ y ∈ U) uniformity)"
instanceproofqed (auto simp: uniformity_discrete_def open_discrete_def dist_discrete_def intro: exI[where x=1]) end
lemma open_discrete: "open (S :: 'a discrete set)" unfolding open_dist dist_discrete_def by (auto intro!: exI[of _ "1 / 2"])
instance discrete :: (type) complete_space proof fix X::"nat==>'a discrete" assume"Cauchy X" thenobtain n where"∀m≥n. X n = X m" by (force simp: dist_discrete_def Cauchy_def split: if_split_asm dest:spec[where x=1]) thus"convergent X" by (intro convergentI[where L="X n"] tendstoI eventually_sequentiallyI[of n])
(simp add: dist_discrete_def) qed
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.