(* 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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.