A constructive proof of the Goedel-Rosser incompleteness theorem has been
completed using the Coq proof assistant. Some theory of classical first-order
logic over an arbitrary language is formalized. A development of primitive
recursive functions is given, and all primitive recursive functions are proved
to be representable in a weak axiom system. Formulas and proofs are encoded as
natural numbers, and functions operating on these codes are proved to be
primitive recursive. The weak axiom system is proved to be essentially
incomplete. In particular, Peano arithmetic is proved to be consistent in Coq's
type theory and therefore is incomplete.Comment: This paper is part of the proceedings of the 18th International
Conference on Theorem Proving in Higher Order Logics (TPHOLs 2005). For the
associated Coq source files see the TeX sources, or see
<http://r6.ca/Goedel20050512.tar.gz