src/HOL/ex/Tarski.thy
changeset 46752 e9e7209eb375
parent 41413 64cd30d6b0b8
child 49756 28e37eab4e6f
equal deleted inserted replaced
46751:6b94c39b7366 46752:e9e7209eb375
   225 
   225 
   226 lemma isGlb_glb: "(\<exists>G. isGlb S cl G) = isGlb S cl (glb S cl)"
   226 lemma isGlb_glb: "(\<exists>G. isGlb S cl G) = isGlb S cl (glb S cl)"
   227 by (simp add: glb_def greatest_def isGlb_def some_eq_ex [symmetric])
   227 by (simp add: glb_def greatest_def isGlb_def some_eq_ex [symmetric])
   228 
   228 
   229 lemma isGlb_dual_isLub: "isGlb S cl = isLub S (dual cl)"
   229 lemma isGlb_dual_isLub: "isGlb S cl = isLub S (dual cl)"
   230 by (simp add: isLub_def isGlb_def dual_def converse_def)
   230 by (simp add: isLub_def isGlb_def dual_def converse_unfold)
   231 
   231 
   232 lemma isLub_dual_isGlb: "isLub S cl = isGlb S (dual cl)"
   232 lemma isLub_dual_isGlb: "isLub S cl = isGlb S (dual cl)"
   233 by (simp add: isLub_def isGlb_def dual_def converse_def)
   233 by (simp add: isLub_def isGlb_def dual_def converse_unfold)
   234 
   234 
   235 lemma (in PO) dualPO: "dual cl \<in> PartialOrder"
   235 lemma (in PO) dualPO: "dual cl \<in> PartialOrder"
   236 apply (insert cl_po)
   236 apply (insert cl_po)
   237 apply (simp add: PartialOrder_def dual_def refl_on_converse
   237 apply (simp add: PartialOrder_def dual_def refl_on_converse
   238                  trans_converse antisym_converse)
   238                  trans_converse antisym_converse)
   249 apply (simp add: isLub_lub isGlb_def)
   249 apply (simp add: isLub_lub isGlb_def)
   250 apply (simp add: isLub_def, blast)
   250 apply (simp add: isLub_def, blast)
   251 done
   251 done
   252 
   252 
   253 lemma lub_dual_glb: "lub S cl = glb S (dual cl)"
   253 lemma lub_dual_glb: "lub S cl = glb S (dual cl)"
   254 by (simp add: lub_def glb_def least_def greatest_def dual_def converse_def)
   254 by (simp add: lub_def glb_def least_def greatest_def dual_def converse_unfold)
   255 
   255 
   256 lemma glb_dual_lub: "glb S cl = lub S (dual cl)"
   256 lemma glb_dual_lub: "glb S cl = lub S (dual cl)"
   257 by (simp add: lub_def glb_def least_def greatest_def dual_def converse_def)
   257 by (simp add: lub_def glb_def least_def greatest_def dual_def converse_unfold)
   258 
   258 
   259 lemma CL_subset_PO: "CompleteLattice \<subseteq> PartialOrder"
   259 lemma CL_subset_PO: "CompleteLattice \<subseteq> PartialOrder"
   260 by (simp add: PartialOrder_def CompleteLattice_def, fast)
   260 by (simp add: PartialOrder_def CompleteLattice_def, fast)
   261 
   261 
   262 lemmas CL_imp_PO = CL_subset_PO [THEN subsetD]
   262 lemmas CL_imp_PO = CL_subset_PO [THEN subsetD]