(* Title: HOL/Analysis/Metric_Arith.thy Author: Maximilian Schäffeler (port from HOL Light) *)
chapter‹Functional Analysis›
section🍋‹tag unimportant›‹A decision procedure for metric spaces›
theory Metric_Arith imports HOL.Real_Vector_Spaces begin
text🍋‹tag unimportant›‹ A port of the decision procedure ``Formalization of metric spaces in HOL Light'' 🍋‹"DBLP:journals/jar/Maggesi18"›for the type class @{class metric_space}, with the ‹Argo›solver as backend. ›
lemma ball_insert: "(∀x∈insert a B. P x) = (P a ∧ (∀x∈B. P x))" by blast
lemma Sup_insert_insert: fixes a::real shows"Sup (insert a (insert b s)) = Sup (insert (max a b) s)" by (simp add: Sup_real_def)
lemma real_abs_dist: "∣dist x y∣ = dist x y" by simp
lemma maxdist_thm [THEN HOL.eq_reflection]: assumes"finite s""x ∈ s""y ∈ s" defines"∧a. f a ≡∣dist x a - dist a y∣" shows"dist x y = Sup (f ` s)" proof - have"dist x y ≤ Sup (f ` s)" proof - have"finite (f ` s)" by (simp add: ‹finite s›) moreoverhave"∣dist x y - dist y y∣∈ f ` s" by (metis ‹y ∈ s› f_def imageI) ultimatelyshow ?thesis using le_cSup_finite by simp qed alsohave"Sup (f ` s) ≤ dist x y" using‹x ∈ s› cSUP_least[of s f] abs_dist_diff_le unfolding f_def by blast finallyshow ?thesis . qed
theorem metric_eq_thm [THEN HOL.eq_reflection]: "x ∈ s ==> y ∈ s ==> x = y ⟷ (∀a∈s. dist x a = dist y a)" by auto
ML_file ‹metric_arith.ML›
method_setup metric = ‹ Scan.succeed (SIMPLE_METHOD' o Metric_Arith.metric_arith_tac) ›
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-04-25)
¤
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.