Hacker News new | ask | show | jobs
by rssoconnor 946 days ago
I didn't watch the video, but FWIW I have personally formally verified the First Incompleteness Theorem (Goedel-Rosser variant) within the Coq proof assistant.
1 comments

Hey I know your proof, the 2005 paper is on my desk :-) If you were to code this in Coq again today, would you do things different in some way?
My biggest mistake was following the traditional single variable definition of substitution. I now understand that modern CS definitions of substitution typically substitute all (free) variables simultaneously. For variables that you don't want to substitute, you are required to explicitly map them back to themselves.

Chapter 7 of my thesis <https://r6.ca/thesis.pdf> has some more comments. With a bit more care using Prop/Set maybe one could compute explicitly what these Goedel sentences are (similar to <https://web.archive.org/web/20160528092209/http://tachyos.or...>). Maybe using Robinson Q instead of Hodel's obscure NN system would have been better, or maybe with a bit more abstraction it would be easier to apply the proof to other axioms systems, such as ZF, which don't use the same language that PA does. And maybe making sure the Second Incompleteness could follow more easily would be good (which has since been formalized elsewhere).