src/HOL/Real/HahnBanach/Linearform.thy
 author ballarin Tue Jul 15 16:50:09 2008 +0200 (2008-07-15) changeset 27611 2c01c0bdb385 parent 25762 c03e9d04b3e4 child 27612 d3eb431db035 permissions -rw-r--r--
Removed uses of context element includes.
     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 imports VectorSpace begin

     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   constrains V :: "'a\<Colon>{minus, plus, zero, uminus} set"

    17   assumes add [iff]: "x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> f (x + y) = f x + f y"

    18     and mult [iff]: "x \<in> V \<Longrightarrow> f (a \<cdot> x) = a * f x"

    19

    20 declare linearform.intro [intro?]

    21

    22 lemma (in linearform) neg [iff]:

    23   assumes "vectorspace V"

    24   shows "x \<in> V \<Longrightarrow> f (- x) = - f x"

    25 proof -

    26   interpret vectorspace [V] by fact

    27   assume x: "x \<in> V"

    28   hence "f (- x) = f ((- 1) \<cdot> x)" by (simp add: negate_eq1)

    29   also from x have "... = (- 1) * (f x)" by (rule mult)

    30   also from x have "... = - (f x)" by simp

    31   finally show ?thesis .

    32 qed

    33

    34 lemma (in linearform) diff [iff]:

    35   assumes "vectorspace V"

    36   shows "x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> f (x - y) = f x - f y"

    37 proof -

    38   interpret vectorspace [V] by fact

    39   assume x: "x \<in> V" and y: "y \<in> V"

    40   hence "x - y = x + - y" by (rule diff_eq1)

    41   also have "f ... = f x + f (- y)" by (rule add) (simp_all add: x y)

    42   also have "f (- y) = - f y" using vectorspace V y by (rule neg)

    43   finally show ?thesis by simp

    44 qed

    45

    46 text {* Every linear form yields @{text 0} for the @{text 0} vector. *}

    47

    48 lemma (in linearform) zero [iff]:

    49   assumes "vectorspace V"

    50   shows "f 0 = 0"

    51 proof -

    52   interpret vectorspace [V] by fact

    53   have "f 0 = f (0 - 0)" by simp

    54   also have "\<dots> = f 0 - f 0" using vectorspace V by (rule diff) simp_all

    55   also have "\<dots> = 0" by simp

    56   finally show ?thesis .

    57 qed

    58

    59 end