在类型理论,类型系统有主体类型t，当且仅当对于任意的类型环境A和表达式e，codice_1，都可以从t推导到u。例如λ演算codice_2，其主体类型t=α -> α，α为类型变量，类似Java或C#的泛型类型变量。若有A|-λx.x: int -> int，令α=int，则可以从主体类型t具体化为int -> int。类型系统希望具有主体类型，因为它可以对表达式确定一种单一类型，该单一类型可演化为该表达式的所有可能类型。如果类型系统没有主体类型，则一个表达式可能有多个互不兼容的类型。类型推导倾向于