coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Gaëtan Gilbert <gaetan.gilbert AT skyskimmer.net>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] How to translate the body of a constant to a constr?
- Date: Thu, 2 Jul 2020 19:08:41 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT skyskimmer.net; spf=Pass smtp.mailfrom=gaetan.gilbert AT skyskimmer.net; spf=None smtp.helo=postmaster AT relay3-d.mail.gandi.net
- Ironport-phdr: 9a23:3WNXBBMpDZ+pYkTc+8Yl6mtUPXoX/o7sNwtQ0KIMzox0I/X+rarrMEGX3/hxlliBBdydt6sazbKK+Pm4ASRAuc/H7ClfNsQUFlcssoY/p0QYGsmLCEn2frbBThcRO4B8bmJj5GyxKkNPGczzNBX4q3y26iMOSF2kbVImbuv6FZTPgMupyuu854PcYxlShDq6fLh+MAi6oR/eu8ULgIZuMLo9xxTGrndVZ+ha2X5jKVaPkxrh/Mu984Nv/iRKt/4968JMVLjxcrglQ7BfEDkoKX0+6tfxtRnEQwuP538cXXsTnxFVHQXL7wz0U4novCfiueVzxCeVPcvtTbApQjui9LtkSAXpiCgcKTE09nzch9Fqg6JapBKhoAF/w5LRbYqIOvdyYr/RcNUHTmVGQ8hRSjdBApuiYIQTE+oPM+FYr4znqFsPqxu1GA2gCezrxzNNgHL9wK803Pk7EQzewQIuAdwOvnTXotv7OqgdXuK6w7XHwzjYc/Nb2i3w5JTUfh0vo/yBW697f8rLyUkoEgPIllSeppb5ODOJzOsNtXCU4ethVeKrkGEotRtxoiSyzcorhYnGnJwaykze+iV/2oo1Kty4SEpgbtG6CptQqzqXN5B1QsIiWGFouyc6yrgDuZGlZigG0pInyADDa/GedYWD/x3sWvqLLzhimHJlZKywhwy08UW4xePxS9W53VRWoidbk9TAqnIA2RzT58aIVvZw+kWs1SiL2g3N9O1JLlw4mLfVJpM8zLM9l5UevEfBEyL2nEj6kambfVgq9Oiv7uToeLTmppmEOo97iwH+LqQumtGkDugiMwgOWG6W8vm/2r375UD1XqhGg/8snqTbrJzWP9kXq623DgNPz4ou7xayAy+43NgFk3QLNk9JdRKZg4TzJl3DIe70Ae2ij1mjlDpmwe3NMKf7DZXXNHfDla/sfbZj5E5Yzwo+1cpf6IxQCr4bIPP+VFb9u8HCAh88KQO0wuLnBM9y1owEX2KAH66ZPLnUsVCW+uIjO+iMZIkLtzbhM/Up+ePigH0jlVIfYaWlx4YbZXO2E/h8PkmUZXrhjs8EEWgQvwo+SOLqiEeFUT5Wf3uyULgz6S8nCI28C4fPXI+tgL2F3CigAJJWfHxGB0uXEXfrd4SEQPQMaCOXIs9kjDMET6KtS4k/2hGyrAP60aZoLvLI+i0EspLuzMR65+rKlR0r6TN0C9md3HqWQmFvnmIIQic207plrUx8zFeDy6l4jOZCGdxd/fMaGjs9YJXb1qlxD834cgPHZNaADli8Efu8BjRkYduy39YIVGl8H9+vlAyLiyWjDqMckfqEBZg+/7jA92PyNt1+ynPD2bNniVQ6FJgcfVa6j7JyolCAT7XClF+Uwvr7LPVO7Gv27G6GiFG2kgRdWQ90X7/CWClBNFDVvM/650bHQqXoD7k7YFIYlJyyb5BSY9istm1oAffuPNOEPjCrlmO5FE3NyvWJZYvuPWoU2incTk4Jj1JLpCrUBU0FHi6k5lnmInl2D1u2PRH38vhlq3K+S0IuiQeHcx852g==
https://coq.github.io/doc/master/api/coq/Library/index.html#val-indirect_accessor
Gaëtan Gilbert
On 02/07/2020 19:04, Francisco Trucco wrote:
Hi coq-club!
We are currently implementing a Coq plugin that makes use of the
Coq API <https://coq.github.io/doc/master/api/coq>. When we started working
on the project we were using
Coq 8.9. We are now updating the Plugin to Coq 8.11 and we were
wondering how to translate the body of a constant
<https://coq.github.io/doc/master/api/coq/Declarations/index.html#type-constant_def>
to a constr
<https://coq.github.io/doc/master/api/coq/Constr/index.html#type-constr>.
This works in Coq 8.9 but it doesn't on Coq 8.11:
match cn.Declarations.const_body with
| Declarations.Undef _ ->
None
| Declarations.Def d ->
Some (Mod_subst.force_constr d)
| Declarations.OpaqueDef o ->
Some (Opaqueproof.force_proof (Global.opaque_tables ()) o)
In particular, force_proof
<https://coq.github.io/doc/master/api/coq/Opaqueproof/index.html#val-force_proof>
now takes an indirect_accessor
<https://coq.github.io/doc/master/api/coq/Opaqueproof/index.html#type-indirect_accessor>.
How do we obtain this indirect_accessor?
And what is the correct way to translate the body of a constant
to a constr?
Thank you in advance for your help!
Best,
Francisco Carlos Trucco Dalmas
- [Coq-Club] How to translate the body of a constant to a constr?, Francisco Trucco, 07/02/2020
- Re: [Coq-Club] How to translate the body of a constant to a constr?, Gaëtan Gilbert, 07/02/2020
Archive powered by MHonArc 2.6.19+.