diff -r 6ca299d29bdd -r 7ca82df6e951 src/HOL/Hahn_Banach/Function_Order.thy --- a/src/HOL/Hahn_Banach/Function_Order.thy Sun Sep 11 21:35:35 2011 +0200 +++ b/src/HOL/Hahn_Banach/Function_Order.thy Sun Sep 11 22:55:26 2011 +0200 @@ -23,9 +23,8 @@ type_synonym 'a graph = "('a \ real) set" -definition - graph :: "'a set \ ('a \ real) \ 'a graph" where - "graph F f = {(x, f x) | x. x \ F}" +definition graph :: "'a set \ ('a \ real) \ 'a graph" + where "graph F f = {(x, f x) | x. x \ F}" lemma graphI [intro]: "x \ F \ (x, f x) \ graph F f" unfolding graph_def by blast @@ -34,8 +33,9 @@ unfolding graph_def by blast lemma graphE [elim?]: - "(x, y) \ graph F f \ (x \ F \ y = f x \ C) \ C" - unfolding graph_def by blast + assumes "(x, y) \ graph F f" + obtains "x \ F" and "y = f x" + using assms unfolding graph_def by blast subsection {* Functions ordered by domain extension *} @@ -50,12 +50,10 @@ \ graph H h \ graph H' h'" unfolding graph_def by blast -lemma graph_extD1 [dest?]: - "graph H h \ graph H' h' \ x \ H \ h x = h' x" +lemma graph_extD1 [dest?]: "graph H h \ graph H' h' \ x \ H \ h x = h' x" unfolding graph_def by blast -lemma graph_extD2 [dest?]: - "graph H h \ graph H' h' \ H \ H'" +lemma graph_extD2 [dest?]: "graph H h \ graph H' h' \ H \ H'" unfolding graph_def by blast @@ -66,13 +64,11 @@ funct}. *} -definition - "domain" :: "'a graph \ 'a set" where - "domain g = {x. \y. (x, y) \ g}" +definition domain :: "'a graph \ 'a set" + where "domain g = {x. \y. (x, y) \ g}" -definition - funct :: "'a graph \ ('a \ real)" where - "funct g = (\x. (SOME y. (x, y) \ g))" +definition funct :: "'a graph \ ('a \ real)" + where "funct g = (\x. (SOME y. (x, y) \ g))" text {* The following lemma states that @{text g} is the graph of a function @@ -107,21 +103,26 @@ definition norm_pres_extensions :: "'a::{plus, minus, uminus, zero} set \ ('a \ real) \ 'a set \ ('a \ real) - \ 'a graph set" where - "norm_pres_extensions E p F f - = {g. \H h. g = graph H h - \ linearform H h - \ H \ E - \ F \ H - \ graph F f \ graph H h - \ (\x \ H. h x \ p x)}" + \ 'a graph set" +where + "norm_pres_extensions E p F f + = {g. \H h. g = graph H h + \ linearform H h + \ H \ E + \ F \ H + \ graph F f \ graph H h + \ (\x \ H. h x \ p x)}" lemma norm_pres_extensionE [elim]: - "g \ norm_pres_extensions E p F f - \ (\H h. g = graph H h \ linearform H h - \ H \ E \ F \ H \ graph F f \ graph H h - \ \x \ H. h x \ p x \ C) \ C" - unfolding norm_pres_extensions_def by blast + assumes "g \ norm_pres_extensions E p F f" + obtains H h + where "g = graph H h" + and "linearform H h" + and "H \ E" + and "F \ H" + and "graph F f \ graph H h" + and "\x \ H. h x \ p x" + using assms unfolding norm_pres_extensions_def by blast lemma norm_pres_extensionI2 [intro]: "linearform H h \ H \ E \ F \ H