{-# OPTIONS --cubical-compatible --safe #-}
open import Relation.Binary.Core
module Relation.Binary.Structures.Biased
{a ℓ} {A : Set a}
(_≈_ : Rel A ℓ)
where
open import Level using (Level; _⊔_)
open import Relation.Binary.Consequences
open import Relation.Binary.Definitions
open import Relation.Binary.Structures _≈_
private
variable
ℓ₂ : Level
record IsStrictTotalOrderᶜ (_<_ : Rel A ℓ₂) : Set (a ⊔ ℓ ⊔ ℓ₂) where
field
isEquivalence : IsEquivalence
trans : Transitive _<_
compare : Trichotomous _≈_ _<_
isStrictTotalOrderᶜ : IsStrictTotalOrder _<_
isStrictTotalOrderᶜ = record
{ isStrictPartialOrder = record
{ isEquivalence = isEquivalence
; irrefl = tri⇒irr compare
; trans = trans
; <-resp-≈ = trans∧tri⇒resp Eq.sym Eq.trans trans compare
}
; compare = compare
} where module Eq = IsEquivalence isEquivalence
open IsStrictTotalOrderᶜ public
using (isStrictTotalOrderᶜ)