prefer ex1I over ex_ex1I in single-step reasoning;
authorwenzelm
Sun, 15 Jan 2006 19:58:51 +0100
changeset 18689 a50587cd8414
parent 18688 abf0f018b5ec
child 18690 16a64bdc5485
prefer ex1I over ex_ex1I in single-step reasoning;
src/HOL/HOL.thy
src/HOL/Real/HahnBanach/Subspace.thy
--- a/src/HOL/HOL.thy	Sat Jan 14 22:25:34 2006 +0100
+++ b/src/HOL/HOL.thy	Sun Jan 15 19:58:51 2006 +0100
@@ -918,6 +918,9 @@
 setup Classical.setup
 setup clasetup
 
+declare ex_ex1I [rule del, intro! 2]
+  and ex1I [intro]
+
 lemmas [intro?] = ext
   and [elim?] = ex1_implies_ex
 
--- a/src/HOL/Real/HahnBanach/Subspace.thy	Sat Jan 14 22:25:34 2006 +0100
+++ b/src/HOL/Real/HahnBanach/Subspace.thy	Sun Jan 15 19:58:51 2006 +0100
@@ -435,7 +435,7 @@
 proof -
   from x y x' have "x \<in> H + lin x'" by auto
   have "\<exists>!p. (\<lambda>(y, a). x = y + a \<cdot> x' \<and> y \<in> H) p" (is "\<exists>!p. ?P p")
-  proof
+  proof (rule ex_ex1I)
     from x y show "\<exists>p. ?P p" by blast
     fix p q assume p: "?P p" and q: "?P q"
     show "p = q"
@@ -450,7 +450,6 @@
         from xq show "fst q \<in> H" ..
         from xp and xq show "fst p + snd p \<cdot> x' = fst q + snd q \<cdot> x'"
           by simp
-        apply_end assumption+
       qed
       thus ?thesis by (cases p, cases q) simp
     qed