equal
deleted
inserted
replaced
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] |