Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Using patterns as arguments to Ltac tactics

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Using patterns as arguments to Ltac tactics


Chronological Thread 
  • From: Chris Dams <chris.dams.nl AT gmail.com>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Using patterns as arguments to Ltac tactics
  • Date: Wed, 19 Jul 2023 17:30:14 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=chris.dams.nl AT gmail.com; spf=Pass smtp.mailfrom=chris.dams.nl AT gmail.com; spf=None smtp.helo=postmaster AT mail-ua1-f43.google.com
  • Ironport-data: A9a23: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 IT7qa2ogK12dKIpLftdRg==
  • Ironport-hdrordr: A9a23:URk27K4DtaMRaHksPAPXwMXXdLJyesId70hD6qkRc20zTiX8ra qTdZsgpHzJYVoqOE3I+urgBEDjewK/yXcd2+B4VotKNzOW3VdAQrsSibcKAAeNJ8Q9zINgPG tbHJSWweefMWRH
  • Ironport-phdr: A9a23:bq078B8L65ef/P9uWRi2ngc9DxPPW53KNwIYoqAql6hJOvz6uci4Y gqDtb4y1RfgZsby07p8ke3YsqTtCyQrwK2qlzQ8SqFKTAIPks4MngYtU4avAEz/K+P2PWRhR JwRHFBq8GumPkdLBc3we0PdomGo7T4VBx7zKRd5Kv76F4LMjsm7ze+/9p7cbwhKmTa2fK9/I gixoQjNrMcdnJFsKrw2yhvHo3tIf/pZyGZ1Ll+NnBjy+9m98od7/ytfp/wu+chAUb7nf6sjV rxXEC4mM2Eu68L1sxTIUBaC6WEdUmUSlRpIHhTF4RTnVZr/rif2quxw0zScMMbrT747RC6i4 r9kRxHohikJNCM3/n/LhcFrkKJXvAisqwBjz4LIYoyYMud1cKPHfdMdQGpMRthcVyxbAoO9d IsEEuQPMvxdr4nmulADqgexBQm2BOPu0T9EnGL50rc/0+Q6Cw3G2gggEskBsHTRttr1NaMSX fqpw6nPyDXOdvVb0iry54bUaB4uu+2MXa5ufsrLz0kiDwHIg1GOpIHkMD2b2eoDvmuF4uZ+S e+jlWAqph1xrzWt28oihYbHiI0VxF7L6Cl0z5s4KN+2RUN5fNOqH4Vcuz2cOoBrQc0iW3llt DgmxrACo5K2fygHxI45yxLBdfCLaYeF7xzlWe2MOzl3nmhld6i6hxuq8Uiv1On8Vs6s3VZPt CVFk93MumkQ1xPJ98SLU/V980iv1DqV2ADT7eZEIU8wlaXFMZIu3rkwlp8LvUTCGC/5hln2g beIekk4/uWk8efqb7X8qpOCKYN4lBvyP6sgl8CnBOQ3KAkOX2yV+eSm073j+FX0T6lKjv0sk 6nZq4rWKtkBqa68GA9ZyIAj6xKkAjep1dQXh3gHLFZfdB2biIjpPknCIPbjAvinmVSjjC9rx +zaPr3mGpjBM2DPkK39crZl905c1A0zwMhD6JJTE7ENOe78WkvstNPDFRI5KAy1w+P/CNpnz I8eWGSPArWYMKzIq1OI6PgvcKGwY9oevy+4IPw47ba6hngg3FQZYKOB3J0NaXn+EO4wcGuDZ n+5qdcbEHxCkgM7V6S+g12YUCUVa3+3ROQ64hk0DYunCcHIQYX70+/J5zuyApADPjMOMVuLC 3q9L+1sOt8JYSOWeIp6lyAcEKKmQMkn3A2vswnzz/xmKPDV82sWr8Grz8B7ssvUkxx67jloF 4KFyWjYRGFun3hOSzYzx+Z5pWRyz16C1e5zhPkLXcdL6aZxWxwhfYXZ0/Q8DtnzXgzbedLcQ 1a8Q87gDTg0VZQ3x/cBZk98H5OpiRWQlzGyDeozkLqGTIcx7rqa33X1IJNlzG3a0aA6k1Q8a s5GNGnjm6cmsgaPXMjGlEKWk6vsfqMZtMLU3EGEy2fG/ERRUQoqFL7AQWhafEzd69Lw+kLFS baqT7UhKApIj8CYeONMbZXygFNKSe2GWpyWan+tm2q2GReDx6+dJIvsdWIH2SzBCU8C2wkN9 HeCPAI6C2+vuWXbRDBpEFvuZQvr/4wc4DuwTlU11EeGZkh6kbyx0hEQjP2YDfgU2/NMuSssr Sl1AEfox8jfWL/i70JqeKRRZ8944U8SjzqI8VwgeMb6deY+3Q17EUw/pU7l2hRpB58VlMErq Clv1w9uMeeC11gHcTqE3Jf2M7mRK2/o/RnpZbSFvzOWmNuQ5KoL7+w17lv5uwT8XEEi6XR8l dVc1mDa4JHiAw8bUJa3WUEyvUsfxfmScmwm6oXY2Gc5e6K0qD7Znd4gAfBjzBKIcNJWMafCH wj3WZ5/ZYDmOKkhnF6naQgBNeZZ+fsvPs+oQPCB3baiIOdqmD/OYX1v2IlmyQrM8iN9TrSNx JMZ27SC2QDBUT7gjVCnu8SxmIZeZDhUEHDtgSTjAYdQYOV1c+NpQS+lI9e23ZNyjpv2HXhc3 FGmDlICnsSufFKeYkf80gtZyUkM6Sb/yG3oknouyWtv8vHX1TeG2+n4cRsbJmNHIQsqxUzhJ 4S5lZFSXUSlaRQoiArw4E/7w6ZBo6EsZ2LXQEpOY233NzQ4Cvr25ufEOZQVrs9z4kA1GKymb FuXS6DwuU4f2iLnRS5FwSwjMiutsdP/lgB7j2SUKDByqmDYcId+30S6hpSUSPhP0z4BXCQ9h yPQAw32NNmz/M7Sm57Gqaa4U0quU5RSdW/gyobK507ZrSV6RAaymfy+gIitGggg0DS929BvT mPOqD7zZ4Dq0+KxNuctLSwKTBfsrsF9HI95iI45gpodjGMbipui9n0CiW7vMN9f1PG2fD8XS DUM2dKQ/Bn91RgpMCeS34ygHCb4oIMpd5ygb2gRwC54881aFPLe8ulfhSUs6lug8VCKPL4kz 29bk6dxriZd2b1BuRJxnHvBROpJRg8BY3Sqz1PRvrXc5O1WfDr9L+b2jRIk24jnVPbY+kldQ CqrJMlkR3MhqJUndgqLiiW765m4KoaKK4tP8ETFyVGYyLEFTfB53vsS2Xg4ZSSk5yBjk6hjy kUwlZCi4NreczUrpf3mRE4ebnqvPosS4m2/1PkF2J/Hg8b3WM0mQ2tuPtOgTOr0QmhK5LK3a kDXSm168jDCRvLeBVPNsh446S+fVcn6bTfPYyBIhdR6GEvHfRIZ2ltFGm5g2MZ+T1HPpoSpZ k594np5CkfQjBxKx6ooMhD+Vj2avwK0cnIuT5PZKhNK7wZE7kOTMMqE7+s1ETsKtpum5BeAL GCWfWEqRSkAR1CEClb/P7Kv+ciI8u6WAfC7JufPZrPGoPJXVvOBz5aimoV8+DPEOsKKN3hkR /o1vygLFWh+ANjcki4TRjY/kivMa4uGrU759HEs6M+49/vvVUTk4o7OQ7pePNNz+gyn1KeOM +nD4UQxYT1c154K2TrJ0O1FhA9U23woLWP3V+hb5kuvBOrKl6RaDgAWcXZ2PcpMtecn2xVVf NTcgZXz36J5ifg8DxFEU0bgk4enf59vQSn1OVXZCUKMLLnDKyfMxpS9aqOmSKYWgOxRrFu2v R6UFkbiOnKIkDyjBHXNealcyTqWOhBTotT3ahF2FW3qV87rcDW+Od5zyCA/mPg62iiMOmkbP jxxNUhKq/fDiEEQyuU6EGtH4H1/KOCCkCvM9OjUJKEdtv5zCzh1neZXiJzV47RQ5SBAAvdyn XmLxjaPi1Svk+3K1zM+FRQS8XBEg4WEuUgkMqLcpMEosZPs8xcE7GHWABMP9YMNNw==
  • Ironport-sdr: 64b80194_gwHXKXlDfMTShHNgew6bT18wFsH7ixuPfRT8DasnWqHHCKO yf8mDQpkdlCsoxMPaQCXyrKJsX9g2//U3c645EQ==

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



Archive powered by MHonArc 2.6.19+.

Top of Page