12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394-------------------------------------------------------------------------- The Agda standard library---- Properties of the unit type------------------------------------------------------------------------ {-# OPTIONS --cubical-compatible --safe #-} module Data.Unit.Properties where open import Data.Sum.Base using (inj₁)open import Data.Unit.Base using (⊤)open import Level using (0ℓ)open import Relation.Nullary using (Irrelevant; yes)open import Relation.Binary.Bundles using (Setoid; DecSetoid; Poset; DecTotalOrder)open import Relation.Binary.Structures using (IsPreorder; IsPartialOrder; IsTotalOrder; IsDecTotalOrder)open import Relation.Binary.Definitions using (DecidableEquality; Total; Antisymmetric)open import Relation.Binary.PropositionalEquality.Core using (_≡_; refl; trans)open import Relation.Binary.PropositionalEquality.Properties using (setoid; decSetoid; isEquivalence) -------------------------------------------------------------------------- Irrelevancy ⊤-irrelevant : Irrelevant ⊤⊤-irrelevant _ _ = refl -------------------------------------------------------------------------- Equality infix 4 _≟_ _≟_ : DecidableEquality ⊤_ ≟ _ = yes refl ≡-setoid : Setoid 0ℓ 0ℓ≡-setoid = setoid ⊤ ≡-decSetoid : DecSetoid 0ℓ 0ℓ≡-decSetoid = decSetoid _≟_ -------------------------------------------------------------------------- Relational properties ≡-total : Total {A = ⊤} _≡_≡-total _ _ = inj₁ refl ≡-antisym : Antisymmetric {A = ⊤} _≡_ _≡_≡-antisym eq _ = eq -------------------------------------------------------------------------- Structures ≡-isPreorder : IsPreorder {A = ⊤} _≡_ _≡_≡-isPreorder = record { isEquivalence = isEquivalence ; reflexive = λ x → x ; trans = trans } ≡-isPartialOrder : IsPartialOrder _≡_ _≡_≡-isPartialOrder = record { isPreorder = ≡-isPreorder ; antisym = ≡-antisym } ≡-isTotalOrder : IsTotalOrder _≡_ _≡_≡-isTotalOrder = record { isPartialOrder = ≡-isPartialOrder ; total = ≡-total } ≡-isDecTotalOrder : IsDecTotalOrder _≡_ _≡_≡-isDecTotalOrder = record { isTotalOrder = ≡-isTotalOrder ; _≟_ = _≟_ ; _≤?_ = _≟_ } -------------------------------------------------------------------------- Bundles ≡-poset : Poset 0ℓ 0ℓ 0ℓ≡-poset = record { isPartialOrder = ≡-isPartialOrder } ≡-decTotalOrder : DecTotalOrder 0ℓ 0ℓ 0ℓ≡-decTotalOrder = record { isDecTotalOrder = ≡-isDecTotalOrder }