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