author | wenzelm |
Thu, 22 Aug 2002 20:49:43 +0200 | |
changeset 13515 | a6a7025fd7e8 |
parent 12018 | ec054019c910 |
child 13547 | bf399f3bd7dc |
permissions | -rw-r--r-- |
7566 | 1 |
(* Title: HOL/Real/HahnBanach/Linearform.thy |
2 |
ID: $Id$ |
|
3 |
Author: Gertrud Bauer, TU Munich |
|
4 |
*) |
|
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
5 |
|
9035 | 6 |
header {* Linearforms *} |
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
7 |
|
9035 | 8 |
theory Linearform = VectorSpace: |
7917 | 9 |
|
10687 | 10 |
text {* |
11 |
A \emph{linear form} is a function on a vector space into the reals |
|
12 |
that is additive and multiplicative. |
|
13 |
*} |
|
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
14 |
|
13515 | 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" |
|
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
18 |
|
13515 | 19 |
locale (open) vectorspace_linearform = |
20 |
vectorspace + linearform |
|
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
21 |
|
13515 | 22 |
lemma (in vectorspace_linearform) neg [iff]: |
23 |
"x \<in> V \<Longrightarrow> f (- x) = - f x" |
|
10687 | 24 |
proof - |
13515 | 25 |
assume x: "x \<in> V" |
26 |
hence "f (- x) = f ((- 1) \<cdot> x)" by (simp add: negate_eq1) |
|
27 |
also from x have "... = (- 1) * (f x)" by (rule mult) |
|
28 |
also from x have "... = - (f x)" by simp |
|
9035 | 29 |
finally show ?thesis . |
30 |
qed |
|
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
31 |
|
13515 | 32 |
lemma (in vectorspace_linearform) diff [iff]: |
33 |
"x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> f (x - y) = f x - f y" |
|
9035 | 34 |
proof - |
13515 | 35 |
assume x: "x \<in> V" and y: "y \<in> V" |
36 |
hence "x - y = x + - y" by (rule diff_eq1) |
|
37 |
also have "f ... = f x + f (- y)" |
|
38 |
by (rule add) (simp_all add: x y) |
|
39 |
also from y have "f (- y) = - f y" by (rule neg) |
|
40 |
finally show ?thesis by simp |
|
9035 | 41 |
qed |
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
42 |
|
10687 | 43 |
text {* Every linear form yields @{text 0} for the @{text 0} vector. *} |
7917 | 44 |
|
13515 | 45 |
lemma (in vectorspace_linearform) linearform_zero [iff]: |
46 |
"f 0 = 0" |
|
10687 | 47 |
proof - |
13515 | 48 |
have "f 0 = f (0 - 0)" by simp |
49 |
also have "\<dots> = f 0 - f 0" by (rule diff) simp_all |
|
50 |
also have "\<dots> = 0" by simp |
|
51 |
finally show ?thesis . |
|
10687 | 52 |
qed |
7535
599d3414b51d
The Hahn-Banach theorem for real vectorspaces (Isabelle/Isar)
wenzelm
parents:
diff
changeset
|
53 |
|
10687 | 54 |
end |