Typed lambda calculus is used in functional programming (Haskell, Clean) and proof assistants (Coq, Isabelle, HOL), which are used to design and verify IT products and mathematical proofs. This book reveals unexpected mathematical beauty in three classes of typing: simple types, recursive types and intersection types. Numerous exercises are provided.
This handbook with exercises reveals the mathematical beauty of formalisms hitherto mostly used for software and hardware design and verification.