src/HOL/Real/HahnBanach/HahnBanach.thy
changeset 8107 284d6a3c8bd2
parent 8104 d9b3a224c0e6
child 8108 ce4bb031d664
equal deleted inserted replaced
8106:de9fae0cdfde 8107:284d6a3c8bd2
   115       proof -;
   115       proof -;
   116         have "EX H h. graph H h = g & is_linearform H h 
   116         have "EX H h. graph H h = g & is_linearform H h 
   117           & is_subspace H E & is_subspace F H
   117           & is_subspace H E & is_subspace F H
   118           & graph F f <= graph H h
   118           & graph F f <= graph H h
   119           & (ALL x:H. h x <= p x)"; by (simp! add: norm_pres_extension_D);
   119           & (ALL x:H. h x <= p x)"; by (simp! add: norm_pres_extension_D);
   120         thus ?thesis; by blast;
   120         thus ?thesis; by (elim exE conjE) rule;
   121       qed;
   121       qed;
   122       have h: "is_vectorspace H"; ..;
   122       have h: "is_vectorspace H"; ..;
   123 
   123 
   124 txt {* We show that $h$ is defined on whole $E$ by classical contradiction.  *}; 
   124 txt {* We show that $h$ is defined on whole $E$ by classical contradiction.  *}; 
   125 
   125 
   183                 finally; have "h v - h u <= p (v + x0) + p (u + x0)"; .;
   183                 finally; have "h v - h u <= p (v + x0) + p (u + x0)"; .;
   184 
   184 
   185                 thus "- p (u + x0) - h u <= p (v + x0) - h v";
   185                 thus "- p (u + x0) - h u <= p (v + x0) - h v";
   186                   by (rule real_diff_ineq_swap);
   186                   by (rule real_diff_ineq_swap);
   187               qed;
   187               qed;
   188               thus ?thesis; by blast;
   188               thus ?thesis; by rule rule;
   189             qed;
   189             qed;
   190 
   190 
   191 txt {* Define the extension $h_0$ of $h$ to $H_0$ using $\xi$.  *};
   191 txt {* Define the extension $h_0$ of $h$ to $H_0$ using $\xi$.  *};
   192 
   192 
   193             def h0 == "\<lambda>x. let (y,a) = SOME (y, a). x = y + a <*> x0 
   193             def h0 == "\<lambda>x. let (y,a) = SOME (y, a). x = y + a <*> x0