module Order.Semilattice.Meet.Reasoning {o β} {P : Poset o β} (slat : is-meet-semilattice P) where
Reasoning about meet semilatticesπ
This module proves some basic facts about meet semilattices, and exposes reasoning combinators for working with them.
open Order.Reasoning P public open is-meet-semilattice slat public
The top element of a meet semilattice is both a left and right identity element with respect to meets.
β©-idl : β {x} β top β© x β‘ x β©-idl = β€-antisym β©β€r (β©-universal _ ! β€-refl) β©-idr : β {x} β x β© top β‘ x β©-idr = β€-antisym β©β€l (β©-universal _ β€-refl !)
Therefore, every meet semilattice is a monoid.
β©-is-monoid : is-monoid top _β©_ β©-is-monoid .has-is-semigroup = β©-is-semigroup β©-is-monoid .idl = β©-idl β©-is-monoid .idr = β©-idr β©-monoid : Monoid-on β P β β©-monoid .Monoid-on.identity = top β©-monoid .Monoid-on._β_ = _β©_ β©-monoid .Monoid-on.has-is-monoid = β©-is-monoid module β© = Cat.Reasoning (B β©-monoid) hiding (Ob)