src/HOL/Lattices.thy
changeset 67399 eab6ce8368fa
parent 63820 9f004fbf9d5c
child 67727 ce3e87a51488
equal deleted inserted replaced
67398:5eb932e604a2 67399:eab6ce8368fa
   333 end
   333 end
   334 
   334 
   335 context lattice
   335 context lattice
   336 begin
   336 begin
   337 
   337 
   338 lemma dual_lattice: "class.lattice sup (op \<ge>) (op >) inf"
   338 lemma dual_lattice: "class.lattice sup (\<ge>) (>) inf"
   339   by (rule class.lattice.intro,
   339   by (rule class.lattice.intro,
   340       rule dual_semilattice,
   340       rule dual_semilattice,
   341       rule class.semilattice_sup.intro,
   341       rule class.semilattice_sup.intro,
   342       rule dual_order)
   342       rule dual_order)
   343     (unfold_locales, auto)
   343     (unfold_locales, auto)
   435   by (rule distrib_imp2 [OF sup_inf_distrib1])
   435   by (rule distrib_imp2 [OF sup_inf_distrib1])
   436 
   436 
   437 lemma inf_sup_distrib2: "(y \<squnion> z) \<sqinter> x = (y \<sqinter> x) \<squnion> (z \<sqinter> x)"
   437 lemma inf_sup_distrib2: "(y \<squnion> z) \<sqinter> x = (y \<sqinter> x) \<squnion> (z \<sqinter> x)"
   438   by (simp add: inf_commute inf_sup_distrib1)
   438   by (simp add: inf_commute inf_sup_distrib1)
   439 
   439 
   440 lemma dual_distrib_lattice: "class.distrib_lattice sup (op \<ge>) (op >) inf"
   440 lemma dual_distrib_lattice: "class.distrib_lattice sup (\<ge>) (>) inf"
   441   by (rule class.distrib_lattice.intro, rule dual_lattice)
   441   by (rule class.distrib_lattice.intro, rule dual_lattice)
   442     (unfold_locales, fact inf_sup_distrib1)
   442     (unfold_locales, fact inf_sup_distrib1)
   443 
   443 
   444 lemmas sup_inf_distrib = sup_inf_distrib1 sup_inf_distrib2
   444 lemmas sup_inf_distrib = sup_inf_distrib1 sup_inf_distrib2
   445 
   445