Define a function which maps a list of nonvariable types to a list of types
Define a type which represents nonvariable types of FGJ which have a free type variable
Define a type which represents nonvariable types of FGJ which have a free type variable
Define a function which maps N1 to Ty1
Define class table of GFJ
Define a type which represents method bodies of GFJ which have a free type variable
Define a type which represents method declarations of GFJ which have a free type variable
Define a type which represents class declarations of GFJ which have a free type variable
Define substitution of type variables of a class which occur in their bounds
Define substitution of a type variable in an expression
Define substitution of a type variable which occurs in a method body
Define substitution of a type variable which occurs in the method declacation of m'
Define sustitution of type variables of class c which occurs in method declacation of m
Define substitution of type variables of method m which occurs in method body of m