coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Vincent Semeria <vincent.semeria AT gmail.com>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] True arithmetical proposition not provable
- Date: Sat, 19 Jun 2021 10:22:58 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=vincent.semeria AT gmail.com; spf=Pass smtp.mailfrom=vincent.semeria AT gmail.com; spf=None smtp.helo=postmaster AT mail-oi1-f180.google.com
- Ironport-hdrordr: A9a23:LZVSNKPtUYFMesBcTsyjsMiBIKoaSvp037BL7TEXdfUxSKalfq+V7ZcmPHPP6Ar5O0tApTnjAtjjfZq0z/ccirX5Vo3SOTUO1lHYSL2KLrGP/9QjIUDDHyJmupuIupIRNOHN
- Ironport-phdr: A9a23:Zl7TbBIqYesqmC2SxdmcuIRmWUAX0o4c3iYr45Yqw4hDbr6kt8y7ehCGtLM21wOCDdmTwskHotKei7rnV20E7MTJm1E5W7sIaSU4j94LlRcrGs+PBB6zBvfraysnAJYKDwc9rDm0PkdPBcnxeUDZrGGs4j4OABX/Mhd+KvjoFoLIgMm7yuS/94fdbghGizexbrB/IRqrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Xymp4aV2Rx/ykCoIOD43/m/UhMJtkqxUvAmsqAZjz4POeoyZKOZyc6HbcNgHRWRBRMFRVylZD4yzbosPCfYOMvher4nhulAAsAWxBQyyC+P1yz9HnGL90Kok0+QgFwHJwBIvH9QSsHjOt9X6KqISXv6vzKnJ1zrOdPxW2TLn54jJdhAtu+2DXbV1ccfIz0QkCgzKgEmKp4P/IzOVyvoCs3Kd7+d4SO+ihHMqpgJ1rzWuwsohiYbEi58Jx13F6yl03Yk4K9O6RUJnbtOpH5hduiKVOoV5Xs4vQn1ktDonxrAIvZO3Yi4Hw4kkyR7Hc/GLbZSE7xb5WOuSITp0nm9pdbO9ihqo7EStyfHwW8+p21hQtCVFiMPDtnUV2hzT9MeHTvx981+k2TmV1gDT7vhIIUc1labGMpIhzKM8m5kPvUjZES/2n0L2jKCSdko64OSn9+PnYrD+qp+dMY97lB3+P7wwlsCjBek0KAsDUmiB9eih1bDu/1f1TKhJg/EqiqXZtYrVJcUfpq63GQ9V1YMj5g6hDzen1tQXgWcILFRZeB6dlIjmJVTOL+7iDfe+mVuhizhrx/XcMb3gBpXBNGTMkLDkfbpl8U5T1BIzzcxD55JTErwOPPXzWlbouNPECh85Lhe7zv38CNR904MeQXiADrWYMKPUq1+I5/ggL/OCZI8P637BLK0u4Oerhnskk3cce7Oo1N0ZciOWBPNjdnuYZ3HhhMtJKmoPsxA/RaS+llyEWjNVezCpUqcx/DAyII2jBIbHAIuqherSj2+AApRKazUeWRi3GnDyetDcMx/pQC2XK85l1DcDUOr5I2fA/RSntQu/zLs+a+SNqnVeupXk29x4oebUkENqndSbJ8uY2mCJCWpzmzFRLwI=
Gödel's incompleteness theorem asserts that the consistency of first-order theories (such as Peano arithmetic or ZFC) is an arithmetical formula which is true in the standard model of arithmetic, but which is not provable by the theory in question.
Assuming LPO, I defined interpretations of arithmetical formulas in Coq, both in bool and in Prop, as shown below. I imagine that Coq's consistency is an arithmetical formula that would be interpreted to true by InterpBool. And not provable would mean that its InterpProp is not provable (as a Prop). However I also proved that InterpBool and InterpProp are equivalent, by an easy induction on the formula. Then I don't see how a true arithmetical formula would be not provable. Is there a problem in my interpretations, or maybe is it because Coq is a second-order logic, in which incompleteness manifests differently ?
Fixpoint InterpProp (varValues : nat -> nat) (p : PeanoProp) {struct p} : Prop :=
match p with
| Eq a b => InterpTerm varValues a = InterpTerm PS varValues b
| Not q => ~InterpProp varValues q
| And q r => InterpProp varValues q /\ InterpProp varValues r
| Or q r => InterpProp varValues q \/ InterpProp varValues r
| Implies q r => InterpProp varValues q -> InterpProp varValues r
| Forall n q (* i.e. forall Xn, q *)
=> forall m:Inat PS, InterpProp (SetVarValue n m varValues) q
| Exists n q
=> exists m:Inat PS, InterpProp (SetVarValue n m varValues) q
end.
match p with
| Eq a b => InterpTerm varValues a = InterpTerm PS varValues b
| Not q => ~InterpProp varValues q
| And q r => InterpProp varValues q /\ InterpProp varValues r
| Or q r => InterpProp varValues q \/ InterpProp varValues r
| Implies q r => InterpProp varValues q -> InterpProp varValues r
| Forall n q (* i.e. forall Xn, q *)
=> forall m:Inat PS, InterpProp (SetVarValue n m varValues) q
| Exists n q
=> exists m:Inat PS, InterpProp (SetVarValue n m varValues) q
end.
Axiom LPO : forall un : nat -> bool, { exists n:nat, un n = true } + { forall n:nat, un n = false }.
Fixpoint InterpBool (varValues : nat -> nat) (p : PeanoProp) {struct p} : bool :=
match p with
| Eq a b => Nat.eqb (InterpTerm PeanoNat varValues a)
(InterpTerm PeanoNat varValues b)
| Not q => negb (InterpBool varValues q)
| And q r => andb (InterpBool varValues q) (InterpBool varValues r)
| Or q r => orb (InterpBool varValues q) (InterpBool varValues r)
| Implies q r => implb (InterpBool varValues q) (InterpBool varValues r)
| Forall n q (* i.e. forall Xn, q *)
=> if LPO (fun m:nat => negb (InterpBool (SetVarValue n m varValues) q))
then false else true
| Exists n q
=> if LPO (fun m:nat => InterpBool (SetVarValue n m varValues) q)
then true else false
end.
match p with
| Eq a b => Nat.eqb (InterpTerm PeanoNat varValues a)
(InterpTerm PeanoNat varValues b)
| Not q => negb (InterpBool varValues q)
| And q r => andb (InterpBool varValues q) (InterpBool varValues r)
| Or q r => orb (InterpBool varValues q) (InterpBool varValues r)
| Implies q r => implb (InterpBool varValues q) (InterpBool varValues r)
| Forall n q (* i.e. forall Xn, q *)
=> if LPO (fun m:nat => negb (InterpBool (SetVarValue n m varValues) q))
then false else true
| Exists n q
=> if LPO (fun m:nat => InterpBool (SetVarValue n m varValues) q)
then true else false
end.
Lemma InterpBoolPropEquiv : forall (p : PeanoProp) (varValues : nat -> nat),
(InterpBool varValues p = true <-> InterpProp PeanoNat varValues p).
Proof.
(InterpBool varValues p = true <-> InterpProp PeanoNat varValues p).
Proof.
induction p. ...
Qed.
- [Coq-Club] True arithmetical proposition not provable, Vincent Semeria, 06/19/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Pierre-Marie Pédrot, 06/19/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Anders Lundstedt, 06/20/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Marco Servetto, 06/20/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Christopher Ernest Sally, 06/21/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Ian Shillito, 06/22/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Christopher Ernest Sally, 06/22/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Ian Shillito, 06/22/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Christopher Ernest Sally, 06/22/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Ian Shillito, 06/22/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Peter LeFanu Lumsdaine, 06/21/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Vedran Čačić, 06/21/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Xavier Leroy, 06/21/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Vedran Čačić, 06/21/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Christopher Ernest Sally, 06/21/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Marco Servetto, 06/20/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Anders Lundstedt, 06/20/2021
- Re: [Coq-Club] True arithmetical proposition not provable, Pierre-Marie Pédrot, 06/19/2021
Archive powered by MHonArc 2.6.19+.