“…The key difference between the first and the last two problems is that in the former case the subclass relationships are known, but in the latter case they are not. All published algorithms on type checking and type inference for object-oriented programs, for example [5,6,15,20,18,19,1,14,7], rely on knowing the subclass relationships, and if there is a separate notion of typing and subtyping, then, of course, the algorithms rely on knowing the definition of subtyping. Hence, they do not apply to the typability and class-graph inference problems that we study in this paper.…”