src/HOL/Real/HahnBanach/Linearform.thy
author wenzelm
Thu Aug 29 16:08:30 2002 +0200 (2002-08-29)
changeset 13547 bf399f3bd7dc
parent 13515 a6a7025fd7e8
child 14254 342634f38451
permissions -rw-r--r--
tuned;
     1 (*  Title:      HOL/Real/HahnBanach/Linearform.thy
     2     ID:         $Id$
     3     Author:     Gertrud Bauer, TU Munich
     4 *)
     5 
     6 header {* Linearforms *}
     7 
     8 theory Linearform = VectorSpace:
     9 
    10 text {*
    11   A \emph{linear form} is a function on a vector space into the reals
    12   that is additive and multiplicative.
    13 *}
    14 
    15 locale linearform = var V + var f +
    16   assumes add [iff]: "x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> f (x + y) = f x + f y"
    17     and mult [iff]: "x \<in> V \<Longrightarrow> f (a \<cdot> x) = a * f x"
    18 
    19 lemma (in linearform) neg [iff]:
    20   includes vectorspace
    21   shows "x \<in> V \<Longrightarrow> f (- x) = - f x"
    22 proof -
    23   assume x: "x \<in> V"
    24   hence "f (- x) = f ((- 1) \<cdot> x)" by (simp add: negate_eq1)
    25   also from x have "... = (- 1) * (f x)" by (rule mult)
    26   also from x have "... = - (f x)" by simp
    27   finally show ?thesis .
    28 qed
    29 
    30 lemma (in linearform) diff [iff]:
    31   includes vectorspace
    32   shows "x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> f (x - y) = f x - f y"
    33 proof -
    34   assume x: "x \<in> V" and y: "y \<in> V"
    35   hence "x - y = x + - y" by (rule diff_eq1)
    36   also have "f ... = f x + f (- y)" by (rule add) (simp_all add: x y)
    37   also from _ y have "f (- y) = - f y" by (rule neg)
    38   finally show ?thesis by simp
    39 qed
    40 
    41 text {* Every linear form yields @{text 0} for the @{text 0} vector. *}
    42 
    43 lemma (in linearform) zero [iff]:
    44   includes vectorspace
    45   shows "f 0 = 0"
    46 proof -
    47   have "f 0 = f (0 - 0)" by simp
    48   also have "\<dots> = f 0 - f 0" by (rule diff) simp_all
    49   also have "\<dots> = 0" by simp
    50   finally show ?thesis .
    51 qed
    52 
    53 end