summaryrefslogtreecommitdiffstats
path: root/content/zettel/3b3b.md
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-05-11 19:38:03 +0100
committerYann Herklotz <git@yannherklotz.com>2023-05-11 19:38:03 +0100
commit47c1289ff658a5aec71635d79ffe30bb29a07876 (patch)
tree56cf6b959e37fed88c492d34defd3d7ec40e7148 /content/zettel/3b3b.md
parentfbe0fc62120348f582dc4db2b614078943d0764b (diff)
downloadzk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.tar.gz
zk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.zip
Add content
Diffstat (limited to 'content/zettel/3b3b.md')
-rw-r--r--content/zettel/3b3b.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/content/zettel/3b3b.md b/content/zettel/3b3b.md
new file mode 100644
index 0000000..63e06ee
--- /dev/null
+++ b/content/zettel/3b3b.md
@@ -0,0 +1,19 @@
++++
+title = "Reflexive Types"
+author = "Yann Herklotz"
+tags = []
+categories = []
+backlinks = ["3b3a"]
+forwardlinks = ["3b3c"]
+zettelid = "3b3b"
++++
+
+Reflexive types are of the nature of taking an argument which is a
+function and returning the Inductive type. Some of these are not legal
+in Coq, even though they would be legal in Haskell/ML, as they might
+produce computations that run forever. This would destroy all the
+confidence that one could have in the proof system, as that would mean
+that one could produce a proof for any theorem using an infinite loop.
+This can be done because proofs are combined with functions. For
+example, a reflexive type that takes the type it defines as an argument
+could recurse indefinitely, which should not be allowed to be defined.