Source code on Github{-# OPTIONS --safe #-}
module Prelude.Ord.Irrelevant where
open import Prelude.Init; open SetAsType
open import Prelude.Irrelevance.Core
open import Prelude.Ord.Core
open import Prelude.Ord.Dec
private variable A : Type ℓ
record ·Ord (A : Type ℓ) ⦃ _ : Ord A ⦄ : Type ℓ where
  field ⦃ ·-≤ ⦄ : ·² _≤_
        ⦃ ·-< ⦄ : ·² _<_
  ∀≡≤ = Irrelevant² _≤_ ∋ ∀≡
  ∀≡< = Irrelevant² _<_ ∋ ∀≡
mk·Ord : ⦃ _ : Ord A ⦄ ⦃ _ : ·² _≤_ ⦄ ⦃ _ : ·² _<_  ⦄ → ·Ord A
mk·Ord = record {}
open ·Ord ⦃...⦄ public
record Ord⁺⁺ (A : Type ℓ) : Type (lsuc ℓ) where
  field ⦃ Ord-A     ⦄ : Ord A
        ⦃ OrdLaws-A ⦄ : OrdLaws A
        ⦃ DecOrd-A  ⦄ : DecOrd A
        ⦃ ·Ord-A    ⦄ : ·Ord A
mkOrd⁺⁺ : ∀ {A : Type ℓ} ⦃ _ : Ord A ⦄
        → ⦃ _ : OrdLaws A ⦄ ⦃ _ : DecOrd A  ⦄ ⦃ _ : ·Ord A ⦄
        → Ord⁺⁺ A
mkOrd⁺⁺ = record {}
open Ord⁺⁺ ⦃...⦄ public