Inversion of typing #
In this module we prove that presuppositions hold of typing judgments:
e.g. if E ∣ Γ ⊢[l] t : A
then WfCtx Γ
and E ∣ Γ ⊢[l] A
.
Note that E.Wf
does not necessarily hold.
Helper lemmas #
Instantiation #
theorem
InvProof.inv_all
{χ : Type u_1}
{E : Axioms χ}
:
(∀ {Γ : Ctx χ} {l : ℕ} {A : Expr χ}, E ∣ Γ ⊢[l] A → WfCtx E Γ) ∧ (∀ {Γ : Ctx χ} {l : ℕ} {A B : Expr χ}, E ∣ Γ ⊢[l] A ≡ B → WfCtx E Γ ∧ (E ∣ Γ ⊢[l] A) ∧ (E ∣ Γ ⊢[l] B)) ∧ (∀ {Γ : Ctx χ} {l : ℕ} {A t : Expr χ}, E ∣ Γ ⊢[l] t : A → WfCtx E Γ ∧ (E ∣ Γ ⊢[l] A)) ∧ ∀ {Γ : Ctx χ} {l : ℕ} {A t u : Expr χ},
E ∣ Γ ⊢[l] t ≡ u : A → WfCtx E Γ ∧ (E ∣ Γ ⊢[l] A) ∧ (E ∣ Γ ⊢[l] t : A) ∧ (E ∣ Γ ⊢[l] u : A)