coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Tadeusz Litak <tadeusz.litak AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Is there a nominal package for Coq?
- Date: Tue, 10 Dec 2019 20:48:41 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=tadeusz.litak AT gmail.com; spf=Pass smtp.mailfrom=tadeusz.litak AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm1-f54.google.com
- Ironport-phdr: 9a23:8BvLhBMFEWRo3Ds0Agsl6mtUPXoX/o7sNwtQ0KIMzox0I/X9rarrMEGX3/hxlliBBdydt6sfzbOH6Ou5AzNIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfL1/IA+roQjVuMQajpZuJrgzxxDUvnZGZuNayH9yK1mOhRj8/MCw/JBi8yRUpf0s8tNLXLv5caolU7FWFSwqPG8p6sLlsxnDVhaP6WAHUmoKiBpIAhPK4w/8U5zsryb1rOt92C2dPc3rUbA5XCmp4ql3RBP0jioMKjg0+3zVhMNtlqJWuAihqQFhzY7aYI+bN/Rwca3SctwYWWVPUd1cVzBCD46mc4cDE+QMMOReooLgp1UOtxy+BQy0Ce3x0DBHm2H53bAh0+UgDArI2g0gH84Uv3TXsd74M7sSXvqow6bW0DXDdPJX1S356IjJbhAuu/KMUKl/ccrU00YvFgfFgk+MpoziOjOYz+IAuHWV4epnUOKgkW8nqwdprzip3MgskIrJhoMLyl/a7yl23IE1JdigRE5/Zt6kH5pQuD2AOItwX8wtWWdotzw+yrwGop67fTMKxI4gxx7FZPyLa5KH4gjsVeaQPzd0nnVleKiwhxqq9Uigz/D8WtOp31lUtiZFndjMtmwN1xzO8ceLUOdy/kCk2TqXygDT8v9LIUYylabBNZEu36MwmoITsETEAy/2hFj2g7SIeUk+5ueo7OHnbq36qZCGMo94kBvxPbg0lsyiAuQ1NBUFUWuD+emkyrHv4Un0TK9Jg/A2iKXVrY7WKMcBqqO5DAJZypsv5hiiAzu8zdgVnnoKIEhKdR+ElYTlJlPDLf/+APyimVqjii1ryOrDPrD5ApXCMHzDkLD5cLZ48UFcyQ4zwclR5pJRF70NOfzzV0/+udDCAR85NAu0w+njCNpjzI8RRWWPAqqBPKPTt1+H+P4vLvGSaIMJvDvxMfso6v70gXMkh1MQfrOl0JsYZXygG/RpOUSZYX7igtcbFmcKuxIzTPDwh1KfTzFTem2yXqMm6jE/CYKmEZ3MRoO2jbyO2Se0BJxWZmRcBl+QFnfocp2IW+0QZyKKPs9hjjsEWKC9RI8mzBGirRP1y756LuXP4SAYrpLi1N1t5+LJjx0y9Dp0D96c026XVW10kHkIFHcK2/V0plU4wVOe24B5heZZHJpd/aBzXx8+JKLbmvBzB93vQRCHetaVQVWOTdCvADV3RdU0kPEUZEMoJ9yugw3YzWKOAqMclPTfGJU4/7/HzT71Jtp0yF7J0aAgix8tRc4ZZj7uvbJ26wWGX92BqE6ejav/Lf1Ajh6Iz3+KyC+1hG8dSBR5CPyXUnUWZ0+QptP8tBubEu2eTI8/Ow4E8vasb6tHbtqz0AdDTfbnfcvbOie/xjv2ChGPybeBKoHtfjdFhXSPOA0/iwkWuE2+G007DyalrXjZCWU3R13qakLot+J5rSHiQw==
Apologies for chiming in slightly late, but:
Another reference (but, again, not really a package) is Nominal Reasoning Techniques in Coq by Brian Aydemir, Aaron Bohannon, Stephanie Weirich (https://www.seas.upenn.edu/~sweirich/papers/nominal-coq/lfmtp06.pdf)
But this is more like an axiomatic approach to defining a nominal "interface" to your syntax and then justifying this interface by using locally nameless representation. So, again, no automatic generation of alpha conversion.
Regarding Stephanie Weirich, when two years ago an analogous subject came up on this list [1] there were pointers to her newer stuff:
https://github.com/DeepSpec/dsss17/tree/master/Stlc
https://www.youtube.com/watch?v=zBCP20jGE54
https://www.youtube.com/watch?v=Xo8MzrH4aj0
Other things mentioned in that thread might be also helpful.
[1] https://coq-club.inria.narkive.com/T7HMhwa8/nominal-reasoning-in-coq
********
I am not sure if anything as good as Nominal Isabell exists for Coq. One can go quite far in defining alpha-equivalence using the nominal techniques but the real problem is how to define a type of terms quotient with alpha-equivalence.
Pitts in his overview of nominal techniques (Section 10 of [2]) points out that this is not quite trivial to do nominal type theories constructively. I recall similar remarks by Christian Urban in his talks when he spoke about the issue of creating \alpha-quotient types out of existing ones. Some examples of what can go wrong are discussed by Andrew Swan [3,4], in particular decidability of freshness relation or the existence of a least finite support.
[2] https://www.cl.cam.ac.uk/~amp12/papers/nomt/nomt.pdf
[3] http://logicandanalysis.org/index.php/jla/article/download/274/109
[4] https://arxiv.org/abs/1702.01556
****
There is also the connection with HoTT and cubical stuff. Pitts mentions this in [2] above, but rather than focusing on how to use the nominal approach to model the Axiom of Univalence, I'd like to understand how to create and work with nominal datatypes in HoTT (a possibility mentioned in passing somewhere already by Voevodsky, if I recall correctly). If I am not mistaken, some recent work of Buchholtz seems to go in this direction:
http://www.math.lmu.de/~petrakis/buchholtz.pdf
https://github.com/UlrikBuchholtz/nominal-hott
Not sure if there are some developments in CoqHoTT along those lines and whether this is the right direction to go. Perhaps somebody more knowledgeable can step in and clarify this and other issues: what has been done, what could and/or should be done and what cannot/shouldn't be done.
Best,
t.
- [Coq-Club] Is there a nominal package for Coq?, Enrico Tassi, 12/06/2019
- Re: [Coq-Club] Is there a nominal package for Coq?, Danil Annenkov, 12/06/2019
- Re: [Coq-Club] Is there a nominal package for Coq?, Frédéric Blanqui, 12/06/2019
- Re: [Coq-Club] Is there a nominal package for Coq?, Tadeusz Litak, 12/10/2019
- Re: [Coq-Club] Is there a nominal package for Coq?, Danil Annenkov, 12/06/2019
Archive powered by MHonArc 2.6.18.