type theory — study of type systems in mathematical logic and computer science