module Order.Semilattice.Join.Subsemilattice where
Subsets of Join Semilatticesπ
Let be a predicate on a join semilattice If is closed under joins and the bottom element of then the subposet induced by is also a join semilattice.
module _ {o β} {A : Poset o β} (A-slat : is-join-semilattice A) where module A = Order.Semilattice.Join.Reasoning A-slat open is-join-semilattice open Join Subposet-is-join-semilattice : β {β'} {P : A.Ob β Prop β'} β (β {x y} β x β P β y β P β (x A.βͺ y) β P) β A.bot β P β is-join-semilattice (Subposet A P) Subposet-is-join-semilattice {P = P} βͺβP botβP ._βͺ_ (x , xβP) (y , yβP) = record { fst = x A.βͺ y ; snd = βͺβP xβP yβP } Subposet-is-join-semilattice {P = P} βͺβP botβP .βͺ-joins (x , xβP) (y , yβP) = subposet-has-join _ _ _ (A.βͺ-joins x y) Subposet-is-join-semilattice {P = P} βͺβP botβP .has-bottom = subposet-bottom A.has-bottom botβP