src/HOL/Real/HahnBanach/HahnBanachSupLemmas.thy
author bauerg
Thu, 06 Jul 2000 12:27:36 +0200
changeset 9261 879e0f0cd047
parent 9256 f9a6670427fb
child 9262 8baf94ddb345
permissions -rw-r--r--
removed sorry;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
     1
(*  Title:      HOL/Real/HahnBanach/HahnBanachSupLemmas.thy
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
     2
    ID:         $Id$
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
     3
    Author:     Gertrud Bauer, TU Munich
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
     4
*)
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
     5
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
     6
header {* The supremum w.r.t.~the function order *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
     7
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
     8
theory HahnBanachSupLemmas = FunctionNorm + ZornLemma:
9256
f9a6670427fb completed TYPES version of HahnBanach;
bauerg
parents: 9035
diff changeset
     9
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    10
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    11
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    12
text{* This section contains some lemmas that will be used in the
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
    13
proof of the Hahn-Banach Theorem.
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    14
In this section the following context is presumed. 
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
    15
Let $E$ be a real vector space with a seminorm $p$ on $E$. 
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
    16
$F$ is a subspace of $E$ and $f$ a linear form on $F$. We 
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
    17
consider a chain $c$ of norm-preserving extensions of $f$, such that
7927
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
    18
$\Union c = \idt{graph}\ap H\ap h$. 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    19
We will show some properties about the limit function $h$, 
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
    20
i.e.\ the supremum of the chain $c$.
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    21
*} 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    22
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    23
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
    24
text{* Let $c$ be a chain of norm-preserving extensions of the 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    25
function $f$ and let $\idt{graph}\ap H\ap h$ be the supremum of $c$. 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    26
Every element in $H$ is member of
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    27
one of the elements of the chain. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    28
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    29
lemma some_H'h't:
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    30
  "[| M = norm_pres_extensions E p F f; c \<in> chain M; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    31
  graph H h = Union c; x \\<in> H |]
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    32
   ==> \\<exists> H' h'. graph H' h' \<in> c & (x, h x) \<in> graph H' h' 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    33
       & is_linearform H' h' & is_subspace H' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    34
       & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    35
       & (\\<forall>x \\<in> H'. h' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    36
proof -
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    37
  assume m: "M = norm_pres_extensions E p F f" and "c \<in> chain M"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    38
     and u: "graph H h = Union c" "x \\<in> H"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    39
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    40
  have h: "(x, h x) \<in> graph H h" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    41
  with u have "(x, h x) \<in> Union c" by simp
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    42
  hence ex1: "\<exists> g \\<in> c. (x, h x) \<in> g" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    43
    by (simp only: Union_iff)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    44
  thus ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    45
  proof (elim bexE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    46
    fix g assume g: "g \\<in> c" "(x, h x) \\<in> g"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    47
    have "c \\<subseteq> M" by (rule chainD2)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    48
    hence "g \\<in> M" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    49
    hence "g \<in> norm_pres_extensions E p F f" by (simp only: m)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    50
    hence "\<exists> H' h'. graph H' h' = g 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    51
                  & is_linearform H' h'
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    52
                  & is_subspace H' E
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    53
                  & is_subspace F H'
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    54
                  & graph F f \\<subseteq> graph H' h'
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    55
                  & (\<forall>x \\<in> H'. h' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    56
      by (rule norm_pres_extension_D)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    57
    thus ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    58
    proof (elim exE conjE) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    59
      fix H' h' 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    60
      assume "graph H' h' = g" "is_linearform H' h'" 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    61
        "is_subspace H' E" "is_subspace F H'" 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    62
        "graph F f \\<subseteq> graph H' h'" "\<forall>x \\<in> H'. h' x \\<le> p x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    63
      show ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    64
      proof (intro exI conjI)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    65
        show "graph H' h' \<in> c" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    66
        show "(x, h x) \<in> graph H' h'" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    67
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    68
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    69
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    70
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    71
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    72
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
    73
text{*  \medskip Let $c$ be a chain of norm-preserving extensions of the
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    74
function $f$ and let $\idt{graph}\ap H\ap h$ be the supremum of $c$. 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    75
Every element in the domain $H$ of the supremum function is member of
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    76
the domain $H'$ of some function $h'$, such that $h$ extends $h'$.
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    77
*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    78
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    79
lemma some_H'h': 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    80
  "[| M = norm_pres_extensions E p F f; c \<in> chain M; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    81
  graph H h = Union c; x \\<in> H |] 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    82
  ==> \<exists> H' h'. x \\<in> H' & graph H' h' \\<subseteq> graph H h 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    83
      & is_linearform H' h' & is_subspace H' E & is_subspace F H'
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    84
      & graph F f \\<subseteq> graph H' h' & (\<forall>x \\<in> H'. h' x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    85
proof -
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    86
  assume "M = norm_pres_extensions E p F f" and cM: "c \<in> chain M"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    87
     and u: "graph H h = Union c" "x \\<in> H"  
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
    88
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    89
  have "\<exists> H' h'. graph H' h' \<in> c & (x, h x) \<in> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    90
       & is_linearform H' h' & is_subspace H' E 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    91
       & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    92
       & (\<forall> x \\<in> H'. h' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    93
    by (rule some_H'h't)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    94
  thus ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    95
  proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    96
    fix H' h' assume "(x, h x) \<in> graph H' h'" "graph H' h' \<in> c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    97
      "is_linearform H' h'" "is_subspace H' E" "is_subspace F H'" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    98
      "graph F f \\<subseteq> graph H' h'" "\<forall> x\<in>H'. h' x \\<le> p x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
    99
    show ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   100
    proof (intro exI conjI)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   101
      show "x\<in>H'" by (rule graphD1)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   102
      from cM u show "graph H' h' \\<subseteq> graph H h" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   103
        by (simp! only: chain_ball_Union_upper)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   104
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   105
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   106
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   107
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   108
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   109
text{* \medskip Any two elements $x$ and $y$ in the domain $H$ of the 
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   110
supremum function $h$ are both in the domain $H'$ of some function 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   111
$h'$, such that $h$ extends $h'$. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   112
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   113
lemma some_H'h'2: 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   114
  "[| M = norm_pres_extensions E p F f; c\<in> chain M; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   115
  graph H h = Union c;  x\<in>H; y\<in>H |] 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   116
  ==> \<exists> H' h'. x\<in>H' & y\<in>H' & graph H' h' \\<subseteq> graph H h 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   117
      & is_linearform H' h' & is_subspace H' E & is_subspace F H'
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   118
      & graph F f \\<subseteq> graph H' h' & (\<forall> x\<in>H'. h' x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   119
proof -
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   120
  assume "M = norm_pres_extensions E p F f" "c\<in> chain M" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   121
         "graph H h = Union c" "x\<in>H" "y\<in>H"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   122
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   123
  txt {* $x$ is in the domain $H'$ of some function $h'$, 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   124
  such that $h$ extends $h'$. *} 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   125
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   126
  have e1: "\<exists> H' h'. graph H' h' \<in> c & (x, h x) \<in> graph H' h'
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   127
       & is_linearform H' h' & is_subspace H' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   128
       & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   129
       & (\<forall> x\<in>H'. h' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   130
    by (rule some_H'h't)
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   131
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   132
  txt {* $y$ is in the domain $H''$ of some function $h''$,
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   133
  such that $h$ extends $h''$. *} 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   134
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   135
  have e2: "\<exists> H'' h''. graph H'' h'' \<in> c & (y, h y) \<in> graph H'' h''
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   136
       & is_linearform H'' h'' & is_subspace H'' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   137
       & is_subspace F H'' & graph F f \\<subseteq> graph H'' h'' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   138
       & (\<forall> x\<in>H''. h'' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   139
    by (rule some_H'h't)
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   140
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   141
  from e1 e2 show ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   142
  proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   143
    fix H' h' assume "(y, h y)\<in> graph H' h'" "graph H' h' \<in> c"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   144
      "is_linearform H' h'" "is_subspace H' E" "is_subspace F H'" 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   145
      "graph F f \\<subseteq> graph H' h'" "\<forall> x\<in>H'. h' x \\<le> p x"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   146
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   147
    fix H'' h'' assume "(x, h x)\<in> graph H'' h''" "graph H'' h'' \<in> c"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   148
      "is_linearform H'' h''" "is_subspace H'' E" "is_subspace F H''"
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   149
      "graph F f \\<subseteq> graph H'' h''" "\<forall> x\<in>H''. h'' x \\<le> p x"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   150
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   151
   txt {* Since both $h'$ and $h''$ are elements of the chain,  
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   152
   $h''$ is an extension of $h'$ or vice versa. Thus both 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   153
   $x$ and $y$ are contained in the greater one. \label{cases1}*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   154
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   155
    have "graph H'' h'' \\<subseteq> graph H' h' | graph H' h' \\<subseteq> graph H'' h''"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   156
      (is "?case1 | ?case2")
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   157
      by (rule chainD)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   158
    thus ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   159
    proof 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   160
      assume ?case1
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   161
      show ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   162
      proof (intro exI conjI)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   163
        have "(x, h x) \<in> graph H'' h''" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   164
        also have "... \\<subseteq> graph H' h'" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   165
        finally have xh:"(x, h x) \<in> graph H' h'" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   166
        thus x: "x\<in>H'" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   167
        show y: "y\<in>H'" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   168
        show "graph H' h' \\<subseteq> graph H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   169
          by (simp! only: chain_ball_Union_upper)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   170
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   171
    next
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   172
      assume ?case2
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   173
      show ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   174
      proof (intro exI conjI)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   175
        show x: "x\<in>H''" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   176
        have "(y, h y) \<in> graph H' h'" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   177
        also have "... \\<subseteq> graph H'' h''" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   178
        finally have yh: "(y, h y)\<in> graph H'' h''" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   179
        thus y: "y\<in>H''" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   180
        show "graph H'' h'' \\<subseteq> graph H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   181
          by (simp! only: chain_ball_Union_upper)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   182
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   183
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   184
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   185
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   186
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   187
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   188
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   189
text{* \medskip The relation induced by the graph of the supremum
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   190
of a chain $c$ is definite, i.~e.~it is the graph of a function. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   191
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   192
lemma sup_definite: 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   193
  "[| M == norm_pres_extensions E p F f; c \<in> chain M; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   194
  (x, y) \<in> Union c; (x, z) \<in> Union c |] ==> z = y"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   195
proof - 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   196
  assume "c\<in>chain M" "M == norm_pres_extensions E p F f"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   197
    "(x, y) \<in> Union c" "(x, z) \<in> Union c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   198
  thus ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   199
  proof (elim UnionE chainE2)
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   200
7927
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
   201
    txt{* Since both $(x, y) \in \Union c$ and $(x, z) \in \Union c$
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
   202
    they are members of some graphs $G_1$ and $G_2$, resp., such that
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   203
    both $G_1$ and $G_2$ are members of $c$.*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   204
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   205
    fix G1 G2 assume
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   206
      "(x, y) \<in> G1" "G1 \<in> c" "(x, z) \<in> G2" "G2 \<in> c" "c \\<subseteq> M"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   207
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   208
    have "G1 \<in> M" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   209
    hence e1: "\<exists> H1 h1. graph H1 h1 = G1"  
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   210
      by (force! dest: norm_pres_extension_D)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   211
    have "G2 \<in> M" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   212
    hence e2: "\<exists> H2 h2. graph H2 h2 = G2"  
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   213
      by (force! dest: norm_pres_extension_D)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   214
    from e1 e2 show ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   215
    proof (elim exE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   216
      fix H1 h1 H2 h2 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   217
      assume "graph H1 h1 = G1" "graph H2 h2 = G2"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   218
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   219
      txt{* $G_1$ is contained in $G_2$ or vice versa, 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   220
      since both $G_1$ and $G_2$ are members of $c$. \label{cases2}*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   221
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   222
      have "G1 \\<subseteq> G2 | G2 \\<subseteq> G1" (is "?case1 | ?case2") ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   223
      thus ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   224
      proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   225
        assume ?case1
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   226
        have "(x, y) \<in> graph H2 h2" by (force!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   227
        hence "y = h2 x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   228
        also have "(x, z) \<in> graph H2 h2" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   229
        hence "z = h2 x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   230
        finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   231
      next
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   232
        assume ?case2
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   233
        have "(x, y) \<in> graph H1 h1" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   234
        hence "y = h1 x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   235
        also have "(x, z) \<in> graph H1 h1" by (force!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   236
        hence "z = h1 x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   237
        finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   238
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   239
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   240
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   241
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   242
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   243
text{* \medskip The limit function $h$ is linear. Every element $x$ in the
7927
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
   244
domain of $h$ is in the domain of a function $h'$ in the chain of norm
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
   245
preserving extensions.  Furthermore, $h$ is an extension of $h'$ so
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   246
the function values of $x$ are identical for $h'$ and $h$.  Finally, the
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   247
function $h'$ is linear by construction of $M$.  *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   248
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   249
lemma sup_lf: 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   250
  "[| M = norm_pres_extensions E p F f; c\<in> chain M; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   251
  graph H h = Union c |] ==> is_linearform H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   252
proof - 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   253
  assume "M = norm_pres_extensions E p F f" "c\<in> chain M"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   254
         "graph H h = Union c"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   255
 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   256
  show "is_linearform H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   257
  proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   258
    fix x y assume "x \<in> H" "y \<in> H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   259
    have "\<exists> H' h'. x\<in>H' & y\<in>H' & graph H' h' \\<subseteq> graph H h 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   260
            & is_linearform H' h' & is_subspace H' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   261
            & is_subspace F H' & graph F f \\<subseteq> graph H' h'
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   262
            & (\<forall> x\<in>H'. h' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   263
      by (rule some_H'h'2)
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   264
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   265
    txt {* We have to show that $h$ is additive. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   266
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   267
    thus "h (x + y) = h x + h y" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   268
    proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   269
      fix H' h' assume "x\<in>H'" "y\<in>H'" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   270
        and b: "graph H' h' \\<subseteq> graph H h" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   271
        and "is_linearform H' h'" "is_subspace H' E"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   272
      have "h' (x + y) = h' x + h' y" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   273
        by (rule linearform_add)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   274
      also have "h' x = h x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   275
      also have "h' y = h y" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   276
      also have "x + y \<in> H'" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   277
      with b have "h' (x + y) = h (x + y)" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   278
      finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   279
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   280
  next  
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   281
    fix a x assume "x \<in> H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   282
    have "\<exists> H' h'. x\<in>H' & graph H' h' \\<subseteq> graph H h 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   283
            & is_linearform H' h' & is_subspace H' E
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   284
            & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   285
            & (\<forall> x\<in>H'. h' x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   286
      by (rule some_H'h')
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   287
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   288
    txt{* We have to show that $h$ is multiplicative. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   289
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   290
    thus "h (a \<prod> x) = a * h x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   291
    proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   292
      fix H' h' assume "x\<in>H'"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   293
        and b: "graph H' h' \\<subseteq> graph H h" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   294
        and "is_linearform H' h'" "is_subspace H' E"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   295
      have "h' (a \<prod> x) = a * h' x" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   296
        by (rule linearform_mult)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   297
      also have "h' x = h x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   298
      also have "a \<prod> x \<in> H'" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   299
      with b have "h' (a \<prod> x) = h (a \<prod> x)" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   300
      finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   301
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   302
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   303
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   304
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   305
text{* \medskip The limit of a non-empty chain of norm
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   306
preserving extensions of $f$ is an extension of $f$,
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   307
since every element of the chain is an extension
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   308
of $f$ and the supremum is an extension
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   309
for every element of the chain.*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   310
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   311
lemma sup_ext:
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   312
  "[| M = norm_pres_extensions E p F f; c\<in> chain M; \<exists> x. x\<in>c; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   313
  graph H h = Union c |] ==> graph F f \\<subseteq> graph H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   314
proof -
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   315
  assume "M = norm_pres_extensions E p F f" "c\<in> chain M" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   316
         "graph H h = Union c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   317
  assume "\<exists> x. x\<in>c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   318
  thus ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   319
  proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   320
    fix x assume "x\<in>c" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   321
    have "c \\<subseteq> M" by (rule chainD2)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   322
    hence "x\<in>M" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   323
    hence "x \<in> norm_pres_extensions E p F f" by (simp!)
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   324
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   325
    hence "\<exists> G g. graph G g = x
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   326
             & is_linearform G g 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   327
             & is_subspace G E
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   328
             & is_subspace F G
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   329
             & graph F f \\<subseteq> graph G g 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   330
             & (\<forall> x\<in>G. g x \\<le> p x)"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   331
      by (simp! add: norm_pres_extension_D)
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   332
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   333
    thus ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   334
    proof (elim exE conjE) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   335
      fix G g assume "graph F f \\<subseteq> graph G g"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   336
      also assume "graph G g = x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   337
      also have "... \<in> c" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   338
      hence "x \\<subseteq> Union c" by fast
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   339
      also have [RS sym]: "graph H h = Union c" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   340
      finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   341
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   342
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   343
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   344
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   345
text{* \medskip The domain $H$ of the limit function is a superspace of $F$,
7927
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
   346
since $F$ is a subset of $H$. The existence of the $\zero$ element in
b50446a33c16 update by Gertrud Bauer;
wenzelm
parents: 7917
diff changeset
   347
$F$ and the closure properties follow from the fact that $F$ is a
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   348
vector space. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   349
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   350
lemma sup_supF: 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   351
  "[| M = norm_pres_extensions E p F f; c\<in> chain M; \<exists> x. x\<in>c;
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   352
  graph H h = Union c; is_subspace F E; is_vectorspace E |] 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   353
  ==> is_subspace F H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   354
proof - 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   355
  assume "M = norm_pres_extensions E p F f" "c\<in> chain M" "\<exists> x. x\<in>c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   356
    "graph H h = Union c" "is_subspace F E" "is_vectorspace E"
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   357
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   358
  show ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   359
  proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   360
    show "\<zero> \<in> F" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   361
    show "F \\<subseteq> H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   362
    proof (rule graph_extD2)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   363
      show "graph F f \\<subseteq> graph H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   364
        by (rule sup_ext)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   365
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   366
    show "\<forall> x\<in>F. \<forall> y\<in>F. x + y \<in> F" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   367
    proof (intro ballI) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   368
      fix x y assume "x\<in>F" "y\<in>F"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   369
      show "x + y \<in> F" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   370
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   371
    show "\<forall> x\<in>F. \<forall> a. a \<prod> x \<in> F"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   372
    proof (intro ballI allI)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   373
      fix x a assume "x\<in>F"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   374
      show "a \<prod> x \<in> F" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   375
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   376
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   377
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   378
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   379
text{* \medskip The domain $H$ of the limit function is a subspace
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   380
of $E$. *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   381
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   382
lemma sup_subE: 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   383
  "[| M = norm_pres_extensions E p F f; c\<in> chain M; \<exists> x. x\<in>c; 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   384
  graph H h = Union c; is_subspace F E; is_vectorspace E |] 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   385
  ==> is_subspace H E"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   386
proof - 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   387
  assume "M = norm_pres_extensions E p F f" "c\<in> chain M" "\<exists> x. x\<in>c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   388
    "graph H h = Union c" "is_subspace F E" "is_vectorspace E"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   389
  show ?thesis 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   390
  proof
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   391
 
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   392
    txt {* The $\zero$ element is in $H$, as $F$ is a subset 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   393
    of $H$: *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   394
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   395
    have "\<zero> \<in> F" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   396
    also have "is_subspace F H" by (rule sup_supF) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   397
    hence "F \\<subseteq> H" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   398
    finally show "\<zero> \<in> H" .
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   399
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   400
    txt{* $H$ is a subset of $E$: *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   401
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   402
    show "H \\<subseteq> E" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   403
    proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   404
      fix x assume "x\<in>H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   405
      have "\<exists> H' h'. x\<in>H' & graph H' h' \\<subseteq> graph H h
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   406
              & is_linearform H' h' & is_subspace H' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   407
              & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   408
              & (\<forall> x\<in>H'. h' x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   409
	by (rule some_H'h')
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   410
      thus "x\<in>E" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   411
      proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   412
	fix H' h' assume "x\<in>H'" "is_subspace H' E"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   413
        have "H' \\<subseteq> E" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   414
	thus "x\<in>E" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   415
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   416
    qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   417
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   418
    txt{* $H$ is closed under addition: *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   419
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   420
    show "\<forall> x\<in>H. \<forall> y\<in>H. x + y \<in> H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   421
    proof (intro ballI) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   422
      fix x y assume "x\<in>H" "y\<in>H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   423
      have "\<exists> H' h'. x\<in>H' & y\<in>H' & graph H' h' \\<subseteq> graph H h 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   424
              & is_linearform H' h' & is_subspace H' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   425
              & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   426
              & (\<forall> x\<in>H'. h' x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   427
	by (rule some_H'h'2) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   428
      thus "x + y \<in> H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   429
      proof (elim exE conjE) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   430
	fix H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   431
        assume "x\<in>H'" "y\<in>H'" "is_subspace H' E" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   432
          "graph H' h' \\<subseteq> graph H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   433
        have "x + y \<in> H'" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   434
	also have "H' \\<subseteq> H" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   435
	finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   436
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   437
    qed      
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   438
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   439
    txt{* $H$ is closed under scalar multiplication: *}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   440
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   441
    show "\<forall> x\<in>H. \<forall> a. a \<prod> x \<in> H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   442
    proof (intro ballI allI) 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   443
      fix x a assume "x\<in>H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   444
      have "\<exists> H' h'. x\<in>H' & graph H' h' \\<subseteq> graph H h
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   445
              & is_linearform H' h' & is_subspace H' E 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   446
              & is_subspace F H' & graph F f \\<subseteq> graph H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   447
              & (\<forall> x\<in>H'. h' x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   448
	by (rule some_H'h') 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   449
      thus "a \<prod> x \<in> H" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   450
      proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   451
	fix H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   452
        assume "x\<in>H'" "is_subspace H' E" "graph H' h' \\<subseteq> graph H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   453
        have "a \<prod> x \<in> H'" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   454
        also have "H' \\<subseteq> H" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   455
	finally show ?thesis .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   456
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   457
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   458
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   459
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   460
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   461
text {* \medskip The limit function is bounded by 
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   462
the norm $p$ as well, since all elements in the chain are
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   463
bounded by $p$.
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   464
*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   465
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   466
lemma sup_norm_pres:
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   467
  "[| M = norm_pres_extensions E p F f; c\<in> chain M; 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   468
  graph H h = Union c |] ==> \<forall> x\<in>H. h x \\<le> p x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   469
proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   470
  assume "M = norm_pres_extensions E p F f" "c\<in> chain M" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   471
         "graph H h = Union c"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   472
  fix x assume "x\<in>H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   473
  have "\\<exists> H' h'. x\<in>H' & graph H' h' \\<subseteq> graph H h 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   474
          & is_linearform H' h' & is_subspace H' E & is_subspace F H'
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   475
          & graph F f \\<subseteq> graph H' h' & (\<forall> x\<in>H'. h' x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   476
    by (rule some_H'h')
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   477
  thus "h x \\<le> p x" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   478
  proof (elim exE conjE)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   479
    fix H' h' 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   480
    assume "x\<in> H'" "graph H' h' \\<subseteq> graph H h" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   481
      and a: "\<forall> x\<in> H'. h' x \\<le> p x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   482
    have [RS sym]: "h' x = h x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   483
    also from a have "h' x \\<le> p x " ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   484
    finally show ?thesis .  
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   485
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   486
qed
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   487
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   488
8084
c3790c6b4470 small changes;
bauerg
parents: 7978
diff changeset
   489
text{* \medskip The following lemma is a property of linear forms on 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   490
real vector spaces. It will be used for the lemma 
8838
4eaa99f0d223 replaced rabs by overloaded abs;
wenzelm
parents: 8703
diff changeset
   491
$\idt{abs{\dsh}HahnBanach}$ (see page \pageref{abs-HahnBanach}). \label{abs-ineq-iff}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   492
For real vector spaces the following inequations are equivalent:
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   493
\begin{matharray}{ll} 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   494
\forall x\in H.\ap |h\ap x|\leq p\ap x& {\rm and}\\ 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   495
\forall x\in H.\ap h\ap x\leq p\ap x\\ 
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   496
\end{matharray}
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   497
*}
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   498
8838
4eaa99f0d223 replaced rabs by overloaded abs;
wenzelm
parents: 8703
diff changeset
   499
lemma abs_ineq_iff: 
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   500
  "[| is_subspace H E; is_vectorspace E; is_seminorm E p; 
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   501
  is_linearform H h |] 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   502
  ==> (\<forall> x\<in>H. abs (h x) \\<le> p x) = (\<forall> x\<in>H. h x \\<le> p x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   503
  (concl is "?L = ?R")
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   504
proof -
7978
1b99ee57d131 final update by Gertrud Bauer;
wenzelm
parents: 7927
diff changeset
   505
  assume "is_subspace H E" "is_vectorspace E" "is_seminorm E p" 
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   506
         "is_linearform H h"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   507
  have h: "is_vectorspace H" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   508
  show ?thesis
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   509
  proof 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   510
    assume l: ?L
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   511
    show ?R
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   512
    proof
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   513
      fix x assume x: "x\<in>H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   514
      have "h x \\<le> abs (h x)" by (rule abs_ge_self)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   515
      also from l have "... \\<le> p x" ..
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   516
      finally show "h x \\<le> p x" .
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   517
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   518
  next
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   519
    assume r: ?R
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   520
    show ?L
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   521
    proof 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   522
      fix x assume "x\<in>H"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   523
      show "!! a b :: real. [| - a \\<le> b; b \\<le> a |] ==> abs b \\<le> a"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   524
        by arith
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   525
      show "- p x \\<le> h x"
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   526
      proof (rule real_minus_le)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   527
	from h have "- h x = h (- x)" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   528
          by (rule linearform_neg [RS sym])
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   529
	also from r have "... \\<le> p (- x)" by (simp!)
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   530
	also have "... = p x" 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   531
          by (rule seminorm_minus [OF _ subspace_subsetD])
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   532
	finally show "- h x \\<le> p x" . 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   533
      qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   534
      from r show "h x \\<le> p x" .. 
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   535
    qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   536
  qed
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   537
qed  
7917
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   538
5e5b9813cce7 HahnBanach update by Gertrud Bauer;
wenzelm
parents:
diff changeset
   539
9261
879e0f0cd047 removed sorry;
bauerg
parents: 9256
diff changeset
   540
end