(* Authors: F. Maric, M. Spasic, R. Thiemann *) section‹Rational Numbers Extended with Infinitesimal Element› theory QDelta imports
Abstract_Linear_Poly
Simplex_Algebra begin
datatype QDelta = QDelta rat rat
primrec qdfst :: "QDelta ==> rat"where "qdfst (QDelta a b) = a"
primrec qdsnd :: "QDelta ==> rat"where "qdsnd (QDelta a b) = b"
lemma [simp]: "QDelta (qdfst qd) (qdsnd qd) = qd" by (cases qd) auto
lemma [simp]: "[QDelta.qdsnd x = QDelta.qdsnd y; QDelta.qdfst y = QDelta.qdfst x]==> x = y" by (cases x) auto
instantiation QDelta :: rational_vector begin
definition zero_QDelta :: "QDelta" where "0 = QDelta 0 0"
lemma delta_gt_zero: "δ_min l > 0" by (induct l) (auto simp add: Let_def field_simps δ0_def)
lemma delta_le_one: "δ_min l ≤ 1" by (induct l, auto)
lemma delta_min_append: "δ_min (as @ bs) = min (δ_min as) (δ_min bs)" by (induct as, insert delta_le_one[of bs], auto)
lemma delta_min_mono: "set as ⊆ set bs ==> δ_min bs ≤ δ_min as" proof (induct as) case Nil thenshow ?caseusing delta_le_one by simp next case (Cons a as) from Cons(2) have"a ∈ set bs"by auto from split_list[OF this] obtain bs1 bs2 where bs: "bs = bs1 @ [a] @ bs2"by auto have bs: "δ_min bs = δ_min ([a] @ bs)"unfolding bs delta_min_append by auto show ?caseunfolding bs using Cons(1-2) by auto qed
lemma delta_min: assumes"∀ qd1 qd2. (qd1, qd2) ∈ set qd ⟶ qd1 ≤ qd2" shows"∀ ε. ε > 0 ∧ ε ≤ δ_min qd ⟶ (∀ qd1 qd2. (qd1, qd2) ∈ set qd ⟶ val qd1 ε ≤ val qd2 ε)" using assms using delta0 by (induct qd, auto)
¤ 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.0.10Bemerkung:
(vorverarbeitet am 2026-06-10)
¤
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.