(* Title: HOL/Hahn_Banach/Function_Norm.thy Author: Gertrud Bauer, TU Munich *)
section‹The norm of a function›
theory Function_Norm imports Normed_Space Function_Order begin
subsection‹Continuous linear forms›
text‹ A linear form ‹f›on a normed vector space ‹(V, ∥⋅∥)› is 🪙‹continuous›, iff it is bounded, i.e. \begin{center} ‹∃c ∈ R. ∀x ∈ V. ∣f x∣≤ c ⋅∥x∥› \end{center} In our application no other functions than linear forms are considered, so we can define continuous linear forms as bounded linear forms: ›
lemma continuousI [intro]: fixes norm :: "_ ==> real" (‹∥_∥›) assumes"linearform V f" assumes r: "∧x. x ∈ V ==>∣f x∣≤ c * ∥x∥" shows"continuous V f norm" proof show"linearform V f"by fact from r have"∃c. ∀x∈V. ∣f x∣≤ c * ∥x∥"by blast thenshow"continuous_axioms V f norm" .. qed
subsection‹The norm of a linear form›
text‹ The least real number ‹c›for which holds \begin{center} ‹∀x ∈ V. ∣f x∣≤ c ⋅∥x∥› \end{center} is called the 🪙‹norm›of ‹f›. For non-trivial vector spaces ‹V ≠ {0}›the norm can be defined as \begin{center} ‹∥f∥ = 🪙x ≠ 0. ∣f x∣ / ∥x∥› \end{center} For the case ‹V = {0}›the supremum would be taken from an empty set. Since ‹ℝ›is unbounded, there would be no supremum. To avoid this situation it must be guaranteed that there is an element in this set. This element must be ‹{} ≥ 0›so that ‹fn_norm› has the norm properties. Furthermore it does not have to change the norm in all other cases, so it must be ‹0›, as all other elements are ‹{} ≥ 0›. Thus we define the set ‹B›where the supremum is taken from as follows: \begin{center} ‹{0} ∪ {∣f x∣ / ∥x∥. x ≠ 0 ∧ x ∈ F}› \end{center} ‹fn_norm›is equal to the supremum of ‹B›, if the supremum exists (otherwise it is undefined). ›
locale fn_norm = fixes norm :: "_ ==> real" (‹∥_∥›) fixes B defines"B V f ≡ {0} ∪ {∣f x∣ / ∥x∥ | x. x ≠ 0 ∧ x ∈ V}" fixes fn_norm (‹∥_∥🍋_› [0, 1000] 999) defines"∥f∥🍋V ≡⊔(B V f)"
lemma (in fn_norm) B_not_empty [intro]: "0 ∈ B V f" by (simp add: B_def)
text‹ The following lemma states that every continuous linear form on a normed space ‹(V, ∥⋅∥)›has a function norm. ›
lemma (in normed_vectorspace_with_fn_norm) fn_norm_works: assumes"continuous V f norm" shows"lub (B V f) (∥f∥🍋V)" proof - interpret continuous V f norm by fact txt‹The existence of the supremum is shown using the completeness of the reals. Completeness means, that every non-empty bounded set of reals has a supremum.› have"∃a. lub (B V f) a" proof (rule real_complete) txt‹First we have to show that ‹B›is non-empty:› have"0 ∈ B V f" .. thenshow"∃x. x ∈ B V f" ..
txt‹Then we have to show that ‹B›is bounded:› show"∃c. ∀y ∈ B V f. y ≤ c" proof - txt‹We know that ‹f›is bounded by some value ‹c›.› from bounded obtain c where c: "∀x ∈ V. ∣f x∣≤ c * ∥x∥" ..
txt‹To prove the thesis, we have to show that there is some ‹b›, such that ‹y ≤ b›for all ‹y ∈ B›. Due to the definition of ‹B› there are two cases.›
define b where"b = max c 0" have"∀y ∈ B V f. y ≤ b" proof fix y assume y: "y ∈ B V f" show"y ≤ b" proof (cases "y = 0") case True thenshow ?thesis unfolding b_def by arith next txt‹The second case is ‹y = ∣f x∣ / ∥x∥›for some ‹x ∈ V›with ‹x ≠ 0›.› case False with y obtain x where y_rep: "y = ∣f x∣ * inverse ∥x∥" and x: "x ∈ V"and neq: "x ≠ 0" by (auto simp add: B_def divide_inverse) from x neq have gt: "0 < ∥x∥" ..
txt‹The thesis follows by a short calculation using the fact that ‹f›is bounded.›
note y_rep alsohave"∣f x∣ * inverse ∥x∥≤ (c * ∥x∥) * inverse ∥x∥" proof (rule mult_right_mono) from c x show"∣f x∣≤ c * ∥x∥" .. from gt have"0 < inverse ∥x∥" by (rule positive_imp_inverse_positive) thenshow"0 ≤ inverse ∥x∥"by (rule order_less_imp_le) qed alsohave"… = c * (∥x∥ * inverse ∥x∥)" by (rule Groups.mult.assoc) also from gt have"∥x∥≠ 0"by simp thenhave"∥x∥ * inverse ∥x∥ = 1"by simp alsohave"c * 1 ≤ b"by (simp add: b_def) finallyshow"y ≤ b" . qed qed thenshow ?thesis .. qed qed thenshow ?thesis unfolding fn_norm_def by (rule the_lubI_ex) qed
lemma (in normed_vectorspace_with_fn_norm) fn_norm_ub [intro?]: assumes"continuous V f norm" assumes b: "b ∈ B V f" shows"b ≤∥f∥🍋V" proof - interpret continuous V f norm by fact have"lub (B V f) (∥f∥🍋V)" using‹continuous V f norm›by (rule fn_norm_works) from this and b show ?thesis .. qed
lemma (in normed_vectorspace_with_fn_norm) fn_norm_leastB: assumes"continuous V f norm" assumes b: "∧b. b ∈ B V f ==> b ≤ y" shows"∥f∥🍋V ≤ y" proof - interpret continuous V f norm by fact have"lub (B V f) (∥f∥🍋V)" using‹continuous V f norm›by (rule fn_norm_works) from this and b show ?thesis .. qed
text‹The norm of a continuous function is always ‹≥ 0›.›
lemma (in normed_vectorspace_with_fn_norm) fn_norm_ge_zero [iff]: assumes"continuous V f norm" shows"0 ≤∥f∥🍋V" proof - interpret continuous V f norm by fact txt‹The function norm is defined as the supremum of ‹B›. So it is ‹≥ 0›if all elements in ‹B› are ‹≥ 0›, have "lub (B V f) (∥f∥🍋V)" using ‹continuous V f norm›by (rule fn_norm_works) moreover have "0 ∈ B V f" .. ultimately show ?thesis .. qed text ‹ 🪙 The fundamental property of function norms is: \begin{center} ‹∣f x∣≤∥f∥⋅∥x∥› \end{center} › lemma (in normed_vectorspace_with_fn_norm) fn_norm_le_cong: assumes "continuous V f norm" "linearform V f" assumes x: "x ∈ V" shows "∣f x∣≤∥f∥🍋V * ∥x∥" proof - interpret continuous V f norm by fact interpret linearform V f by fact show ?thesis proof (cases "x = 0") case True then have "∣f x∣ = ∣f 0∣" by simp also have "f 0 = 0" by rule unfold_locales also have "∣…∣ = 0" by simp also have a: "0 ≤∥f∥🍋V" using ‹continuous V f norm›by (rule fn_norm_ge_zero) from x have "0 ≤ norm x" .. with a have "0 ≤∥f∥🍋V * ∥x∥" by (simp add: zero_le_mult_iff) finally show "∣f x∣≤∥f∥🍋V * ∥x∥" . next case False with x have neq: "∥x∥≠ 0" by simp then have "∣f x∣ = (∣f x∣ * inverse ∥x∥) * ∥x∥" by simp also have "…≤∥f∥🍋V * ∥x∥" proof (rule mult_right_mono) from x show "0 ≤∥x∥" .. from x and neq have "∣f x∣ * inverse ∥x∥∈ B V f" by (auto simp add: B_def divide_inverse) with ‹continuous V f norm›show "∣f x∣ * inverse ∥x∥≤∥f∥🍋V" by (rule fn_norm_ub) qed finally show ?thesis . qed qed text ‹ 🪙 The function norm is the least positive real number for which the following inequality holds: \begin{center} ‹∣f x∣≤ c ⋅∥x∥› \end{center} › lemma (in normed_vectorspace_with_fn_norm) fn_norm_least [intro?]: assumes "continuous V f norm" assumes ineq: "∧x. x ∈ V ==>∣f x∣≤ c * ∥x∥" and ge: "0 ≤ c" shows "∥f∥🍋V ≤ c" proof - interpret continuous V f norm by fact show ?thesis proof (rule fn_norm_leastB [folded B_def fn_norm_def]) fix b assume b: "b ∈ B V f" show "b ≤ c" proof (cases "b = 0") case True with ge show ?thesis by simp next case False with b obtain x where b_rep: "b = ∣f x∣ * inverse ∥x∥" and x_neq: "x ≠ 0" and x: "x ∈ V" by (auto simp add: B_def divide_inverse) note b_rep also have "∣f x∣ * inverse ∥x∥≤ (c * ∥x∥) * inverse ∥x∥" proof (rule mult_right_mono) have "0 🚫∥x∥" using x x_neq .. then show "0 ≤ inverse ∥x∥" by simp from x show "∣f x∣≤ c * ∥x∥" by (rule ineq) qed also have "… = c" proof - from x_neq and x have "∥x∥≠ 0" by simp then show ?thesis by simp qed finally show ?thesis . qed qed (use ‹continuous V f norm›in ‹simp_all add: continuous_def›) qed end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-04-26)
¤
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.