We write α~; φ0; P~0 |- c(τ ) : (~τ0)δ(~I0) to indicate that the constant c is assigned the c-type ∀α~.Πφ0.P~0 ⊃ (τ ⇒ δ(~I0)), and φ |- ~τ [type] to mean that φ |- τ [type] is derivable for each τ in ~τ , and [α~ 7→ ~τ ] for a substitution that maps α~ = α1, ..., αn to ~τ = τ1, ..., τn. We now need the following static subtype rule to deal with type variables: