open import Definition.Typed.Restrictions
open import Graded.Modality
module Definition.Typed.EqRelInstance
{a} {M : Set a}
{𝕄 : Modality M}
(R : Type-restrictions 𝕄)
where
open Type-restrictions R
open import Definition.Typed R
open import Definition.Typed.Properties R
open import Definition.Typed.Weakening R
open import Definition.Typed.EqualityRelation R
import Definition.Typed.EqualityRelation.Instance
open import Tools.Function
open import Tools.Product
private opaque
equality-relations :
Equality-relations _⊢_≡_ _⊢_≡_∷_ _⊢_≡_∷_ No-equality-reflection
equality-relations = λ where
.Neutrals-included? →
No-equality-reflection?
.Equality-reflection-allowed→¬Neutrals-included →
λ { ok (no-equality-reflection not-ok) → not-ok ok }
.⊢≡→⊢≅ → λ _ → idᶠ
.⊢≡∷→⊢≅∷ → λ _ → idᶠ
.~-to-≅ₜ → idᶠ
.≅-eq → idᶠ
.≅ₜ-eq → idᶠ
.≅-univ → univ
.≅-sym → sym
.≅ₜ-sym → sym′
.~-sym → sym′
.≅-trans → trans
.≅ₜ-trans → trans
.~-trans → trans
.≅-conv → conv
.~-conv → conv
.≅-wk → wkEq
.≅ₜ-wk → wkEqTerm
.~-wk → wkEqTerm
.≅-red → λ (A⇒* , _) (B⇒* , _) → reduction A⇒* B⇒*
.≅ₜ-red → λ (A⇒* , _) (t⇒* , _) (u⇒* , _) →
reductionₜ A⇒* t⇒* u⇒*
.≅-Urefl → refl ∘ᶠ Uⱼ
.≅ₜ-ℕrefl → refl ∘ᶠ ℕⱼ
.≅ₜ-Emptyrefl → refl ∘ᶠ Emptyⱼ
.≅ₜ-Unitrefl → λ ⊢Γ → refl ∘ᶠ Unitⱼ ⊢Γ
.≅ₜ-η-unit → η-unit
.≅-ΠΣ-cong → ΠΣ-cong
.≅ₜ-ΠΣ-cong → ΠΣ-cong
.≅ₜ-zerorefl → refl ∘ᶠ zeroⱼ
.≅-suc-cong → suc-cong
.≅-prod-cong → prod-cong
.≅-η-eq → λ ⊢t ⊢u _ _ t0≡u0 → η-eq′ ⊢t ⊢u t0≡u0
.≅-Σ-η → λ ⊢t ⊢u _ _ fst≡ snd≡ → Σ-η′ ⊢t ⊢u fst≡ snd≡
.~-var → refl
.~-app → app-cong
.~-fst → fst-cong
.~-snd → snd-cong
.~-natrec → natrec-cong
.~-prodrec → prodrec-cong
.~-emptyrec → emptyrec-cong
.~-unitrec → unitrec-cong
.≅ₜ-starrefl → λ ⊢Γ ok → refl (starⱼ ⊢Γ ok)
.≅-Id-cong → Id-cong
.≅ₜ-Id-cong → Id-cong
.≅ₜ-rflrefl → refl ∘ᶠ rflⱼ
.~-J → J-cong
.~-K → K-cong
.~-[]-cong → []-cong-cong
where
open Equality-relations
instance
eqRelInstance : EqRelSet
eqRelInstance = λ where
.EqRelSet._⊢_≅_ → _⊢_≡_
.EqRelSet._⊢_≅_∷_ → _⊢_≡_∷_
.EqRelSet._⊢_~_∷_ → _⊢_≡_∷_
.EqRelSet.Neutrals-included → No-equality-reflection
.EqRelSet.equality-relations → equality-relations
open EqRelSet eqRelInstance public