equal
deleted
inserted
replaced
277 norm_mult_ineq: "norm (x * y) \<le> norm x * norm y" |
277 norm_mult_ineq: "norm (x * y) \<le> norm x * norm y" |
278 |
278 |
279 axclass real_normed_div_algebra < normed, real_algebra_1, division_ring |
279 axclass real_normed_div_algebra < normed, real_algebra_1, division_ring |
280 norm_of_real: "norm (of_real r) = abs r" |
280 norm_of_real: "norm (of_real r) = abs r" |
281 norm_mult: "norm (x * y) = norm x * norm y" |
281 norm_mult: "norm (x * y) = norm x * norm y" |
282 norm_one [simp]: "norm 1 = 1" |
|
283 |
282 |
284 instance real_normed_div_algebra < real_normed_algebra |
283 instance real_normed_div_algebra < real_normed_algebra |
285 proof |
284 proof |
286 fix a :: real and x :: 'a |
285 fix a :: real and x :: 'a |
287 have "norm (a *# x) = norm (of_real a * x)" |
286 have "norm (a *# x) = norm (of_real a * x)" |
300 apply (rule abs_ge_zero) |
299 apply (rule abs_ge_zero) |
301 apply (rule abs_eq_0) |
300 apply (rule abs_eq_0) |
302 apply (rule abs_triangle_ineq) |
301 apply (rule abs_triangle_ineq) |
303 apply simp |
302 apply simp |
304 apply (rule abs_mult) |
303 apply (rule abs_mult) |
305 apply (rule abs_one) |
|
306 done |
304 done |
307 |
305 |
308 lemma norm_zero [simp]: "norm (0::'a::real_normed_vector) = 0" |
306 lemma norm_zero [simp]: "norm (0::'a::real_normed_vector) = 0" |
309 by simp |
307 by simp |
310 |
308 |
364 also have "\<dots> \<le> norm (a - c) + norm (b - d)" |
362 also have "\<dots> \<le> norm (a - c) + norm (b - d)" |
365 by (rule norm_triangle_ineq) |
363 by (rule norm_triangle_ineq) |
366 finally show ?thesis . |
364 finally show ?thesis . |
367 qed |
365 qed |
368 |
366 |
|
367 lemma norm_one [simp]: "norm (1::'a::real_normed_div_algebra) = 1" |
|
368 proof - |
|
369 have "norm (of_real 1 :: 'a) = abs 1" |
|
370 by (rule norm_of_real) |
|
371 thus ?thesis by simp |
|
372 qed |
|
373 |
369 lemma nonzero_norm_inverse: |
374 lemma nonzero_norm_inverse: |
370 fixes a :: "'a::real_normed_div_algebra" |
375 fixes a :: "'a::real_normed_div_algebra" |
371 shows "a \<noteq> 0 \<Longrightarrow> norm (inverse a) = inverse (norm a)" |
376 shows "a \<noteq> 0 \<Longrightarrow> norm (inverse a) = inverse (norm a)" |
372 apply (rule inverse_unique [symmetric]) |
377 apply (rule inverse_unique [symmetric]) |
373 apply (simp add: norm_mult [symmetric]) |
378 apply (simp add: norm_mult [symmetric]) |