Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notations with binders and ltac2:(...) are unusable #16782

Open
andres-erbsen opened this issue Nov 7, 2022 · 2 comments
Open

Notations with binders and ltac2:(...) are unusable #16782

andres-erbsen opened this issue Nov 7, 2022 · 2 comments
Labels
kind: bug An error, flaw, fault or unintended behaviour. part: ltac2 Issues and PRs related to the (in development) Ltac2 tactic langauge. part: notations The notation system.

Comments

@andres-erbsen
Copy link
Contributor

Description of the problem

From Ltac2 Require Import Ltac2.
Notation "bleh! { x , P }" := (let f := fun x => P in ltac2:(exact tt)).
Notation "blehs! { x .. y , p }" :=
  (let t := ex (fun x => .. (ex (fun y => p)) ..) in ltac2:(exact tt)) (x binder).
Check bleh! { x , True }. (* Missing notation term for variable x, probably an ill-typed expression *)
Check blehs! { a b c , True }. (* Missing notation term for variables x y, probably an ill-typed expression *)

Coq Version

8.15.0, 8.16.0

@andres-erbsen andres-erbsen added part: notations The notation system. part: ltac2 Issues and PRs related to the (in development) Ltac2 tactic langauge. labels Nov 7, 2022
@samuelgruetter
Copy link
Contributor

If I add (x binder) to the non-recursive notation, it works, so the problems seems to be specific to recursive notations?

@samuelgruetter
Copy link
Contributor

A similar issue also appears with Ltac1: #7903

@SkySkimmer SkySkimmer added the kind: bug An error, flaw, fault or unintended behaviour. label Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug An error, flaw, fault or unintended behaviour. part: ltac2 Issues and PRs related to the (in development) Ltac2 tactic langauge. part: notations The notation system.
Projects
None yet
Development

No branches or pull requests

3 participants