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.