Functional Programming, Formal Methods.
type. Due to the importance of inductive reasoning for math, that (among other things I do not understand) resulted in the creation of the Calculus of Inductive Constructions, an extension to the otherwise simple CoC which gave it native inductive datatypes, and is the foundation of Coq. That