coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
- To: Sylvain Boulmé <Sylvain.Boulme AT univ-grenoble-alpes.fr>
- Cc: coq-club AT inria.fr
- Subject: Re: [Coq-Club] A fast "eq" predicate for Gallina?
- Date: Wed, 20 Jan 2021 15:11:54 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qv1-f46.google.com
- Ironport-phdr: 9a23:gDL+ahaSx8B1Y/0va8NypOj/LSx+4OfEezUN459isYplN5qZpsy8Yx7h7PlgxGXEQZ/co6odzbaP4ua5AydZuM/J8ChbNsAVCFld0YRetjdjKfbNMVf8Iv/uYn5yN+V5f3ghwUuGN1NIEt31fVzYry76xzcTHhLiKVg9fbytScbdgMutyu+95YDYbRlWizqhe7NyKwi9oRnMusUMjoZuN6I8xgHUrndWdOha2H5kKU+OlBr4+su84YRv/itNt/8j7cJMTbn2c6ElRrFEEToqNHw46tf2vhfZVwuP4XUcUmQSkhVWBgXO8Q/3UJTsvCbkr+RxwCaVM9H4QrAyQjSi8rxkSAT0hycdNj4263/Yh8pth69Guh2hphh/w4nJYIGJMfd1Y63Qcc8GSWdHQ81cTDJKDJ+iYIQTDuoBJedYoJf7p1sSthu1GA2gCPryxjNUmnP62Ks32PkjHw7bxgwtB9wAvnTKotvoN6kdU+61wq7HwjrfYP1bwiv96JHSfxw9u/yAQbB9fMzMwkcvDQPFiVCQpJTrMzOX0eQNtWmb7+l+WuKrlWEotRp8ojeqxsg2i4nJgpgZxUzD9SV8zoo+ONq1SEx8Yd6iEZtQtD+VN49oTcw8WGxotyM6xacHuZ6/ZiQF1JMnxxvGZvGBboOH7Q7tWvyLLjdkmHJqZqi/hxCq/ES+1+HwSs253UpWoydLjtTAqHQA2hLS58WDSvZw4lmt1DWA2gzO6+xJJU46mbTHJpMhwbM8iIYevEveEiLymEv7irKdeEsj+uit8evnY7Pmq4eGOI9ulg7+MqUumtKhDuQjKwQOWHWb+fqi27354U32Xq5Kguc4kqnDtp3ROMcVprahDgNLzoou7wyzAjSm3dgCg3ULMVZIdAiIgoXoI13CPvH1Aeuij1mpjTtmw+zJM7juD5jMMnTPjLLscath505SzQc+w9NS6I9bB7wEIf/8QUHxtNLdAx83LQO73/zoBdB824wCRG6CAqmUO77Iv1CS/OIgOeyMaZcVuDnjL/gl4ObjjXojll8ceamlxIIXaG6lEvh/LUWUbnvhjs0OEWcNuQo+Q+jqh0OYXTFPYHayWrow5jA9CI24EYfOXp6hjKCF0SuhHZBbZnpKBk6RHXrsbYmJVPYBZDqXIsB7kzwEUbahS5Um1RGrrAL6yb1nLuzV+i0bq53j0MZ66PPImBE98Dx7FcWd02WXQ25omWMIQic63Lpjrkxl1leDza94juREGtxU/vNFSxs1NZrBz+NhEN3yQQLAftKRSFm8WNmmADcxTsgww9AUeUp9Fc+i3Vj/2H+RErsLnr2NTLYz76bZXjClHNd51X/H0u8LiEQiR8ZnKGunmOtw7QXVAITNngCQk76nbuISxnie2n2EyD/EvkZeUQ19VajIdX8ab0rS69/+4wmKG72pD7UkPw9MxOaNL6JLbpviilAQF6SrA8jXf2/kwzT4Ph2P3L7ZKdOyIzxMjhWYM1ANlkUoxVjDMAE/Aim7pGeHVW5hEFvuZwXn9uws8SrnHH9x9BmDagha75Tw4gQc3KXORPYa37ZCsyAk+W0tQQSNmunOAt/FnDJPOaVRZdRnvQVC3GPd8hVjZ9muc/4kiVkZfAB6+Ujp0kcvBw==
On Wed, 20 Jan 2021 20:45:21 +0100
Sylvain Boulmé <Sylvain.Boulme AT univ-grenoble-alpes.fr> wrote:
> Actually, thinks are not so simple.
>
> If there is a function eq: T -> T -> bool for a given type T such that
> eq x y = true and x = y
>
> then, forall z such that z=x, we have eq x z = true.
Of course. I appologize for not realizing that myself. I guess such
a function is then only possible without any associated lemmas, which
would probably make it far less useful.
>
> Thus, such an "eq" cannot only accept pointers equals to "x", but it
> must also accept any "z" structurally equals to "x".
>
> In other words, the pointer equality needs to be modelled as a kind
> of "non-deterministic" function, because it is more discriminating
> than Coq equality.
>
> A way to encode such a "non-deterministic" function is to use a
> monad...
>
> See Section 4.4 of this paper:
> https://hal.archives-ouvertes.fr/hal-02185883/document
>
> Sorry, for unsolicited advertising ;-)
Oh - bright shiny link to useful paper! ;-)
>
> Regards,
>
> S.
>
> Le 20/01/2021 à 20:18, jonikelee AT gmail.com a écrit :
> > Is there any fast "eq" predicate in Gallina?
> >
> > By fast, I mean that it tests references only - returning true iff
> > the two arguments refer to the same reference. Hence it is
> > analogous to the Lisp "eq" predicate, whereas the standard equality
> > in Gallina is analogous to Lisp "equal".
> >
> > One would also need the associated lemmas, such as
> > eq x y = true -> x = y.
> >
> > Also, one would need to know about when two references might be eq.
> > For instance, it is possible to create a highly wasteful functional
> > language without any reference sharing (such that eq would be false
> > in all non-reflexive cases), but hopefully Gallina is not that, and
> > that the ways in which Gallina is not that can be described in a
> > useful way.
- [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Sylvain Boulmé, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Jean-Christophe Léchenet, 01/21/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Adam Chlipala, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Sylvain Boulmé, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Pierre-Marie Pédrot, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Xavier Leroy, 01/21/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/21/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Xavier Leroy, 01/21/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, jonikelee AT gmail.com, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Pierre-Marie Pédrot, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Pierre-Marie Pédrot, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Adam Chlipala, 01/20/2021
- Re: [Coq-Club] A fast "eq" predicate for Gallina?, Sylvain Boulmé, 01/20/2021
Archive powered by MHonArc 2.6.19+.