diff options
author | Yann Herklotz <git@yannherklotz.com> | 2023-05-11 19:38:03 +0100 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2023-05-11 19:38:03 +0100 |
commit | 47c1289ff658a5aec71635d79ffe30bb29a07876 (patch) | |
tree | 56cf6b959e37fed88c492d34defd3d7ec40e7148 /content/zettel/3b3b.md | |
parent | fbe0fc62120348f582dc4db2b614078943d0764b (diff) | |
download | zk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.tar.gz zk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.zip |
Add content
Diffstat (limited to 'content/zettel/3b3b.md')
-rw-r--r-- | content/zettel/3b3b.md | 19 |
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. |