open import Definition.Typed.EqualityRelation
open import Definition.Typed.Restrictions
open import Graded.Modality
module Definition.LogicalRelation.Properties.Whnf
{a} {M : Set a}
{𝕄 : Modality M}
(R : Type-restrictions 𝕄)
⦃ eqrel : EqRelSet R ⦄
where
open EqRelSet eqrel
open Type-restrictions R
open import Definition.LogicalRelation R
open import Definition.Untyped M
open import Definition.Untyped.Neutral M type-variant
open import Tools.Product
private variable
Γ : Con Term _
t u : Term _
opaque
split : [Natural]-prop Γ t u → Natural t × Natural u
split (sucᵣ _) = sucₙ , sucₙ
split zeroᵣ = zeroₙ , zeroₙ
split (ne (neNfₜ₌ _ t-ne u-ne _)) = ne t-ne , ne u-ne
opaque
esplit : [Empty]-prop Γ t u → Neutral t × Neutral u
esplit (ne (neNfₜ₌ _ t-ne u-ne _)) = t-ne , u-ne