|
1 | 1 | module Cubical.Relation.Binary.Order.Pseudolattice.Base where |
2 | 2 |
|
3 | 3 | open import Cubical.Foundations.Prelude |
| 4 | +open import Cubical.Foundations.Function |
| 5 | +open import Cubical.Foundations.Equiv |
| 6 | +open import Cubical.Foundations.HLevels |
4 | 7 | open import Cubical.Foundations.SIP |
5 | 8 |
|
6 | 9 | open import Cubical.Relation.Binary.Base |
@@ -57,3 +60,33 @@ makeIsPseudolattice {_≤_ = _≤_} is-setL is-prop-valued is-refl is-trans is-a |
57 | 60 | PS : IsPseudolattice _≤_ |
58 | 61 | PS .IsPseudolattice.isPoset = isposet is-setL is-prop-valued is-refl is-trans is-antisym |
59 | 62 | PS .IsPseudolattice.isPseudolattice = is-meet-semipseudolattice , is-join-semipseudolattice |
| 63 | + |
| 64 | +module _ |
| 65 | + (P : Poset ℓ ℓ') (_∧_ _∨_ : ⟨ P ⟩ → ⟨ P ⟩ → ⟨ P ⟩) where |
| 66 | + open PosetStr (str P) renaming (_≤_ to infix 8 _≤_) |
| 67 | + module _ |
| 68 | + (π₁ : ∀ {a b x} → x ≤ a ∧ b → x ≤ a) |
| 69 | + (π₂ : ∀ {a b x} → x ≤ a ∧ b → x ≤ b) |
| 70 | + (ϕ : ∀ {a b x} → x ≤ a → x ≤ b → x ≤ a ∧ b) |
| 71 | + (ι₁ : ∀ {a b x} → a ∨ b ≤ x → a ≤ x) |
| 72 | + (ι₂ : ∀ {a b x} → a ∨ b ≤ x → b ≤ x) |
| 73 | + (ψ : ∀ {a b x} → a ≤ x → b ≤ x → a ∨ b ≤ x) where |
| 74 | + |
| 75 | + makePseudolatticeFromPoset : Pseudolattice ℓ ℓ' |
| 76 | + makePseudolatticeFromPoset .fst = ⟨ P ⟩ |
| 77 | + makePseudolatticeFromPoset .snd .PseudolatticeStr._≤_ = (str P) .PosetStr._≤_ |
| 78 | + makePseudolatticeFromPoset .snd .PseudolatticeStr.is-pseudolattice = isPL where |
| 79 | + isPL : IsPseudolattice _≤_ |
| 80 | + isPL .IsPseudolattice.isPoset = isPoset |
| 81 | + isPL .IsPseudolattice.isPseudolattice .fst a b .fst = a ∧ b |
| 82 | + isPL .IsPseudolattice.isPseudolattice .fst a b .snd x = propBiimpl→Equiv |
| 83 | + (is-prop-valued _ _) |
| 84 | + (isProp× (is-prop-valued _ _) (is-prop-valued _ _)) |
| 85 | + (λ x≤a∧b → π₁ x≤a∧b , π₂ x≤a∧b) |
| 86 | + (uncurry ϕ) |
| 87 | + isPL .IsPseudolattice.isPseudolattice .snd a b .fst = a ∨ b |
| 88 | + isPL .IsPseudolattice.isPseudolattice .snd a b .snd x = propBiimpl→Equiv |
| 89 | + (is-prop-valued _ _) |
| 90 | + (isProp× (is-prop-valued _ _) (is-prop-valued _ _)) |
| 91 | + (λ a∨b≤x → ι₁ a∨b≤x , ι₂ a∨b≤x) |
| 92 | + (uncurry ψ) |
0 commit comments