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:40:26 +0000 (UTC)
- Authentication-results: mail2-smtp-roc.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:GZT84BXyqPnj2VcGpymGyLuUA5zV8LGtZVwlr6E/grcLSJyIuqrYYxGGt8tkgFKBZ4jH8fUM07OQ7/iwHzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba9xIRmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W/ZisJ+kqFVrxCvpxJizIHbfIabOeFkca/BZ94VXnBMUtpTWiFHH4iyb5EPD+0EPetArob9ukEBrR2kBQmxBePk1yRGhn7r1qA93OUhCADG0BA9E98VrHvUt8/5NLsPUeC70KnI1i/PYO1L1jfg8YXFdA0qr/+LXbJ1a8XRyE8vGhvfgVWWtIPlJS2a1uYXv2eH6OpgUOSigHMkpQFpujWj28khhpXTio8UxV3I7zt1zYgvKdC2SkN3ed6pHIVKuy2HKYd7QtkuT3xmtSok0LEKpJ22cSoMxZ863RDQceaHfJKN4h/7VOaePzN4hHV9dbKhgha+6FWvxfP4Vsm1zlZFsDBFk9nRunwXyRPc9NSISuBn8ke9xDaP2RzT6vpeLU8qiKXbNoYtwr82lpUNrUTOBjL6lUvqgKOMd0gp9fKk5/rpb7n8qJKRNZd4igTkPaQvnsy/D/44Mg8LX2WD9uW8zbzj8VHkTLhRkvI2ibPVsIzHJcQVuq65GBVZ3Zg+5BaiFzumysgXnWEbLFJZfxKKl5TmO1bXIPzhEfi/h0msnyxwyvDdPrzhB43NIWLZnLfge7Z98U9cxxApwdBR/ZIHQo0Gdfn0Qwr6sMHSJh4/KQ29hej9W/tn0YZLaX+GBLWEMevrsBfc9vsue7Ckb5RTpCvzN+Nj6vLz2yxq0WQBdLWkiMNEIEuzGe5rdh3AMCjcx+wZGGJPhTIQCenjiVmMSzlWPirgVLl6+iw1FJngAIveFNj03O6xmRyjF5gTXVhoT0iWGC60JY6fHesRZj6JZMJtj25cDOXze8oazRir8TTC5f9nI+7ToHxKq5em2NVx5vPejwBrszF5BN/bz3yDU3oyk28VFWc7
Hello Klaus,
What you have in mind is (almost) the Brown-Palsberg self interpreter, not the impossible self interpreter. Please refer to Andrej Bauer's note here on what is possible and what is not: http://math.andrej.com/2016/01/04/a-brown-palsberg-self-interpreter-for-godels-system-t/.
Best,
Ray
On Wed, Dec 19, 2018 at 9:34 AM -0500, "Klaus Ostermann" <klaus.ostermann AT uni-tuebingen.de> wrote:
need a meta-function "quote" that takes a term of type t to type Rep t (for some type constructor Rep", and a function
"eval : forall t, Rep t -> t" or something like that.
However, with that specification, choosing quote, Rep, and eval to all be identity functions would constitute a
(useless) interpreter of Coq in Coq. Obviously you want your representation of terms to be somehow more informative
than the term itself, but it is not clear what properties a proper representation of terms should have to "count"
as being a self-interpreter.
Klaus
I think the applicability of that result to Coq is not completely obvious. You could argue that, for an interpreter, you'dAm 19.12.18 um 15:13 schrieb Xuanrui Qi:
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),
need a meta-function "quote" that takes a term of type t to type Rep t (for some type constructor Rep", and a function
"eval : forall t, Rep t -> t" or something like that.
However, with that specification, choosing quote, Rep, and eval to all be identity functions would constitute a
(useless) interpreter of Coq in Coq. Obviously you want your representation of terms to be somehow more informative
than the term itself, but it is not clear what properties a proper representation of terms should have to "count"
as being a self-interpreter.
Klaus
- [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] Why Qwire was verified precisely in Coq?, Robert Rand, 12/21/2018
- Re: [Coq-Club] Why Qwire was verified precisely in Coq?, José Manuel Rodriguez Caballero, 12/21/2018
- Re: [Coq-Club] Why Qwire was verified precisely in Coq?, Robert Rand, 12/21/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.