{-# OPTIONS --cubical-compatible --safe #-}
open import Equality
module Modality.Identity
{e⁺} (eq : ∀ {a p} → Equality-with-J a p e⁺) where
open Derived-definitions-and-properties eq
open import Prelude
open import Equivalence.Path-split eq
open import H-level eq as H-level
open import H-level.Closure eq
open import Modality.Basics eq
private
variable
ℓ ℓ′ : Level
Identity-modality : Modality ℓ
Identity-modality {ℓ} = λ where
.◯ → id
.η → id
.modality-for → λ where
.Modal _ → ↑ ℓ ⊤
.Modal-propositional _ →
H-level.mono₁ 0 (↑-closure 0 ⊤-contractible)
.Modal-◯ → _
.Modal-respects-≃ → _
.extendable-along-η _ → ∞-extendable-along-id
where
open Modality
open Modality-for
empty-modal : Empty-modal (Identity-modality {ℓ = ℓ})
empty-modal = _
very-modal : Very-modal (Identity-modality {ℓ = ℓ})
very-modal = _
topological : Topological (Identity-modality {ℓ = ℓ})
topological {ℓ} =
( ↑ ℓ ⊤
, (λ _ → ↑ ℓ ⊤)
, (λ _ → record { to = λ _ _ → ∞-extendable-along-id })
)
, (λ _ → H-level.mono₁ 0 (↑-closure 0 ⊤-contractible))
left-exact : Left-exact (λ (A : Type ℓ) → A)
left-exact {A} {x} {y} =
Contractible A →⟨ H-level.⇒≡ 0 ⟩□
Contractible (x ≡ y) □
cotopological : Cotopological (λ (A : Type ℓ) → A)
cotopological = left-exact , (λ _ c → c)
accessibility-modal :
Modality.Accessibility-modal (Identity-modality {ℓ = ℓ})
accessibility-modal {ℓ} =
(λ acc → Modal→Acc→Acc-[]◯-η _ id acc)
, id
where
open Modality (Identity-modality {ℓ = ℓ})
w-modal : W-modal (Identity-modality {ℓ = ℓ})
w-modal _ = _