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

Set Default Proof Using in sections survives the section end #15184

Open
Blaisorblade opened this issue Nov 15, 2021 · 3 comments
Open

Set Default Proof Using in sections survives the section end #15184

Blaisorblade opened this issue Nov 15, 2021 · 3 comments
Labels
kind: enhancement Enhancement to an existing user-facing feature, tactic, etc.

Comments

@Blaisorblade
Copy link
Contributor

Blaisorblade commented Nov 15, 2021

Description of the problem

Section foo.
  Context`{Hinj : True}.
  Set Default Proof Using "Hinj".
End foo.

Lemma bar : True.
Fail Proof.
(* 
The command has indeed failed with message:
Unknown variable: Hinj
*)

Not a bug, and can be worked around via #[local] Set Default Proof Using "Hinj"., but seems surprising.

But for now I prefer the workaround — I've given up on remembering the default localities, especially since they started changing.

Coq Version

8.13.2

@Blaisorblade Blaisorblade added the kind: enhancement Enhancement to an existing user-facing feature, tactic, etc. label Nov 15, 2021
@Zimmi48
Copy link
Member

Zimmi48 commented Nov 23, 2021

One more argument in favor of making local the uniform default locality then... Except that in this case, it would become all the more important to be able to provide a local(module) attribute to emulate the current behavior.

@SkySkimmer
Copy link
Contributor

Is it really that important? I'm not sure if anyone wants the current behaviour.

@Zimmi48
Copy link
Member

Zimmi48 commented Nov 23, 2021

I'm not sure if anyone wants the current behaviour.

Not sure either, but it's really important to have a foolproof compatibility solution (people could sprinkle #[ local(module) ] in front of all their Set / Unset commands for forward-compatibility, similarly to what they do today with #[ global ] in front of Hint commands).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: enhancement Enhancement to an existing user-facing feature, tactic, etc.
Development

No branches or pull requests

3 participants