coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jerome Hugues <jhugues AT andrew.cmu.edu>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Qed opacity and Coq standard library
- Date: Fri, 23 Apr 2021 00:31:32 +0000
- Accept-language: en-US
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jhugues AT andrew.cmu.edu; spf=Pass smtp.mailfrom=jhugues AT andrew.cmu.edu; spf=None smtp.helo=postmaster AT relay-exchange.andrew.cmu.edu
- Ironport-hdrordr: A9a23:xPey/K5+i8yz62564wPXwWWBI+orLtY04lQ7vn1ZYSd+NuSFisGjm+ka3xfoiDAXHEotg8yEJbPoewK6ybdc2qNUGbu5RgHptC+TLI9k5Zb/2DGIIVybysd07o0lSaR3DbTLfD1HpO7n/Qi1FMshytGb8KauwdzT1WtpUBsCUdAa0y5SDAGHHkpqADRXHJZRLuvq2uNrhRqFPU4WYMOyG2UfU4H41qe76a7OTBYaC3ccmXmzpB6l7b7kHwOV01MiVVp0oIsK3nPCl2XCl9eemtWa7jOZ6GPJ9ZRRn7Lau69+LeiBkNIcJDmpqivAXvURZ5S4sDo4oP6i5T8R+bGmw2ZYTrgDlE/5RW2+rRvz1wSl6g8AgkWSsWOwunf/vdf/AAszFsspv/M+A2XkwnA9t9Jx2r8j5RPri7NrC3r77VHAzumNexZ2llel5VoO+NRjx0B3YM8wZLNdpoQU/gd0Pf47bWnHwbFiP+90EsnG6fpaNXyddBni0FVH8ZiCWG8sFgyKTkVHh8r96VdrtUE84U9d4MAEhH8P+NYGVpFY643/X5hApfVhSMkZaK44KcUgZY+MCmLLSQ/RK276Gz7aPZBCFXTKpZv6pI8w+fjvQpoV15E/8a6xM29whCoId0jjCdKD0fRwnmGufEyNGQ7Cju1/yvFCy8vBbYuuCwPGaH1Gqbron8ki
- Ironport-phdr: A9a23:JS/ElRP+QFyqMQ37H6Yl6nY3ChdPi93PFj5Q0YIujvd0So/mwa6KFHLW6fgltlLVR4KTs6sC17OH9fq5ACdZut6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9vKBi6txvdutQLjYdtN6o8xAbCr2dVdehR2W5mP0+YkQzm5se38p5j8iBQtOwk+sVdT6j0fLk2QKJBAjg+PG87+MPktR/YTQuS/XQcSXkZkgBJAwfe8h73WIr6vzbguep83CmaOtD2TawxVD+/4apnVAPkhSEaPDM/7WrZiNF/jLhDrRyhuRJx3pLUbo+WOvpwfKzdfM8VSmVaU8lLSyBBB5mxY5cTA+cDO+tTsonzp0EJrRu7HQSiAP3gyiVPhn/zw6IxzuYvERzJ3Aw9Ad0Oq2nfodL3NKcSTOC1w7TIwivYb/5Nwzj97pXHcgo/rvCCR75/bc/RyVQ1Gwzbk1qQtJXoMjWI3esCr2aV9fBvVf6zi2E5sQFxpCCiytsxh4TGmo4bxV7J+DtnzYsxONC1VEB1bcKkHpZSqyyXNYh7T8E+T2x1tis0xLMLtYK6cSUX1Zgr2gPTZ+KJfYWO/xntWuGRITJii3JkfrKynxmy8Um8yu38S8m7y0xGoTZCktnJrnwN1hrT6tKGSvRn5Euh1yyP2xjW6uFFPUA4j7TUJIM8wrM2i5EdslzDEzfrlEnoj6KabFso9vK15+nnYLjqvIGQOoFshg3jLKgjmdazDfoiPgUBQWSX4+ux2KX+8UHnQ7hGlOM6nrPEvJ3aJ8kXvK20Dg1T340+8RiwFS2m384dnXQfLFJKZhaHj4/xNlHUPv/4Ce2wglS1nDh1yPHJIr3hDY/LLnjMjrjtZ6xy60hBxwop099e6YhYBa0EIPLuQEP+qsHXDgIhPwy1xeboFsl925sDVW6RAaKVKr3evUWV6u8vIeSAfpEZtTjlJ/gg/fHujHs5mVEHfamu2JsacHK4HvR7I0WWfHrjnMwBHHwQsQo4UePqkkONUDBJa3muWqI8+ys3B5y7AofeXoytmqCO3D+nHp1KYWBLEkyDEXDxd4mdR/gMbD+SLdR6nzwfVbmhTpch2gu0uA/7zbpnNOvU9TcCuZLtztgmr9HUwFs58iUxBMCA2UmMSXt1lyUGXXV+iKt4uAl2zkqJ+al+mf1RU9JJsaBnSAA/YLzR1et/BpjSRw3cc8zBHFSmX9q7DCoZR9Q92dIRJU14BpOvgg2VjHniOKMci7HeXM98yanbxXWkf65V+zP9zKAkymIebI5POGmh7oZl+gzaFsvEg06ZnqCleOIV2iLX+XjFxm+T+kxUTVwoOY31GEsHb06TluzXo1vYRteGALIrKAZej8WHN+1HZsC71T1udLLYIN3bJlmJtSK1DBeMyKmLaeLCcmMRxijCTkMBjkYe8WvUbGAD
Hi
Thanks for the links,
I created issue https://github.com/coq/coq/issues/14149 about NoDup_dec being Qed instead of Defined.
About my own problem, I finally found a work-around that puzzles me as a Coq novice: I need to check that a list is empty as part of some more complex verifications on my data structures, nothing fancy but …
this definition allows me to do nice evaluation using Compute, you will note it matches an equivalent bool version. It is not that elegant but works
Definition Is_Empty (q : queue) : Prop := match q with | nil => True | _ => False end.
The more direct
Definition Is_Empty (q : queue) : Prop := q = empty.
where empty is defined as nil, returns an _expression_ of 400+ lines. Coding style definitely matters to help the evaluation process I presume, a topic for further readings on my end.
Regards,
From:
<coq-club-request AT inria.fr> on behalf of Xavier Leroy <xavier.leroy AT college-de-france.fr>
On Tue, Apr 20, 2021 at 3:54 PM Jerome Hugues <jhugues AT andrew.cmu.edu> wrote:
My rule of thumb is that every definition that is in Prop should be Qed and every definition that is in Type should be Defined. Most of the time, there's enough of a phase distinction for this heuristic to work well. See http://gallium.inria.fr/blog/coq-eval/ for more examples, including one that used to violate the phase distinction but was fixed since.
In this respect, NoDup_dec in the Coq standard library is a bug, and so is incl_decl in the same file, while In_dec correctly uses Defined. Why don't you file a bug report at https://github.com/coq/coq/issues ?
Regards,
- Xavier Leroy
|
- [Coq-Club] Qed opacity and Coq standard library, Jerome Hugues, 04/20/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Jean-Christophe Léchenet, 04/21/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Jerome Hugues, 04/21/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Fabian Kunze, 04/23/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Jerome Hugues, 04/21/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Pierre-Marie Pédrot, 04/21/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Xavier Leroy, 04/21/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Jerome Hugues, 04/23/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Pierre Courtieu, 04/23/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Jerome Hugues, 04/23/2021
- Re: [Coq-Club] Qed opacity and Coq standard library, Jean-Christophe Léchenet, 04/21/2021
Archive powered by MHonArc 2.6.19+.