The types are , ::= Nat ∣ → . All the terms in the language come with explicit types. In particular, we assume an infinite, countable set of variables of each type , and write x for a variable of type . The terms t of type (in short, t : ) are defined by induction on their size by : – every variable x is of type ; – if N : , then x ⋅N is a term of type → ; – if M : → and N : , then MN is a term...