The resolut ion of overloading becomes more difficult It if identifier declarations are optional. More precisely t suppose that declarations can be used to overload identifiers representing function symbols, type checking in the experimental language Hope (Burstall, Mac Queen. and Sannella (1980))but that all occurrences of an undeclared identifier have the same type. Show that the problem of determining if an expression in this language has a valid type is NP-complete. This problem arises during type checking in the experimental language Hope (Burstall, Mac Queen. and Sannella (1980))