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] Using patterns as arguments to Ltac tactics
- Date: Thu, 20 Jul 2023 07:54:44 +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=Pass smtp.helo=postmaster AT relay3-d.mail.gandi.net
- Ironport-data: A9a23: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 YT4qa6oja17pYPM/R5cRkNo
- Ironport-hdrordr: A9a23:OWHcl6ke9TBR3fztiCSItkljj53pDfIR3DAbv31ZSRFFG/Fw5P re/8jzsiWE7wr5OUtQ/exoV5PsfZqxz+8W3WBVB8bGYOCEggeVxeNZh7cKqgeIc0bDH6xmtZ uIGJIRNDSfNzlHZIrBjzWQIpIP5/TCyqizgI7lvhFQcT0=
- Ironport-phdr: A9a23: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 MhWIoI=
- Ironport-sdr: 64b8cc27_9bIDGxaCPTwQkTcEvw6o4BFOaYub/VO4lxjAcLw+eMzFOAD K6TbfvjhM5W/LDoRHM6o14LEtm1EDRKUussQ9Vw==
Using uconstr probably works, something like
Ltac program_data_destruct_impl st ll glob H
:= destruct st as [ll glob|] eqn:H;
[fold mk_program_data in H |- * | fold mk_program_data_error in H |- *].
Tactic Notation "program_data_destruct" uconstr(st) ident(ll) ident(glob)
ident(H) :=
(program_data_destruct_impl st ll glob H).
Gaëtan Gilbert
On 19/07/2023 17:30, Chris Dams wrote:
Dear All,
I would like to be able to use a pattern as an argument to an Ltac
tactic. Is this somehow possible? At the moment I am running into:
Ltac program_data_destruct st ll glob H
:= destruct st as [ll glob|] eqn:H;
[fold mk_program_data in H |- * | fold mk_program_data_error in H |- *].
I would like to use a pattern instead of a complete term for st
because what I would like to pass as st can be quite large and I like
to fill in a few parameters to indicate which instance I want to
destruct but not all of them because that would be a bit too large.
E.g., I would like to do
program_data_destruct (set_pointer (mk_program_data _ _) _ _ _) ll' glob' H4.
but that runs into the error 'Cannot infer this placeholder of type
"program.stack program_global_type_info"'. Note that it would be quite
possible to pass the pattern term (set_pointer (mk_program_data _ _) _
_ _) as an argument to the destruct tactic, it is just the Ltac macro
that apparently forbids using this pattern term.
Is it possible to make this work somehow?
Kind Regards,
Chris
- [Coq-Club] Using patterns as arguments to Ltac tactics, Chris Dams, 07/19/2023
- Re: [Coq-Club] Using patterns as arguments to Ltac tactics, Pierre Courtieu, 07/19/2023
- Re: [Coq-Club] Using patterns as arguments to Ltac tactics, Chris Dams, 07/20/2023
- Re: [Coq-Club] Using patterns as arguments to Ltac tactics, Gaëtan Gilbert, 07/20/2023
- Re: [Coq-Club] Using patterns as arguments to Ltac tactics, Chris Dams, 07/21/2023
- Re: [Coq-Club] Using patterns as arguments to Ltac tactics, Pierre Courtieu, 07/19/2023
Archive powered by MHonArc 2.6.19+.