src/HOL/Real/HahnBanach/FunctionOrder.thy
changeset 9035 371f023d3dbd
parent 8203 2fcc6017cb72
child 9374 153853af318b
--- a/src/HOL/Real/HahnBanach/FunctionOrder.thy	Sun Jun 04 00:09:04 2000 +0200
+++ b/src/HOL/Real/HahnBanach/FunctionOrder.thy	Sun Jun 04 19:39:29 2000 +0200
@@ -3,11 +3,11 @@
     Author:     Gertrud Bauer, TU Munich
 *)
 
-header {* An order on functions *};
+header {* An order on functions *}
 
-theory FunctionOrder = Subspace + Linearform:;
+theory FunctionOrder = Subspace + Linearform:
 
-subsection {* The graph of a function *};
+subsection {* The graph of a function *}
 
 text{* We define the \emph{graph} of a (real) function $f$ with
 domain $F$ as the set 
@@ -16,55 +16,55 @@
 \]
 So we are modeling partial functions by specifying the domain and 
 the mapping function. We use the term ``function'' also for its graph.
-*};
+*}
 
-types 'a graph = "('a * real) set";
+types 'a graph = "('a * real) set"
 
 constdefs
   graph :: "['a set, 'a => real] => 'a graph "
-  "graph F f == {(x, f x) | x. x:F}"; 
+  "graph F f == {(x, f x) | x. x:F}" 
 
-lemma graphI [intro??]: "x:F ==> (x, f x) : graph F f";
-  by (unfold graph_def, intro CollectI exI) force;
+lemma graphI [intro??]: "x:F ==> (x, f x) : graph F f"
+  by (unfold graph_def, intro CollectI exI) force
 
-lemma graphI2 [intro??]: "x:F ==> EX t: (graph F f). t = (x, f x)";
-  by (unfold graph_def, force);
+lemma graphI2 [intro??]: "x:F ==> EX t: (graph F f). t = (x, f x)"
+  by (unfold graph_def, force)
 
-lemma graphD1 [intro??]: "(x, y): graph F f ==> x:F";
-  by (unfold graph_def, elim CollectE exE) force;
+lemma graphD1 [intro??]: "(x, y): graph F f ==> x:F"
+  by (unfold graph_def, elim CollectE exE) force
 
-lemma graphD2 [intro??]: "(x, y): graph H h ==> y = h x";
-  by (unfold graph_def, elim CollectE exE) force; 
+lemma graphD2 [intro??]: "(x, y): graph H h ==> y = h x"
+  by (unfold graph_def, elim CollectE exE) force 
 
-subsection {* Functions ordered by domain extension *};
+subsection {* Functions ordered by domain extension *}
 
 text{* A function $h'$ is an extension of $h$, iff the graph of 
-$h$ is a subset of the graph of $h'$.*};
+$h$ is a subset of the graph of $h'$.*}
 
 lemma graph_extI: 
   "[| !! x. x: H ==> h x = h' x; H <= H'|]
-  ==> graph H h <= graph H' h'";
-  by (unfold graph_def, force);
+  ==> graph H h <= graph H' h'"
+  by (unfold graph_def, force)
 
 lemma graph_extD1 [intro??]: 
-  "[| graph H h <= graph H' h'; x:H |] ==> h x = h' x";
-  by (unfold graph_def, force);
+  "[| graph H h <= graph H' h'; x:H |] ==> h x = h' x"
+  by (unfold graph_def, force)
 
 lemma graph_extD2 [intro??]: 
-  "[| graph H h <= graph H' h' |] ==> H <= H'";
-  by (unfold graph_def, force);
+  "[| graph H h <= graph H' h' |] ==> H <= H'"
+  by (unfold graph_def, force)
 
-subsection {* Domain and function of a graph *};
+subsection {* Domain and function of a graph *}
 
 text{* The inverse functions to $\idt{graph}$ are $\idt{domain}$ and 
-$\idt{funct}$.*};
+$\idt{funct}$.*}
 
 constdefs
   domain :: "'a graph => 'a set" 
   "domain g == {x. EX y. (x, y):g}"
 
   funct :: "'a graph => ('a => real)"
-  "funct g == \<lambda>x. (SOME y. (x, y):g)";
+  "funct g == \<lambda>x. (SOME y. (x, y):g)"
 
 (*text{*  The equations 
 \begin{matharray}
@@ -72,32 +72,32 @@
 \idt{funct} graph F f = f
 \end{matharray}
 hold, but are not proved here.
-*};*)
+*}*)
 
 text {* The following lemma states that $g$ is the graph of a function
-if the relation induced by $g$ is unique. *};
+if the relation induced by $g$ is unique. *}
 
 lemma graph_domain_funct: 
   "(!!x y z. (x, y):g ==> (x, z):g ==> z = y) 
-  ==> graph (domain g) (funct g) = g";
-proof (unfold domain_def funct_def graph_def, auto);
-  fix a b; assume "(a, b) : g";
-  show "(a, SOME y. (a, y) : g) : g"; by (rule selectI2);
-  show "EX y. (a, y) : g"; ..;
-  assume uniq: "!!x y z. (x, y):g ==> (x, z):g ==> z = y";
-  show "b = (SOME y. (a, y) : g)";
-  proof (rule select_equality [RS sym]);
-    fix y; assume "(a, y):g"; show "y = b"; by (rule uniq);
-  qed;
-qed;
+  ==> graph (domain g) (funct g) = g"
+proof (unfold domain_def funct_def graph_def, auto)
+  fix a b assume "(a, b) : g"
+  show "(a, SOME y. (a, y) : g) : g" by (rule selectI2)
+  show "EX y. (a, y) : g" ..
+  assume uniq: "!!x y z. (x, y):g ==> (x, z):g ==> z = y"
+  show "b = (SOME y. (a, y) : g)"
+  proof (rule select_equality [RS sym])
+    fix y assume "(a, y):g" show "y = b" by (rule uniq)
+  qed
+qed
 
 
 
-subsection {* Norm-preserving extensions of a function *};
+subsection {* Norm-preserving extensions of a function *}
 
 text {* Given a linear form $f$ on the space $F$ and a seminorm $p$ on 
 $E$. The set of all linear extensions of $f$, to superspaces $H$ of 
-$F$, which are bounded by $p$, is defined as follows. *};
+$F$, which are bounded by $p$, is defined as follows. *}
 
 
 constdefs
@@ -110,7 +110,7 @@
                 & is_subspace H E
                 & is_subspace F H
                 & graph F f <= graph H h
-                & (ALL x:H. h x <= p x)}";
+                & (ALL x:H. h x <= p x)}"
                        
 lemma norm_pres_extension_D:  
   "g : norm_pres_extensions E p F f
@@ -119,14 +119,14 @@
             & is_subspace H E
             & is_subspace F H
             & graph F f <= graph H h
-            & (ALL x:H. h x <= p x)";
-  by (unfold norm_pres_extensions_def) force;
+            & (ALL x:H. h x <= p x)"
+  by (unfold norm_pres_extensions_def) force
 
 lemma norm_pres_extensionI2 [intro]:  
   "[| is_linearform H h; is_subspace H E; is_subspace F H;
   graph F f <= graph H h; ALL x:H. h x <= p x |]
-  ==> (graph H h : norm_pres_extensions E p F f)";
- by (unfold norm_pres_extensions_def) force;
+  ==> (graph H h : norm_pres_extensions E p F f)"
+ by (unfold norm_pres_extensions_def) force
 
 lemma norm_pres_extensionI [intro]:  
   "EX H h. graph H h = g 
@@ -135,8 +135,7 @@
          & is_subspace F H
          & graph F f <= graph H h
          & (ALL x:H. h x <= p x)
-  ==> g: norm_pres_extensions E p F f";
-  by (unfold norm_pres_extensions_def) force;
+  ==> g: norm_pres_extensions E p F f"
+  by (unfold norm_pres_extensions_def) force
 
-end;
-
+end
\ No newline at end of file