src/HOL/Real/HahnBanach/NormedSpace.thy
changeset 7978 1b99ee57d131
parent 7927 b50446a33c16
child 8203 2fcc6017cb72
--- a/src/HOL/Real/HahnBanach/NormedSpace.thy	Fri Oct 29 19:24:20 1999 +0200
+++ b/src/HOL/Real/HahnBanach/NormedSpace.thy	Fri Oct 29 20:18:34 1999 +0200
@@ -11,60 +11,61 @@
 
 subsection {* Quasinorms *};
 
-text{* A \emph{quasinorm} $\norm{\cdot}$ is a  function on a real vector space into the reals 
-that has the following properties: *};
+text{* A \emph{seminorm} $\norm{\cdot}$ is a function on a real vector
+space into the reals that has the following properties: It is positive
+definite, absolute homogenous and subadditive.  *};
 
 constdefs
-  is_quasinorm :: "['a::{plus, minus} set, 'a => real] => bool"
-  "is_quasinorm V norm == ALL x: V. ALL y:V. ALL a. 
+  is_seminorm :: "['a::{plus, minus} set, 'a => real] => bool"
+  "is_seminorm V norm == ALL x: V. ALL y:V. ALL a. 
         0r <= norm x 
       & norm (a <*> x) = (rabs a) * (norm x)
       & norm (x + y) <= norm x + norm y";
 
-lemma is_quasinormI [intro]: 
-  "[| !! x y a. [| x:V; y:V|] ==>  0r <= norm x;
+lemma is_seminormI [intro]: 
+  "[| !! x y a. [| x:V; y:V|] ==> 0r <= norm x;
   !! x a. x:V ==> norm (a <*> x) = (rabs a) * (norm x);
   !! x y. [|x:V; y:V |] ==> norm (x + y) <= norm x + norm y |] 
-  ==> is_quasinorm V norm";
-  by (unfold is_quasinorm_def, force);
+  ==> is_seminorm V norm";
+  by (unfold is_seminorm_def, force);
 
-lemma quasinorm_ge_zero [intro!!]:
-  "[| is_quasinorm V norm; x:V |] ==> 0r <= norm x";
-  by (unfold is_quasinorm_def, force);
+lemma seminorm_ge_zero [intro!!]:
+  "[| is_seminorm V norm; x:V |] ==> 0r <= norm x";
+  by (unfold is_seminorm_def, force);
 
-lemma quasinorm_mult_distrib: 
-  "[| is_quasinorm V norm; x:V |] 
+lemma seminorm_rabs_homogenous: 
+  "[| is_seminorm V norm; x:V |] 
   ==> norm (a <*> x) = (rabs a) * (norm x)";
-  by (unfold is_quasinorm_def, force);
+  by (unfold is_seminorm_def, force);
 
-lemma quasinorm_triangle_ineq: 
-  "[| is_quasinorm V norm; x:V; y:V |] 
+lemma seminorm_subadditive: 
+  "[| is_seminorm V norm; x:V; y:V |] 
   ==> norm (x + y) <= norm x + norm y";
-  by (unfold is_quasinorm_def, force);
+  by (unfold is_seminorm_def, force);
 
-lemma quasinorm_diff_triangle_ineq: 
-  "[| is_quasinorm V norm; x:V; y:V; is_vectorspace V |] 
+lemma seminorm_diff_subadditive: 
+  "[| is_seminorm V norm; x:V; y:V; is_vectorspace V |] 
   ==> norm (x - y) <= norm x + norm y";
 proof -;
-  assume "is_quasinorm V norm" "x:V" "y:V" "is_vectorspace V";
+  assume "is_seminorm V norm" "x:V" "y:V" "is_vectorspace V";
   have "norm (x - y) = norm (x + - 1r <*> y)";  
     by (simp! add: diff_eq2 negate_eq2);
   also; have "... <= norm x + norm  (- 1r <*> y)"; 
-    by (simp! add: quasinorm_triangle_ineq);
+    by (simp! add: seminorm_subadditive);
   also; have "norm (- 1r <*> y) = rabs (- 1r) * norm y"; 
-    by (rule quasinorm_mult_distrib);
+    by (rule seminorm_rabs_homogenous);
   also; have "rabs (- 1r) = 1r"; by (rule rabs_minus_one);
   finally; show "norm (x - y) <= norm x + norm y"; by simp;
 qed;
 
-lemma quasinorm_minus: 
-  "[| is_quasinorm V norm; x:V; is_vectorspace V |] 
+lemma seminorm_minus: 
+  "[| is_seminorm V norm; x:V; is_vectorspace V |] 
   ==> norm (- x) = norm x";
 proof -;
-  assume "is_quasinorm V norm" "x:V" "is_vectorspace V";
-  have "norm (- x) = norm (-1r <*> x)"; by (simp! only: negate_eq1);
-  also; have "... = rabs (-1r) * norm x"; 
-    by (rule quasinorm_mult_distrib);
+  assume "is_seminorm V norm" "x:V" "is_vectorspace V";
+  have "norm (- x) = norm (- 1r <*> x)"; by (simp! only: negate_eq1);
+  also; have "... = rabs (- 1r) * norm x"; 
+    by (rule seminorm_rabs_homogenous);
   also; have "rabs (- 1r) = 1r"; by (rule rabs_minus_one);
   finally; show "norm (- x) = norm x"; by simp;
 qed;
@@ -72,20 +73,20 @@
 
 subsection {* Norms *};
 
-text{* A \emph{norm} $\norm{\cdot}$ is a quasinorm that maps only the
+text{* A \emph{norm} $\norm{\cdot}$ is a seminorm that maps only the
 $\zero$ vector to $0$. *};
 
 constdefs
   is_norm :: "['a::{minus, plus} set, 'a => real] => bool"
-  "is_norm V norm == ALL x: V.  is_quasinorm V norm 
+  "is_norm V norm == ALL x: V.  is_seminorm V norm 
       & (norm x = 0r) = (x = <0>)";
 
 lemma is_normI [intro]: 
-  "ALL x: V.  is_quasinorm V norm  & (norm x = 0r) = (x = <0>) 
+  "ALL x: V.  is_seminorm V norm  & (norm x = 0r) = (x = <0>) 
   ==> is_norm V norm"; by (simp only: is_norm_def);
 
-lemma norm_is_quasinorm [intro!!]: 
-  "[| is_norm V norm; x:V |] ==> is_quasinorm V norm";
+lemma norm_is_seminorm [intro!!]: 
+  "[| is_norm V norm; x:V |] ==> is_seminorm V norm";
   by (unfold is_norm_def, force);
 
 lemma norm_zero_iff: 
@@ -94,7 +95,7 @@
 
 lemma norm_ge_zero [intro!!]:
   "[|is_norm V norm; x:V |] ==> 0r <= norm x";
-  by (unfold is_norm_def is_quasinorm_def, force);
+  by (unfold is_norm_def is_seminorm_def, force);
 
 
 subsection {* Normed vector spaces *};
@@ -141,16 +142,16 @@
   finally; show "0r < norm x"; .;
 qed;
 
-lemma normed_vs_norm_mult_distrib [intro!!]: 
+lemma normed_vs_norm_rabs_homogenous [intro!!]: 
   "[| is_normed_vectorspace V norm; x:V |] 
   ==> norm (a <*> x) = (rabs a) * (norm x)";
-  by (rule quasinorm_mult_distrib, rule norm_is_quasinorm, 
+  by (rule seminorm_rabs_homogenous, rule norm_is_seminorm, 
       rule normed_vs_norm);
 
-lemma normed_vs_norm_triangle_ineq [intro!!]: 
+lemma normed_vs_norm_subadditive [intro!!]: 
   "[| is_normed_vectorspace V norm; x:V; y:V |] 
   ==> norm (x + y) <= norm x + norm y";
-  by (rule quasinorm_triangle_ineq, rule norm_is_quasinorm, 
+  by (rule seminorm_subadditive, rule norm_is_seminorm, 
      rule normed_vs_norm);
 
 text{* Any subspace of a normed vector space is again a 
@@ -165,7 +166,7 @@
   show "is_vectorspace F"; ..;
   show "is_norm F norm"; 
   proof (intro is_normI ballI conjI);
-    show "is_quasinorm F norm"; 
+    show "is_seminorm F norm"; 
     proof;
       fix x y a; presume "x : E";
       show "0r <= norm x"; ..;