src/HOL/Algebra/Lattice.thy
changeset 23350 50c5b0912a0c
parent 22265 3c5c6bdf61de
child 23463 9953ff53cc64
--- a/src/HOL/Algebra/Lattice.thy	Wed Jun 13 00:01:38 2007 +0200
+++ b/src/HOL/Algebra/Lattice.thy	Wed Jun 13 00:01:41 2007 +0200
@@ -265,7 +265,7 @@
 	  assume "z \<in> {x}"  (* FIXME "z = x"; declare specific elim rule for "insert x {}" (!?) *)
           with y L show ?thesis by blast
 	qed
-      qed (rule Upper_closed [THEN subsetD])
+      qed (rule Upper_closed [THEN subsetD, OF y])
     next
       from L show "insert x A \<subseteq> carrier L" by simp
       from least_s show "s \<in> carrier L" by simp
@@ -307,13 +307,13 @@
             assume "z \<in> {x}"
             with y L show ?thesis by blast
           qed
-        qed (rule Upper_closed [THEN subsetD])
+        qed (rule Upper_closed [THEN subsetD, OF y])
       next
         from L show "insert x A \<subseteq> carrier L" by simp
         from least_s show "s \<in> carrier L" by simp
       qed
-    qed
-  qed
+    qed (rule least_l)
+  qed (rule P)
 qed
 
 lemma (in lattice) finite_sup_least:
@@ -375,12 +375,12 @@
 
 lemma (in lattice) join_le:
   assumes sub: "x \<sqsubseteq> z"  "y \<sqsubseteq> z"
-    and L: "x \<in> carrier L"  "y \<in> carrier L"  "z \<in> carrier L"
+    and x: "x \<in> carrier L" and y: "y \<in> carrier L" and z: "z \<in> carrier L"
   shows "x \<squnion> y \<sqsubseteq> z"
-proof (rule joinI)
+proof (rule joinI [OF _ x y])
   fix s
   assume "least L s (Upper L {x, y})"
-  with sub L show "s \<sqsubseteq> z" by (fast elim: least_le intro: Upper_memI)
+  with sub z show "s \<sqsubseteq> z" by (fast elim: least_le intro: Upper_memI)
 qed
 
 lemma (in lattice) join_assoc_lemma:
@@ -491,7 +491,7 @@
           assume "z \<in> {x}"
           with y L show ?thesis by blast
 	qed
-      qed (rule Lower_closed [THEN subsetD])
+      qed (rule Lower_closed [THEN subsetD, OF y])
     next
       from L show "insert x A \<subseteq> carrier L" by simp
       from greatest_i show "i \<in> carrier L" by simp
@@ -533,13 +533,13 @@
             assume "z \<in> {x}"
             with y L show ?thesis by blast
 	  qed
-        qed (rule Lower_closed [THEN subsetD])
+        qed (rule Lower_closed [THEN subsetD, OF y])
       next
         from L show "insert x A \<subseteq> carrier L" by simp
         from greatest_i show "i \<in> carrier L" by simp
       qed
-    qed
-  qed
+    qed (rule greatest_g)
+  qed (rule P)
 qed
 
 lemma (in lattice) finite_inf_greatest:
@@ -603,12 +603,12 @@
 
 lemma (in lattice) meet_le:
   assumes sub: "z \<sqsubseteq> x"  "z \<sqsubseteq> y"
-    and L: "x \<in> carrier L"  "y \<in> carrier L"  "z \<in> carrier L"
+    and x: "x \<in> carrier L" and y: "y \<in> carrier L" and z: "z \<in> carrier L"
   shows "z \<sqsubseteq> x \<sqinter> y"
-proof (rule meetI)
+proof (rule meetI [OF _ x y])
   fix i
   assume "greatest L i (Lower L {x, y})"
-  with sub L show "z \<sqsubseteq> i" by (fast elim: greatest_le intro: Lower_memI)
+  with sub z show "z \<sqsubseteq> i" by (fast elim: greatest_le intro: Lower_memI)
 qed
 
 lemma (in lattice) meet_assoc_lemma: