lemma onorm_id: "onorm (λx. x::'a::{real_normed_vector, perfect_space}) = 1" proof (rule antisym[OF onorm_id_le]) have"{0::'a} ≠ UNIV"by (metis not_open_singleton open_UNIV) thenobtain x :: 'a where"x ≠ 0"by fast hence"1 ≤ norm x / norm x" by simp alsohave"…≤ onorm (λx::'a. x)" by (rule le_onorm) (rule bounded_linear_ident) finallyshow"1 ≤ onorm (λx::'a. x)" . qed
lemma onorm_compose: assumes f: "bounded_linear f" assumes g: "bounded_linear g" shows"onorm (f ∘ g) ≤ onorm f * onorm g" proof (rule onorm_bound) show"0 ≤ onorm f * onorm g" by (intro mult_nonneg_nonneg onorm_pos_le f g) next fix x have"norm (f (g x)) ≤ onorm f * norm (g x)" by (rule onorm [OF f]) alsohave"onorm f * norm (g x) ≤ onorm f * (onorm g * norm x)" by (rule mult_left_mono [OF onorm [OF g] onorm_pos_le [OF f]]) finallyshow"norm ((f ∘ g) x) ≤ onorm f * onorm g * norm x" by (simp add: mult.assoc) qed
lemma onorm_scaleR_lemma: assumes f: "bounded_linear f" shows"onorm (λx. r *🪙R f x) ≤∣r∣ * onorm f" proof (rule onorm_bound) show"0 ≤∣r∣ * onorm f" by (intro mult_nonneg_nonneg onorm_pos_le abs_ge_zero f) next fix x have"∣r∣ * norm (f x) ≤∣r∣ * (onorm f * norm x)" by (intro mult_left_mono onorm abs_ge_zero f) thenshow"norm (r *🪙R f x) ≤∣r∣ * onorm f * norm x" by (simp only: norm_scaleR mult.assoc) qed
lemma onorm_scaleR: assumes f: "bounded_linear f" shows"onorm (λx. r *🪙R f x) = ∣r∣ * onorm f" proof (cases "r = 0") assume"r ≠ 0" show ?thesis proof (rule order_antisym) show"onorm (λx. r *🪙R f x) ≤∣r∣ * onorm f" using f by (rule onorm_scaleR_lemma) next have"bounded_linear (λx. r *🪙R f x)" using bounded_linear_scaleR_right f by (rule bounded_linear_compose) thenhave"onorm (λx. inverse r *🪙R r *🪙R f x) ≤∣inverse r∣ * onorm (λx. r *🪙R f x)" by (rule onorm_scaleR_lemma) with‹r ≠ 0›show"∣r∣ * onorm f ≤ onorm (λx. r *🪙R f x)" by (simp add: inverse_eq_divide pos_le_divide_eq mult.commute) qed qed (simp add: onorm_zero)
lemma onorm_scaleR_left_lemma: assumes r: "bounded_linear r" shows"onorm (λx. r x *🪙R f) ≤ onorm r * norm f" proof (rule onorm_bound) fix x have"norm (r x *🪙R f) = norm (r x) * norm f" by simp alsohave"…≤ onorm r * norm x * norm f" by (intro mult_right_mono onorm r norm_ge_zero) finallyshow"norm (r x *🪙R f) ≤ onorm r * norm f * norm x" by (simp add: ac_simps) qed (intro mult_nonneg_nonneg norm_ge_zero onorm_pos_le r)
lemma onorm_scaleR_left: assumes f: "bounded_linear r" shows"onorm (λx. r x *🪙R f) = onorm r * norm f" proof (cases "f = 0") assume"f ≠ 0" show ?thesis proof (rule order_antisym) show"onorm (λx. r x *🪙R f) ≤ onorm r * norm f" using f by (rule onorm_scaleR_left_lemma) next have bl1: "bounded_linear (λx. r x *🪙R f)" by (metis bounded_linear_scaleR_const f) have"bounded_linear (λx. r x * norm f)" by (metis bounded_linear_mult_const f) from onorm_scaleR_left_lemma[OF this, of "inverse (norm f)"] have"onorm r ≤ onorm (λx. r x * norm f) * inverse (norm f)" using‹f ≠ 0› by (simp add: inverse_eq_divide) alsohave"onorm (λx. r x * norm f) ≤ onorm (λx. r x *🪙R f)" by (rule onorm_bound)
(auto simp: abs_mult bl1 onorm_pos_le intro!: order_trans[OF _ onorm]) finallyshow"onorm r * norm f ≤ onorm (λx. r x *🪙R f)" using‹f ≠ 0› by (simp add: inverse_eq_divide pos_le_divide_eq mult.commute) qed qed (simp add: onorm_zero)
lemma onorm_neg: shows"onorm (λx. - f x) = onorm f" unfolding onorm_def by simp
lemma onorm_triangle: assumes f: "bounded_linear f" assumes g: "bounded_linear g" shows"onorm (λx. f x + g x) ≤ onorm f + onorm g" proof (rule onorm_bound) show"0 ≤ onorm f + onorm g" by (intro add_nonneg_nonneg onorm_pos_le f g) next fix x have"norm (f x + g x) ≤ norm (f x) + norm (g x)" by (rule norm_triangle_ineq) alsohave"norm (f x) + norm (g x) ≤ onorm f * norm x + onorm g * norm x" by (intro add_mono onorm f g) finallyshow"norm (f x + g x) ≤ (onorm f + onorm g) * norm x" by (simp only: distrib_right) qed
lemma onorm_triangle_le: assumes"bounded_linear f" assumes"bounded_linear g" assumes"onorm f + onorm g ≤ e" shows"onorm (λx. f x + g x) ≤ e" using assms by (rule onorm_triangle [THEN order_trans])
lemma onorm_triangle_lt: assumes"bounded_linear f" assumes"bounded_linear g" assumes"onorm f + onorm g < e" shows"onorm (λx. f x + g x) < e" using assms by (rule onorm_triangle [THEN order_le_less_trans])
lemma onorm_sum: assumes"finite S" assumes"∧s. s ∈ S ==> bounded_linear (f s)" shows"onorm (λx. sum (λs. f s x) S) ≤ sum (λs. onorm (f s)) S" using assms by (induction) (auto simp: onorm_zero intro!: onorm_triangle_le bounded_linear_sum)
lemmas onorm_sum_le = onorm_sum[THEN order_trans]
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-04-27)
¤
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.