{-# OPTIONS --without-K --safe --guardedness --no-sized-types #-} ------------------------------------------------------------- -- Intensional equality is a linear simulation from w to w -- ------------------------------------------------------------- open import dtt open import equality open import Simulations module Simulations.identity {I : Set} (w : IS I) where open IS w renaming (Command to A ; Response to D ; next to n) private coalg : {i₁ i₂ : I} → i₁ ≡ i₂ → Φ w w _≡_ i₁ i₂ coalg {i₁} {i₂} eq = J (λ i₁ i₂ eq₁ → Φ w w _≡_ i₁ i₂) (λ i → λ a → a , (λ d → d , refl)) i₁ i₂ eq -- coalg {i} {.i} refl = λ a → a , (λ d → d , refl) ID : w ⊸ w ID = record { R = _≡_ ; coalg = coalg }