+++ title = "Inductive Types" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["3b3"] forwardlinks = ["3b3b"] zettelid = "3b3a" +++ CIC is built only on two straightforward features, function types and inductive types, which can be used to reason about all theorems in math. In Coq, implication and function types are actually the same thing, and both therefore use the `->` operator. There is no overloading at play as they are the same according to the Curry-Howard isomorphism. Inductive and recursive types are the same because of the Curry-Howard isomorphism, except for the `Prop` and `Set` distinction. Inductive types would be easier to prove theorems with whereas recursive types would actually be computable and can be extracted to OCaml code.