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