coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jonathan Leivent <jonikelee AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Using ltac:(admit) to define terms.
- Date: Mon, 11 Jul 2016 14:07:08 -0400
- 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-qk0-f174.google.com
- Ironport-phdr: 9a23:Xk0AxhB13rWUe3idENKPUyQJP3N1i/DPJgcQr6AfoPdwSP74pMbcNUDSrc9gkEXOFd2CrakV06yN7uu/ByQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6kO74TNaIBjjLw09fr2zQd+KyZ/qnL/ss7ToICxwzAKnZr1zKBjk5S7wjeIxxbVYF6Aq1xHSqWFJcekFjUlhJFaUggqurpzopM0roGxsvKcq8NcFWqHndYw5S6ZZBXIoKTMb/sru4DvESwKT5nIaGkEbkwRFBRSNuBP9WJbyvy/3u8Jy3SCbOYv9SrViCmfq1LtiVBK90HRPDDU+6myC0sE=
I think the point of the new way admit works is that there is no way to make
Definition exercise : nat := ltac:(admit).work via direct usage of admit - because the result would be Defined instead of just Admitted. However, the error about not being able to infer an existential variable of type "nat" happens earlier than that - which means that any way of fixing that error will just run afoul of the Defined/Admitted issue.
To get around this, you will have to define something that is Admitted or itself an axiom, then use that - which is IMHO what the new rules about admit are trying to force you to do - declare your intentions to leave something undefined instead of relying on the standard library to hide those intentions for you.
-- Jonathan
On 07/11/2016 01:53 PM, Arthur Azevedo de Amorim wrote:
Dear list,
In the Software Foundations textbook, we define an "admit" axiom that we
use to leave out parts of definitions in exercises:
Axiom admit : forall {T : Type}, T.
(* Replace "admit" with answer here *)
Definition exercise : nat := admit.
We were wondering whether we could remove this definition in favor of just
using ltac:(admit). Unfortunately, this causes Coq to complain about
existential variables:
Definition exercise : nat := ltac:(admit).
Toplevel input, characters 0-39:Is there anyway of making this work?
Error: Cannot infer an existential variable of type "nat".
- [Coq-Club] Using ltac:(admit) to define terms., Arthur Azevedo de Amorim, 07/11/2016
- Re: [Coq-Club] Using ltac:(admit) to define terms., Jonathan Leivent, 07/11/2016
- Re: [Coq-Club] Using ltac:(admit) to define terms., Jonathan Leivent, 07/11/2016
- Re: [Coq-Club] Using ltac:(admit) to define terms., Jonathan Leivent, 07/11/2016
Archive powered by MHonArc 2.6.18.