replaced the lemma at_two by at_different;
authorurbanc
Sun, 26 Feb 2006 22:25:17 +0100
changeset 19140 5a98cdf99079
parent 19139 af69e41eab5d
child 19141 22893b10e2d0
replaced the lemma at_two by at_different; this lemma now proves EX b. a != b
src/HOL/Nominal/Nominal.thy
--- a/src/HOL/Nominal/Nominal.thy	Sun Feb 26 22:24:05 2006 +0100
+++ b/src/HOL/Nominal/Nominal.thy	Sun Feb 26 22:25:17 2006 +0100
@@ -666,15 +666,12 @@
   apply simp
   done
 
-lemma at_two:
+lemma at_different:
   assumes at: "at TYPE('x)"
-  shows "\<exists>(a::'x) (b::'x). a\<noteq>b"
+  shows "\<exists>(b::'x). a\<noteq>b"
 proof -
-  have inf1: "infinite (UNIV::'x set)" by (rule at4[OF at])
-  hence "UNIV \<noteq> ({}::'x set)" by blast
-  hence "\<exists>(a::'x). a\<in>UNIV" by blast
-  then obtain a::"'x" where mem1: "a\<in>UNIV" by blast
-  from inf1 have inf2: "infinite (UNIV-{a})" by (rule infinite_remove)
+  have "infinite (UNIV::'x set)" by (rule at4[OF at])
+  hence inf2: "infinite (UNIV-{a})" by (rule infinite_remove)
   have "(UNIV-{a}) \<noteq> ({}::'x set)" 
   proof (rule_tac ccontr, drule_tac notnotD)
     assume "UNIV-{a} = ({}::'x set)"
@@ -683,8 +680,8 @@
   qed
   hence "\<exists>(b::'x). b\<in>(UNIV-{a})" by blast
   then obtain b::"'x" where mem2: "b\<in>(UNIV-{a})" by blast
-  from mem1 mem2 have "a\<noteq>b" by blast
-  then show "\<exists>(a::'x) (b::'x). a\<noteq>b" by blast
+  from mem2 have "a\<noteq>b" by blast
+  then show "\<exists>(b::'x). a\<noteq>b" by blast
 qed
 
 --"the at-props imply the pt-props"