diff options
Diffstat (limited to 'content/zettel/3b3a.md')
-rw-r--r-- | content/zettel/3b3a.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/content/zettel/3b3a.md b/content/zettel/3b3a.md new file mode 100644 index 0000000..3bc44f6 --- /dev/null +++ b/content/zettel/3b3a.md @@ -0,0 +1,20 @@ ++++ +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. |