summaryrefslogtreecommitdiffstats
path: root/content/zettel/3b3a.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/3b3a.md')
-rw-r--r--content/zettel/3b3a.md20
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.