Lemma 1.2.6 (Generation Lemma).

  • (1)
    For every variable x, context Γ, and type σ, if Γ⊩x:σ, then x:σ∈Γ;
  • (2)
    If Γ⊩(MN):σ, then there is a type τ such that Γ⊩M:τ→σ and Γ⊩N:τ;
  • (3)
    If Γ⊩(λx.M):σ, then there are types τ and ρ such that Γ,x:τ⊩M:ρ and σ=(τ→ρ).