coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Xuanrui Qi <xqi01 AT cs.tufts.edu>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Example of terminating function that are not accepted by Coq
- Date: Wed, 19 Dec 2018 14:13:19 +0000 (UTC)
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=xqi01 AT cs.tufts.edu; spf=None smtp.mailfrom=xqi01 AT cs.tufts.edu; spf=None smtp.helo=postmaster AT vm-delivery1.eecs.tufts.edu
- Ironport-phdr: 9a23:cDt7LhPKMdzUYAIgdx4l6mtUPXoX/o7sNwtQ0KIMzox0Lf34rarrMEGX3/hxlliBBdydt6oUzbKO+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxlLiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhSkJNzA37mLZhc5+jKxGrx2uuxtxzpXOb42JLvdxZbnQcc8YSGdHQ81fVzZBAoS5b4YXDuUBIPxXr4/np1sTrBu1GBKiBOLywTJPiX72xKw63/g8HQzdwAMgBMgCsGjJrNX7KKcSSvq5w7fVwjXedv5b3yr25ovQch05vP2BU658fdDQxEQgDQ/JkFudpZbrMj6XzugAs3aX4/B9We6xi2MrsRx9rzaxyss2l4XEhYAYx1bZ/itj2ok1P8e3SEtjbN6kDpRQsyaaOpNoQsMnWm1npTg1yrkHuZ6lYicK0pQmywPFZ/OZbYeH/gnjWPyNITdlinJlZKm/iwys/ke91+3wTsi00FBUoSpZitTAq34A2wDJ5sWGRfZx5Fmt1DiV2w3d6OxIOUU0mrDaK54lzL4wjJ0TsUHbEy75gUX2jbOaelg/9+e08OTreKnmpoKSN49okQHyKLohldGiAeggKAgBQ3Cb+fig1L3k5UD2XLJKjuQvnqbFtJDaON8Uq7WiAw5V14Yj8wywAy2n0NQeh3kHLUhKdAiJj4jzaBnyJ6XzCu76iFCxmh9qwerHN/vvGMbjNH/GxYf8dLBn9k8U8Qt7mcBG5soNIroaZu7uVFPq8tHUE0lqYESP3+/7BYAlhcslUmWVD/rBafKAgRqz/usqZtK0SsoQsTf5JeIi4qey33Qi30MAc7Wym5YbdSLgR6g0EwCieXPpx+w5PyISpANnEL7hkxueTDBPfDC/U79uvmhmWrLjNp/KQ8WWuJLE3Cq/GccHNH5DT1yBFXb2ep+VArEBZSmJZNN8nCAfE7WtVt152A==
It is well known and proven that total languages do not have self interpreters (because you can't prove a calculus's termination in itself), but I'm actually not sure what happens in the presence of coinductive families. I think the answer should still be no. Alternatively, though, you can definitely write a Brown-Palsberg self-interpreter for Coq. See Matt Brown and Jens Palsberg's POPL 2016 paper for an example (in System F-omega).
Also, Ackermann is not definable in Coq, unless you trick Coq using Program Fixpoint. IIRC it's actually a loophole, but you won't break anything by introducing inconsistency.
-Ray
On Wed, Dec 19, 2018 at 8:40 AM -0500, "Siddharth Bhat" <siddu.druid AT gmail.com> wrote:
Is it not possible to provide conductive semantics to such an interpreter, and thereby get coq to accept an interpreter?Thanks,Siddharth--On Wed, 19 Dec, 2018, 18:45 Klaus Ostermann, <klaus.ostermann AT uni-tuebingen.de> wrote:I assume an interpreter of Coq in Coq would be such a function.
Klaus
Am 19.12.18 um 13:53 schrieb Vincent Siles:
> Hi !
> Today I've been asked if there are some examples of known terminating
> programs that can't be expressed at all in Coq. I know the usual
> 'fuel' encoding where one can add an integer to recurse on, and then
> prove that there always exists an integer big enough for the program
> to terminante. But are there examples that are not accepted by Coq
> even with such technics ?
>
> Best,
> V.
Sending this from my phone, please excuse any typos!
- [Coq-Club] Example of terminating function that are not accepted by Coq, Vincent Siles, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Klaus Ostermann, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Siddharth Bhat, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Xuanrui Qi, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Robbert Krebbers, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Thorsten Altenkirch, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Klaus Ostermann, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Xuanrui Qi, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Xuanrui Qi, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Jan Bessai, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Thorsten Altenkirch, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Jan Bessai, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Xuanrui Qi, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Siddharth Bhat, 12/19/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Jean-Francois Monin, 12/19/2018
- [Coq-Club] Why Qwire was verified precisely in Coq?, José Manuel Rodriguez Caballero, 12/21/2018
- Re: [Coq-Club] Example of terminating function that are not accepted by Coq, Klaus Ostermann, 12/19/2018
Archive powered by MHonArc 2.6.18.