11 This section contains some lemmas that will be used in the proof of |
11 This section contains some lemmas that will be used in the proof of |
12 the Hahn-Banach Theorem. In this section the following context is |
12 the Hahn-Banach Theorem. In this section the following context is |
13 presumed. Let @{text E} be a real vector space with a seminorm |
13 presumed. Let @{text E} be a real vector space with a seminorm |
14 @{text p} on @{text E}. @{text F} is a subspace of @{text E} and |
14 @{text p} on @{text E}. @{text F} is a subspace of @{text E} and |
15 @{text f} a linear form on @{text F}. We consider a chain @{text c} |
15 @{text f} a linear form on @{text F}. We consider a chain @{text c} |
16 of norm-preserving extensions of @{text f}, such that |
16 of norm-preserving extensions of @{text f}, such that @{text "\<Union>c = |
17 @{text "\<Union>c = graph H h"}. We will show some properties about the |
17 graph H h"}. We will show some properties about the limit function |
18 limit function @{text h}, i.e.\ the supremum of the chain @{text c}. |
18 @{text h}, i.e.\ the supremum of the chain @{text c}. |
19 *} |
19 |
20 |
20 \medskip Let @{text c} be a chain of norm-preserving extensions of |
21 text {* |
21 the function @{text f} and let @{text "graph H h"} be the supremum |
22 Let @{text c} be a chain of norm-preserving extensions of the |
22 of @{text c}. Every element in @{text H} is member of one of the |
23 function @{text f} and let @{text "graph H h"} be the supremum of |
|
24 @{text c}. Every element in @{text H} is member of one of the |
|
25 elements of the chain. |
23 elements of the chain. |
26 *} |
24 *} |
27 |
25 |
28 lemma some_H'h't: |
26 lemma some_H'h't: |
29 "M = norm_pres_extensions E p F f \<Longrightarrow> c \<in> chain M \<Longrightarrow> |
27 assumes M: "M = norm_pres_extensions E p F f" |
30 graph H h = \<Union>c \<Longrightarrow> x \<in> H |
28 and cM: "c \<in> chain M" |
31 \<Longrightarrow> \<exists>H' h'. graph H' h' \<in> c \<and> (x, h x) \<in> graph H' h' |
29 and u: "graph H h = \<Union>c" |
32 \<and> is_linearform H' h' \<and> is_subspace H' E |
30 and x: "x \<in> H" |
33 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
31 shows "\<exists>H' h'. graph H' h' \<in> c |
34 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
32 \<and> (x, h x) \<in> graph H' h' |
|
33 \<and> linearform H' h' \<and> H' \<unlhd> E |
|
34 \<and> F \<unlhd> H' \<and> graph F f \<subseteq> graph H' h' |
|
35 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
35 proof - |
36 proof - |
36 assume m: "M = norm_pres_extensions E p F f" and "c \<in> chain M" |
37 from x have "(x, h x) \<in> graph H h" .. |
37 and u: "graph H h = \<Union>c" "x \<in> H" |
38 also from u have "\<dots> = \<Union>c" . |
38 |
39 finally obtain g where gc: "g \<in> c" and gh: "(x, h x) \<in> g" by blast |
39 have h: "(x, h x) \<in> graph H h" .. |
40 |
40 with u have "(x, h x) \<in> \<Union>c" by simp |
41 from cM have "c \<subseteq> M" .. |
41 hence ex1: "\<exists>g \<in> c. (x, h x) \<in> g" |
42 with gc have "g \<in> M" .. |
42 by (simp only: Union_iff) |
43 also from M have "\<dots> = norm_pres_extensions E p F f" . |
43 thus ?thesis |
44 finally obtain H' and h' where g: "g = graph H' h'" |
44 proof (elim bexE) |
45 and * : "linearform H' h'" "H' \<unlhd> E" "F \<unlhd> H'" |
45 fix g assume g: "g \<in> c" "(x, h x) \<in> g" |
46 "graph F f \<subseteq> graph H' h'" "\<forall>x \<in> H'. h' x \<le> p x" .. |
46 have "c \<subseteq> M" by (rule chainD2) |
47 |
47 hence "g \<in> M" .. |
48 from gc and g have "graph H' h' \<in> c" by (simp only:) |
48 hence "g \<in> norm_pres_extensions E p F f" by (simp only: m) |
49 moreover from gh and g have "(x, h x) \<in> graph H' h'" by (simp only:) |
49 hence "\<exists>H' h'. graph H' h' = g |
50 ultimately show ?thesis using * by blast |
50 \<and> is_linearform H' h' |
51 qed |
51 \<and> is_subspace H' E |
|
52 \<and> is_subspace F H' |
|
53 \<and> graph F f \<subseteq> graph H' h' |
|
54 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
|
55 by (rule norm_pres_extension_D) |
|
56 thus ?thesis |
|
57 proof (elim exE conjE) |
|
58 fix H' h' |
|
59 assume "graph H' h' = g" "is_linearform H' h'" |
|
60 "is_subspace H' E" "is_subspace F H'" |
|
61 "graph F f \<subseteq> graph H' h'" "\<forall>x \<in> H'. h' x \<le> p x" |
|
62 show ?thesis |
|
63 proof (intro exI conjI) |
|
64 show "graph H' h' \<in> c" by (simp!) |
|
65 show "(x, h x) \<in> graph H' h'" by (simp!) |
|
66 qed |
|
67 qed |
|
68 qed |
|
69 qed |
|
70 |
|
71 |
52 |
72 text {* |
53 text {* |
73 \medskip Let @{text c} be a chain of norm-preserving extensions of |
54 \medskip Let @{text c} be a chain of norm-preserving extensions of |
74 the function @{text f} and let @{text "graph H h"} be the supremum |
55 the function @{text f} and let @{text "graph H h"} be the supremum |
75 of @{text c}. Every element in the domain @{text H} of the supremum |
56 of @{text c}. Every element in the domain @{text H} of the supremum |
76 function is member of the domain @{text H'} of some function @{text |
57 function is member of the domain @{text H'} of some function @{text |
77 h'}, such that @{text h} extends @{text h'}. |
58 h'}, such that @{text h} extends @{text h'}. |
78 *} |
59 *} |
79 |
60 |
80 lemma some_H'h': |
61 lemma some_H'h': |
81 "M = norm_pres_extensions E p F f \<Longrightarrow> c \<in> chain M \<Longrightarrow> |
62 assumes M: "M = norm_pres_extensions E p F f" |
82 graph H h = \<Union>c \<Longrightarrow> x \<in> H |
63 and cM: "c \<in> chain M" |
83 \<Longrightarrow> \<exists>H' h'. x \<in> H' \<and> graph H' h' \<subseteq> graph H h |
64 and u: "graph H h = \<Union>c" |
84 \<and> is_linearform H' h' \<and> is_subspace H' E \<and> is_subspace F H' |
65 and x: "x \<in> H" |
85 \<and> graph F f \<subseteq> graph H' h' \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
66 shows "\<exists>H' h'. x \<in> H' \<and> graph H' h' \<subseteq> graph H h |
|
67 \<and> linearform H' h' \<and> H' \<unlhd> E \<and> F \<unlhd> H' |
|
68 \<and> graph F f \<subseteq> graph H' h' \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
86 proof - |
69 proof - |
87 assume "M = norm_pres_extensions E p F f" and cM: "c \<in> chain M" |
70 from M cM u x obtain H' h' where |
88 and u: "graph H h = \<Union>c" "x \<in> H" |
71 x_hx: "(x, h x) \<in> graph H' h'" |
89 |
72 and c: "graph H' h' \<in> c" |
90 have "\<exists>H' h'. graph H' h' \<in> c \<and> (x, h x) \<in> graph H' h' |
73 and * : "linearform H' h'" "H' \<unlhd> E" "F \<unlhd> H'" |
91 \<and> is_linearform H' h' \<and> is_subspace H' E |
|
92 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
|
93 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
|
94 by (rule some_H'h't) |
|
95 thus ?thesis |
|
96 proof (elim exE conjE) |
|
97 fix H' h' assume "(x, h x) \<in> graph H' h'" "graph H' h' \<in> c" |
|
98 "is_linearform H' h'" "is_subspace H' E" "is_subspace F H'" |
|
99 "graph F f \<subseteq> graph H' h'" "\<forall>x \<in> H'. h' x \<le> p x" |
74 "graph F f \<subseteq> graph H' h'" "\<forall>x \<in> H'. h' x \<le> p x" |
100 show ?thesis |
75 by (rule some_H'h't [elim_format]) blast |
101 proof (intro exI conjI) |
76 from x_hx have "x \<in> H'" .. |
102 show "x \<in> H'" by (rule graphD1) |
77 moreover from cM u c have "graph H' h' \<subseteq> graph H h" |
103 from cM u show "graph H' h' \<subseteq> graph H h" |
78 by (simp only: chain_ball_Union_upper) |
104 by (simp! only: chain_ball_Union_upper) |
79 ultimately show ?thesis using * by blast |
105 qed |
80 qed |
106 qed |
|
107 qed |
|
108 |
|
109 |
81 |
110 text {* |
82 text {* |
111 \medskip Any two elements @{text x} and @{text y} in the domain |
83 \medskip Any two elements @{text x} and @{text y} in the domain |
112 @{text H} of the supremum function @{text h} are both in the domain |
84 @{text H} of the supremum function @{text h} are both in the domain |
113 @{text H'} of some function @{text h'}, such that @{text h} extends |
85 @{text H'} of some function @{text h'}, such that @{text h} extends |
114 @{text h'}. |
86 @{text h'}. |
115 *} |
87 *} |
116 |
88 |
117 lemma some_H'h'2: |
89 lemma some_H'h'2: |
118 "M = norm_pres_extensions E p F f \<Longrightarrow> c \<in> chain M \<Longrightarrow> |
90 assumes M: "M = norm_pres_extensions E p F f" |
119 graph H h = \<Union>c \<Longrightarrow> x \<in> H \<Longrightarrow> y \<in> H |
91 and cM: "c \<in> chain M" |
120 \<Longrightarrow> \<exists>H' h'. x \<in> H' \<and> y \<in> H' \<and> graph H' h' \<subseteq> graph H h |
92 and u: "graph H h = \<Union>c" |
121 \<and> is_linearform H' h' \<and> is_subspace H' E \<and> is_subspace F H' |
93 and x: "x \<in> H" |
122 \<and> graph F f \<subseteq> graph H' h' \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
94 and y: "y \<in> H" |
|
95 shows "\<exists>H' h'. x \<in> H' \<and> y \<in> H' |
|
96 \<and> graph H' h' \<subseteq> graph H h |
|
97 \<and> linearform H' h' \<and> H' \<unlhd> E \<and> F \<unlhd> H' |
|
98 \<and> graph F f \<subseteq> graph H' h' \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
123 proof - |
99 proof - |
124 assume "M = norm_pres_extensions E p F f" "c \<in> chain M" |
|
125 "graph H h = \<Union>c" "x \<in> H" "y \<in> H" |
|
126 |
|
127 txt {* |
|
128 @{text x} is in the domain @{text H'} of some function @{text h'}, |
|
129 such that @{text h} extends @{text h'}. *} |
|
130 |
|
131 have e1: "\<exists>H' h'. graph H' h' \<in> c \<and> (x, h x) \<in> graph H' h' |
|
132 \<and> is_linearform H' h' \<and> is_subspace H' E |
|
133 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
|
134 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
|
135 by (rule some_H'h't) |
|
136 |
|
137 txt {* @{text y} is in the domain @{text H''} of some function @{text h''}, |
100 txt {* @{text y} is in the domain @{text H''} of some function @{text h''}, |
138 such that @{text h} extends @{text h''}. *} |
101 such that @{text h} extends @{text h''}. *} |
139 |
102 |
140 have e2: "\<exists>H'' h''. graph H'' h'' \<in> c \<and> (y, h y) \<in> graph H'' h'' |
103 from M cM u and y obtain H' h' where |
141 \<and> is_linearform H'' h'' \<and> is_subspace H'' E |
104 y_hy: "(y, h y) \<in> graph H' h'" |
142 \<and> is_subspace F H'' \<and> graph F f \<subseteq> graph H'' h'' |
105 and c': "graph H' h' \<in> c" |
143 \<and> (\<forall>x \<in> H''. h'' x \<le> p x)" |
106 and * : |
144 by (rule some_H'h't) |
107 "linearform H' h'" "H' \<unlhd> E" "F \<unlhd> H'" |
145 |
|
146 from e1 e2 show ?thesis |
|
147 proof (elim exE conjE) |
|
148 fix H' h' assume "(y, h y) \<in> graph H' h'" "graph H' h' \<in> c" |
|
149 "is_linearform H' h'" "is_subspace H' E" "is_subspace F H'" |
|
150 "graph F f \<subseteq> graph H' h'" "\<forall>x \<in> H'. h' x \<le> p x" |
108 "graph F f \<subseteq> graph H' h'" "\<forall>x \<in> H'. h' x \<le> p x" |
151 |
109 by (rule some_H'h't [elim_format]) blast |
152 fix H'' h'' assume "(x, h x) \<in> graph H'' h''" "graph H'' h'' \<in> c" |
110 |
153 "is_linearform H'' h''" "is_subspace H'' E" "is_subspace F H''" |
111 txt {* @{text x} is in the domain @{text H'} of some function @{text h'}, |
|
112 such that @{text h} extends @{text h'}. *} |
|
113 |
|
114 from M cM u and x obtain H'' h'' where |
|
115 x_hx: "(x, h x) \<in> graph H'' h''" |
|
116 and c'': "graph H'' h'' \<in> c" |
|
117 and ** : |
|
118 "linearform H'' h''" "H'' \<unlhd> E" "F \<unlhd> H''" |
154 "graph F f \<subseteq> graph H'' h''" "\<forall>x \<in> H''. h'' x \<le> p x" |
119 "graph F f \<subseteq> graph H'' h''" "\<forall>x \<in> H''. h'' x \<le> p x" |
155 |
120 by (rule some_H'h't [elim_format]) blast |
156 txt {* Since both @{text h'} and @{text h''} are elements of the chain, |
121 |
157 @{text h''} is an extension of @{text h'} or vice versa. Thus both |
122 txt {* Since both @{text h'} and @{text h''} are elements of the chain, |
158 @{text x} and @{text y} are contained in the greater one. \label{cases1}*} |
123 @{text h''} is an extension of @{text h'} or vice versa. Thus both |
159 |
124 @{text x} and @{text y} are contained in the greater |
160 have "graph H'' h'' \<subseteq> graph H' h' \<or> graph H' h' \<subseteq> graph H'' h''" |
125 one. \label{cases1}*} |
161 (is "?case1 \<or> ?case2") |
126 |
162 by (rule chainD) |
127 from cM have "graph H'' h'' \<subseteq> graph H' h' \<or> graph H' h' \<subseteq> graph H'' h''" |
163 thus ?thesis |
128 (is "?case1 \<or> ?case2") .. |
164 proof |
129 then show ?thesis |
165 assume ?case1 |
130 proof |
166 show ?thesis |
131 assume ?case1 |
167 proof (intro exI conjI) |
132 have "(x, h x) \<in> graph H'' h''" . |
168 have "(x, h x) \<in> graph H'' h''" . |
133 also have "... \<subseteq> graph H' h'" . |
169 also have "... \<subseteq> graph H' h'" . |
134 finally have xh:"(x, h x) \<in> graph H' h'" . |
170 finally have xh:"(x, h x) \<in> graph H' h'" . |
135 then have "x \<in> H'" .. |
171 thus x: "x \<in> H'" .. |
136 moreover from y_hy have "y \<in> H'" .. |
172 show y: "y \<in> H'" .. |
137 moreover from cM u and c' have "graph H' h' \<subseteq> graph H h" |
173 show "graph H' h' \<subseteq> graph H h" |
138 by (simp only: chain_ball_Union_upper) |
174 by (simp! only: chain_ball_Union_upper) |
139 ultimately show ?thesis using * by blast |
175 qed |
140 next |
176 next |
141 assume ?case2 |
177 assume ?case2 |
142 from x_hx have "x \<in> H''" .. |
178 show ?thesis |
143 moreover { |
179 proof (intro exI conjI) |
144 from y_hy have "(y, h y) \<in> graph H' h'" . |
180 show x: "x \<in> H''" .. |
145 also have "\<dots> \<subseteq> graph H'' h''" . |
181 have "(y, h y) \<in> graph H' h'" by (simp!) |
146 finally have "(y, h y) \<in> graph H'' h''" . |
182 also have "... \<subseteq> graph H'' h''" . |
147 } then have "y \<in> H''" .. |
183 finally have yh: "(y, h y) \<in> graph H'' h''" . |
148 moreover from cM u and c'' have "graph H'' h'' \<subseteq> graph H h" |
184 thus y: "y \<in> H''" .. |
149 by (simp only: chain_ball_Union_upper) |
185 show "graph H'' h'' \<subseteq> graph H h" |
150 ultimately show ?thesis using ** by blast |
186 by (simp! only: chain_ball_Union_upper) |
151 qed |
187 qed |
152 qed |
188 qed |
|
189 qed |
|
190 qed |
|
191 |
|
192 |
|
193 |
153 |
194 text {* |
154 text {* |
195 \medskip The relation induced by the graph of the supremum of a |
155 \medskip The relation induced by the graph of the supremum of a |
196 chain @{text c} is definite, i.~e.~t is the graph of a function. *} |
156 chain @{text c} is definite, i.~e.~t is the graph of a function. |
|
157 *} |
197 |
158 |
198 lemma sup_definite: |
159 lemma sup_definite: |
199 "M \<equiv> norm_pres_extensions E p F f \<Longrightarrow> c \<in> chain M \<Longrightarrow> |
160 assumes M_def: "M \<equiv> norm_pres_extensions E p F f" |
200 (x, y) \<in> \<Union>c \<Longrightarrow> (x, z) \<in> \<Union>c \<Longrightarrow> z = y" |
161 and cM: "c \<in> chain M" |
|
162 and xy: "(x, y) \<in> \<Union>c" |
|
163 and xz: "(x, z) \<in> \<Union>c" |
|
164 shows "z = y" |
201 proof - |
165 proof - |
202 assume "c \<in> chain M" "M \<equiv> norm_pres_extensions E p F f" |
166 from cM have c: "c \<subseteq> M" .. |
203 "(x, y) \<in> \<Union>c" "(x, z) \<in> \<Union>c" |
167 from xy obtain G1 where xy': "(x, y) \<in> G1" and G1: "G1 \<in> c" .. |
204 thus ?thesis |
168 from xz obtain G2 where xz': "(x, z) \<in> G2" and G2: "G2 \<in> c" .. |
205 proof (elim UnionE chainE2) |
169 |
206 |
170 from G1 c have "G1 \<in> M" .. |
207 txt {* Since both @{text "(x, y) \<in> \<Union>c"} and @{text "(x, z) \<in> \<Union>c"} |
171 then obtain H1 h1 where G1_rep: "G1 = graph H1 h1" |
208 they are members of some graphs @{text "G\<^sub>1"} and @{text |
172 by (unfold M_def) blast |
209 "G\<^sub>2"}, resp., such that both @{text "G\<^sub>1"} and @{text |
173 |
210 "G\<^sub>2"} are members of @{text c}.*} |
174 from G2 c have "G2 \<in> M" .. |
211 |
175 then obtain H2 h2 where G2_rep: "G2 = graph H2 h2" |
212 fix G1 G2 assume |
176 by (unfold M_def) blast |
213 "(x, y) \<in> G1" "G1 \<in> c" "(x, z) \<in> G2" "G2 \<in> c" "c \<subseteq> M" |
177 |
214 |
178 txt {* @{text "G\<^sub>1"} is contained in @{text "G\<^sub>2"} |
215 have "G1 \<in> M" .. |
179 or vice versa, since both @{text "G\<^sub>1"} and @{text |
216 hence e1: "\<exists>H1 h1. graph H1 h1 = G1" |
180 "G\<^sub>2"} are members of @{text c}. \label{cases2}*} |
217 by (blast! dest: norm_pres_extension_D) |
181 |
218 have "G2 \<in> M" .. |
182 from cM G1 G2 have "G1 \<subseteq> G2 \<or> G2 \<subseteq> G1" (is "?case1 \<or> ?case2") .. |
219 hence e2: "\<exists>H2 h2. graph H2 h2 = G2" |
183 then show ?thesis |
220 by (blast! dest: norm_pres_extension_D) |
184 proof |
221 from e1 e2 show ?thesis |
185 assume ?case1 |
222 proof (elim exE) |
186 with xy' G2_rep have "(x, y) \<in> graph H2 h2" by blast |
223 fix H1 h1 H2 h2 |
187 hence "y = h2 x" .. |
224 assume "graph H1 h1 = G1" "graph H2 h2 = G2" |
188 also |
225 |
189 from xz' G2_rep have "(x, z) \<in> graph H2 h2" by (simp only:) |
226 txt {* @{text "G\<^sub>1"} is contained in @{text "G\<^sub>2"} |
190 hence "z = h2 x" .. |
227 or vice versa, since both @{text "G\<^sub>1"} and @{text |
191 finally show ?thesis . |
228 "G\<^sub>2"} are members of @{text c}. \label{cases2}*} |
192 next |
229 |
193 assume ?case2 |
230 have "G1 \<subseteq> G2 \<or> G2 \<subseteq> G1" (is "?case1 \<or> ?case2") .. |
194 with xz' G1_rep have "(x, z) \<in> graph H1 h1" by blast |
231 thus ?thesis |
195 hence "z = h1 x" .. |
232 proof |
196 also |
233 assume ?case1 |
197 from xy' G1_rep have "(x, y) \<in> graph H1 h1" by (simp only:) |
234 have "(x, y) \<in> graph H2 h2" by (blast!) |
198 hence "y = h1 x" .. |
235 hence "y = h2 x" .. |
199 finally show ?thesis .. |
236 also have "(x, z) \<in> graph H2 h2" by (simp!) |
|
237 hence "z = h2 x" .. |
|
238 finally show ?thesis . |
|
239 next |
|
240 assume ?case2 |
|
241 have "(x, y) \<in> graph H1 h1" by (simp!) |
|
242 hence "y = h1 x" .. |
|
243 also have "(x, z) \<in> graph H1 h1" by (blast!) |
|
244 hence "z = h1 x" .. |
|
245 finally show ?thesis . |
|
246 qed |
|
247 qed |
|
248 qed |
200 qed |
249 qed |
201 qed |
250 |
202 |
251 text {* |
203 text {* |
252 \medskip The limit function @{text h} is linear. Every element |
204 \medskip The limit function @{text h} is linear. Every element |
256 @{text x} are identical for @{text h'} and @{text h}. Finally, the |
208 @{text x} are identical for @{text h'} and @{text h}. Finally, the |
257 function @{text h'} is linear by construction of @{text M}. |
209 function @{text h'} is linear by construction of @{text M}. |
258 *} |
210 *} |
259 |
211 |
260 lemma sup_lf: |
212 lemma sup_lf: |
261 "M = norm_pres_extensions E p F f \<Longrightarrow> c \<in> chain M \<Longrightarrow> |
213 assumes M: "M = norm_pres_extensions E p F f" |
262 graph H h = \<Union>c \<Longrightarrow> is_linearform H h" |
214 and cM: "c \<in> chain M" |
263 proof - |
215 and u: "graph H h = \<Union>c" |
264 assume "M = norm_pres_extensions E p F f" "c \<in> chain M" |
216 shows "linearform H h" |
265 "graph H h = \<Union>c" |
217 proof |
266 |
218 fix x y assume x: "x \<in> H" and y: "y \<in> H" |
267 show "is_linearform H h" |
219 with M cM u obtain H' h' where |
268 proof |
220 x': "x \<in> H'" and y': "y \<in> H'" |
269 fix x y assume "x \<in> H" "y \<in> H" |
221 and b: "graph H' h' \<subseteq> graph H h" |
270 have "\<exists>H' h'. x \<in> H' \<and> y \<in> H' \<and> graph H' h' \<subseteq> graph H h |
222 and linearform: "linearform H' h'" |
271 \<and> is_linearform H' h' \<and> is_subspace H' E |
223 and subspace: "H' \<unlhd> E" |
272 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
224 by (rule some_H'h'2 [elim_format]) blast |
273 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
225 |
274 by (rule some_H'h'2) |
226 show "h (x + y) = h x + h y" |
275 |
227 proof - |
276 txt {* We have to show that @{text h} is additive. *} |
228 from linearform x' y' have "h' (x + y) = h' x + h' y" |
277 |
229 by (rule linearform.add) |
278 thus "h (x + y) = h x + h y" |
230 also from b x' have "h' x = h x" .. |
279 proof (elim exE conjE) |
231 also from b y' have "h' y = h y" .. |
280 fix H' h' assume "x \<in> H'" "y \<in> H'" |
232 also from subspace x' y' have "x + y \<in> H'" |
281 and b: "graph H' h' \<subseteq> graph H h" |
233 by (rule subspace.add_closed) |
282 and "is_linearform H' h'" "is_subspace H' E" |
234 with b have "h' (x + y) = h (x + y)" .. |
283 have "h' (x + y) = h' x + h' y" |
235 finally show ?thesis . |
284 by (rule linearform_add) |
236 qed |
285 also have "h' x = h x" .. |
237 next |
286 also have "h' y = h y" .. |
238 fix x a assume x: "x \<in> H" |
287 also have "x + y \<in> H'" .. |
239 with M cM u obtain H' h' where |
288 with b have "h' (x + y) = h (x + y)" .. |
240 x': "x \<in> H'" |
289 finally show ?thesis . |
241 and b: "graph H' h' \<subseteq> graph H h" |
290 qed |
242 and linearform: "linearform H' h'" |
291 next |
243 and subspace: "H' \<unlhd> E" |
292 fix a x assume "x \<in> H" |
244 by (rule some_H'h' [elim_format]) blast |
293 have "\<exists>H' h'. x \<in> H' \<and> graph H' h' \<subseteq> graph H h |
245 |
294 \<and> is_linearform H' h' \<and> is_subspace H' E |
246 show "h (a \<cdot> x) = a * h x" |
295 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
247 proof - |
296 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
248 from linearform x' have "h' (a \<cdot> x) = a * h' x" |
297 by (rule some_H'h') |
249 by (rule linearform.mult) |
298 |
250 also from b x' have "h' x = h x" .. |
299 txt{* We have to show that @{text h} is multiplicative. *} |
251 also from subspace x' have "a \<cdot> x \<in> H'" |
300 |
252 by (rule subspace.mult_closed) |
301 thus "h (a \<cdot> x) = a * h x" |
253 with b have "h' (a \<cdot> x) = h (a \<cdot> x)" .. |
302 proof (elim exE conjE) |
254 finally show ?thesis . |
303 fix H' h' assume "x \<in> H'" |
|
304 and b: "graph H' h' \<subseteq> graph H h" |
|
305 and "is_linearform H' h'" "is_subspace H' E" |
|
306 have "h' (a \<cdot> x) = a * h' x" |
|
307 by (rule linearform_mult) |
|
308 also have "h' x = h x" .. |
|
309 also have "a \<cdot> x \<in> H'" .. |
|
310 with b have "h' (a \<cdot> x) = h (a \<cdot> x)" .. |
|
311 finally show ?thesis . |
|
312 qed |
|
313 qed |
255 qed |
314 qed |
256 qed |
315 |
257 |
316 text {* |
258 text {* |
317 \medskip The limit of a non-empty chain of norm preserving |
259 \medskip The limit of a non-empty chain of norm preserving |
319 element of the chain is an extension of @{text f} and the supremum |
261 element of the chain is an extension of @{text f} and the supremum |
320 is an extension for every element of the chain. |
262 is an extension for every element of the chain. |
321 *} |
263 *} |
322 |
264 |
323 lemma sup_ext: |
265 lemma sup_ext: |
324 "graph H h = \<Union>c \<Longrightarrow> M = norm_pres_extensions E p F f \<Longrightarrow> |
266 assumes graph: "graph H h = \<Union>c" |
325 c \<in> chain M \<Longrightarrow> \<exists>x. x \<in> c \<Longrightarrow> graph F f \<subseteq> graph H h" |
267 and M: "M = norm_pres_extensions E p F f" |
|
268 and cM: "c \<in> chain M" |
|
269 and ex: "\<exists>x. x \<in> c" |
|
270 shows "graph F f \<subseteq> graph H h" |
326 proof - |
271 proof - |
327 assume "M = norm_pres_extensions E p F f" "c \<in> chain M" |
272 from ex obtain x where xc: "x \<in> c" .. |
328 "graph H h = \<Union>c" |
273 from cM have "c \<subseteq> M" .. |
329 assume "\<exists>x. x \<in> c" |
274 with xc have "x \<in> M" .. |
330 thus ?thesis |
275 with M have "x \<in> norm_pres_extensions E p F f" |
331 proof |
276 by (simp only:) |
332 fix x assume "x \<in> c" |
277 then obtain G g where "x = graph G g" and "graph F f \<subseteq> graph G g" .. |
333 have "c \<subseteq> M" by (rule chainD2) |
278 then have "graph F f \<subseteq> x" by (simp only:) |
334 hence "x \<in> M" .. |
279 also from xc have "\<dots> \<subseteq> \<Union>c" by blast |
335 hence "x \<in> norm_pres_extensions E p F f" by (simp!) |
280 also from graph have "\<dots> = graph H h" .. |
336 |
281 finally show ?thesis . |
337 hence "\<exists>G g. graph G g = x |
|
338 \<and> is_linearform G g |
|
339 \<and> is_subspace G E |
|
340 \<and> is_subspace F G |
|
341 \<and> graph F f \<subseteq> graph G g |
|
342 \<and> (\<forall>x \<in> G. g x \<le> p x)" |
|
343 by (simp! add: norm_pres_extension_D) |
|
344 |
|
345 thus ?thesis |
|
346 proof (elim exE conjE) |
|
347 fix G g assume "graph F f \<subseteq> graph G g" |
|
348 also assume "graph G g = x" |
|
349 also have "... \<in> c" . |
|
350 hence "x \<subseteq> \<Union>c" by fast |
|
351 also have [symmetric]: "graph H h = \<Union>c" . |
|
352 finally show ?thesis . |
|
353 qed |
|
354 qed |
|
355 qed |
282 qed |
356 |
283 |
357 text {* |
284 text {* |
358 \medskip The domain @{text H} of the limit function is a superspace |
285 \medskip The domain @{text H} of the limit function is a superspace |
359 of @{text F}, since @{text F} is a subset of @{text H}. The |
286 of @{text F}, since @{text F} is a subset of @{text H}. The |
360 existence of the @{text 0} element in @{text F} and the closure |
287 existence of the @{text 0} element in @{text F} and the closure |
361 properties follow from the fact that @{text F} is a vector space. |
288 properties follow from the fact that @{text F} is a vector space. |
362 *} |
289 *} |
363 |
290 |
364 lemma sup_supF: |
291 lemma sup_supF: |
365 "graph H h = \<Union>c \<Longrightarrow> M = norm_pres_extensions E p F f \<Longrightarrow> |
292 assumes graph: "graph H h = \<Union>c" |
366 c \<in> chain M \<Longrightarrow> \<exists>x. x \<in> c \<Longrightarrow> is_subspace F E \<Longrightarrow> is_vectorspace E |
293 and M: "M = norm_pres_extensions E p F f" |
367 \<Longrightarrow> is_subspace F H" |
294 and cM: "c \<in> chain M" |
368 proof - |
295 and ex: "\<exists>x. x \<in> c" |
369 assume "M = norm_pres_extensions E p F f" "c \<in> chain M" "\<exists>x. x \<in> c" |
296 and FE: "F \<unlhd> E" |
370 "graph H h = \<Union>c" "is_subspace F E" "is_vectorspace E" |
297 shows "F \<unlhd> H" |
371 |
298 proof |
372 show ?thesis |
299 from FE show "F \<noteq> {}" by (rule subspace.non_empty) |
373 proof |
300 from graph M cM ex have "graph F f \<subseteq> graph H h" by (rule sup_ext) |
374 show "0 \<in> F" .. |
301 then show "F \<subseteq> H" .. |
375 show "F \<subseteq> H" |
302 fix x y assume "x \<in> F" and "y \<in> F" |
376 proof (rule graph_extD2) |
303 with FE show "x + y \<in> F" by (rule subspace.add_closed) |
377 show "graph F f \<subseteq> graph H h" |
304 next |
378 by (rule sup_ext) |
305 fix x a assume "x \<in> F" |
379 qed |
306 with FE show "a \<cdot> x \<in> F" by (rule subspace.mult_closed) |
380 show "\<forall>x \<in> F. \<forall>y \<in> F. x + y \<in> F" |
|
381 proof (intro ballI) |
|
382 fix x y assume "x \<in> F" "y \<in> F" |
|
383 show "x + y \<in> F" by (simp!) |
|
384 qed |
|
385 show "\<forall>x \<in> F. \<forall>a. a \<cdot> x \<in> F" |
|
386 proof (intro ballI allI) |
|
387 fix x a assume "x\<in>F" |
|
388 show "a \<cdot> x \<in> F" by (simp!) |
|
389 qed |
|
390 qed |
|
391 qed |
307 qed |
392 |
308 |
393 text {* |
309 text {* |
394 \medskip The domain @{text H} of the limit function is a subspace of |
310 \medskip The domain @{text H} of the limit function is a subspace of |
395 @{text E}. |
311 @{text E}. |
396 *} |
312 *} |
397 |
313 |
398 lemma sup_subE: |
314 lemma sup_subE: |
399 "graph H h = \<Union>c \<Longrightarrow> M = norm_pres_extensions E p F f \<Longrightarrow> |
315 assumes graph: "graph H h = \<Union>c" |
400 c \<in> chain M \<Longrightarrow> \<exists>x. x \<in> c \<Longrightarrow> is_subspace F E \<Longrightarrow> is_vectorspace E |
316 and M: "M = norm_pres_extensions E p F f" |
401 \<Longrightarrow> is_subspace H E" |
317 and cM: "c \<in> chain M" |
402 proof - |
318 and ex: "\<exists>x. x \<in> c" |
403 assume "M = norm_pres_extensions E p F f" "c \<in> chain M" "\<exists>x. x \<in> c" |
319 and FE: "F \<unlhd> E" |
404 "graph H h = \<Union>c" "is_subspace F E" "is_vectorspace E" |
320 and E: "vectorspace E" |
405 show ?thesis |
321 shows "H \<unlhd> E" |
|
322 proof |
|
323 show "H \<noteq> {}" |
|
324 proof - |
|
325 from FE E have "0 \<in> F" by (rule subvectorspace.zero) |
|
326 also from graph M cM ex FE have "F \<unlhd> H" by (rule sup_supF) |
|
327 then have "F \<subseteq> H" .. |
|
328 finally show ?thesis by blast |
|
329 qed |
|
330 show "H \<subseteq> E" |
406 proof |
331 proof |
407 |
332 fix x assume "x \<in> H" |
408 txt {* The @{text 0} element is in @{text H}, as @{text F} is a |
333 with M cM graph |
409 subset of @{text H}: *} |
334 obtain H' h' where x: "x \<in> H'" and H'E: "H' \<unlhd> E" |
410 |
335 by (rule some_H'h' [elim_format]) blast |
411 have "0 \<in> F" .. |
336 from H'E have "H' \<subseteq> E" .. |
412 also have "is_subspace F H" by (rule sup_supF) |
337 with x show "x \<in> E" .. |
413 hence "F \<subseteq> H" .. |
338 qed |
414 finally show "0 \<in> H" . |
339 fix x y assume x: "x \<in> H" and y: "y \<in> H" |
415 |
340 show "x + y \<in> H" |
416 txt {* @{text H} is a subset of @{text E}: *} |
341 proof - |
417 |
342 from M cM graph x y obtain H' h' where |
418 show "H \<subseteq> E" |
343 x': "x \<in> H'" and y': "y \<in> H'" and H'E: "H' \<unlhd> E" |
419 proof |
344 and graphs: "graph H' h' \<subseteq> graph H h" |
420 fix x assume "x \<in> H" |
345 by (rule some_H'h'2 [elim_format]) blast |
421 have "\<exists>H' h'. x \<in> H' \<and> graph H' h' \<subseteq> graph H h |
346 from H'E x' y' have "x + y \<in> H'" |
422 \<and> is_linearform H' h' \<and> is_subspace H' E |
347 by (rule subspace.add_closed) |
423 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
348 also from graphs have "H' \<subseteq> H" .. |
424 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
349 finally show ?thesis . |
425 by (rule some_H'h') |
350 qed |
426 thus "x \<in> E" |
351 next |
427 proof (elim exE conjE) |
352 fix x a assume x: "x \<in> H" |
428 fix H' h' assume "x \<in> H'" "is_subspace H' E" |
353 show "a \<cdot> x \<in> H" |
429 have "H' \<subseteq> E" .. |
354 proof - |
430 thus "x \<in> E" .. |
355 from M cM graph x |
431 qed |
356 obtain H' h' where x': "x \<in> H'" and H'E: "H' \<unlhd> E" |
432 qed |
357 and graphs: "graph H' h' \<subseteq> graph H h" |
433 |
358 by (rule some_H'h' [elim_format]) blast |
434 txt {* @{text H} is closed under addition: *} |
359 from H'E x' have "a \<cdot> x \<in> H'" by (rule subspace.mult_closed) |
435 |
360 also from graphs have "H' \<subseteq> H" .. |
436 show "\<forall>x \<in> H. \<forall>y \<in> H. x + y \<in> H" |
361 finally show ?thesis . |
437 proof (intro ballI) |
|
438 fix x y assume "x \<in> H" "y \<in> H" |
|
439 have "\<exists>H' h'. x \<in> H' \<and> y \<in> H' \<and> graph H' h' \<subseteq> graph H h |
|
440 \<and> is_linearform H' h' \<and> is_subspace H' E |
|
441 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
|
442 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
|
443 by (rule some_H'h'2) |
|
444 thus "x + y \<in> H" |
|
445 proof (elim exE conjE) |
|
446 fix H' h' |
|
447 assume "x \<in> H'" "y \<in> H'" "is_subspace H' E" |
|
448 "graph H' h' \<subseteq> graph H h" |
|
449 have "x + y \<in> H'" .. |
|
450 also have "H' \<subseteq> H" .. |
|
451 finally show ?thesis . |
|
452 qed |
|
453 qed |
|
454 |
|
455 txt {* @{text H} is closed under scalar multiplication: *} |
|
456 |
|
457 show "\<forall>x \<in> H. \<forall>a. a \<cdot> x \<in> H" |
|
458 proof (intro ballI allI) |
|
459 fix x a assume "x \<in> H" |
|
460 have "\<exists>H' h'. x \<in> H' \<and> graph H' h' \<subseteq> graph H h |
|
461 \<and> is_linearform H' h' \<and> is_subspace H' E |
|
462 \<and> is_subspace F H' \<and> graph F f \<subseteq> graph H' h' |
|
463 \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
|
464 by (rule some_H'h') |
|
465 thus "a \<cdot> x \<in> H" |
|
466 proof (elim exE conjE) |
|
467 fix H' h' |
|
468 assume "x \<in> H'" "is_subspace H' E" "graph H' h' \<subseteq> graph H h" |
|
469 have "a \<cdot> x \<in> H'" .. |
|
470 also have "H' \<subseteq> H" .. |
|
471 finally show ?thesis . |
|
472 qed |
|
473 qed |
|
474 qed |
362 qed |
475 qed |
363 qed |
476 |
364 |
477 text {* |
365 text {* |
478 \medskip The limit function is bounded by the norm @{text p} as |
366 \medskip The limit function is bounded by the norm @{text p} as |
479 well, since all elements in the chain are bounded by @{text p}. |
367 well, since all elements in the chain are bounded by @{text p}. |
480 *} |
368 *} |
481 |
369 |
482 lemma sup_norm_pres: |
370 lemma sup_norm_pres: |
483 "graph H h = \<Union>c \<Longrightarrow> M = norm_pres_extensions E p F f \<Longrightarrow> |
371 assumes graph: "graph H h = \<Union>c" |
484 c \<in> chain M \<Longrightarrow> \<forall>x \<in> H. h x \<le> p x" |
372 and M: "M = norm_pres_extensions E p F f" |
|
373 and cM: "c \<in> chain M" |
|
374 shows "\<forall>x \<in> H. h x \<le> p x" |
485 proof |
375 proof |
486 assume "M = norm_pres_extensions E p F f" "c \<in> chain M" |
|
487 "graph H h = \<Union>c" |
|
488 fix x assume "x \<in> H" |
376 fix x assume "x \<in> H" |
489 have "\<exists>H' h'. x \<in> H' \<and> graph H' h' \<subseteq> graph H h |
377 with M cM graph obtain H' h' where x': "x \<in> H'" |
490 \<and> is_linearform H' h' \<and> is_subspace H' E \<and> is_subspace F H' |
378 and graphs: "graph H' h' \<subseteq> graph H h" |
491 \<and> graph F f \<subseteq> graph H' h' \<and> (\<forall>x \<in> H'. h' x \<le> p x)" |
|
492 by (rule some_H'h') |
|
493 thus "h x \<le> p x" |
|
494 proof (elim exE conjE) |
|
495 fix H' h' |
|
496 assume "x \<in> H'" "graph H' h' \<subseteq> graph H h" |
|
497 and a: "\<forall>x \<in> H'. h' x \<le> p x" |
379 and a: "\<forall>x \<in> H'. h' x \<le> p x" |
498 have [symmetric]: "h' x = h x" .. |
380 by (rule some_H'h' [elim_format]) blast |
499 also from a have "h' x \<le> p x " .. |
381 from graphs x' have [symmetric]: "h' x = h x" .. |
500 finally show ?thesis . |
382 also from a x' have "h' x \<le> p x " .. |
501 qed |
383 finally show "h x \<le> p x" . |
502 qed |
384 qed |
503 |
|
504 |
385 |
505 text {* |
386 text {* |
506 \medskip The following lemma is a property of linear forms on real |
387 \medskip The following lemma is a property of linear forms on real |
507 vector spaces. It will be used for the lemma @{text abs_HahnBanach} |
388 vector spaces. It will be used for the lemma @{text abs_HahnBanach} |
508 (see page \pageref{abs-HahnBanach}). \label{abs-ineq-iff} For real |
389 (see page \pageref{abs-HahnBanach}). \label{abs-ineq-iff} For real |