Skip to content

Automatically generated goal names#20809

Merged
coqbot-app[bot] merged 8 commits intorocq-prover:masterfrom
epfl-systemf:autonaming-goals
Nov 24, 2025
Merged

Automatically generated goal names#20809
coqbot-app[bot] merged 8 commits intorocq-prover:masterfrom
epfl-systemf:autonaming-goals

Conversation

@dhalilov
Copy link
Copy Markdown
Contributor

@dhalilov dhalilov commented Jun 25, 2025

This PR adds the possibility to have automatically generated goal names through the Generate Goal Names option. This also includes qualified goal names and showing the difference between focusable and non-focusable printing names in Show Existentials.

Requires #20813 to be merged first.

  • Added / updated test-suite.
  • Added changelog.
  • Added / updated documentation.
    • Updated documented syntax by running make doc_gram_rsts.
  • Opened overlay pull requests.

Overlays:

@dhalilov dhalilov requested review from a team as code owners June 25, 2025 16:09
@coqbot-app coqbot-app Bot added the needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. label Jun 25, 2025
@dhalilov dhalilov force-pushed the autonaming-goals branch 3 times, most recently from 1a989d3 to ca1c5f5 Compare June 26, 2025 09:30
@ppedrot
Copy link
Copy Markdown
Member

ppedrot commented Jun 26, 2025

@coqbot run full ci

@coqbot-app coqbot-app Bot removed the needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. label Jun 26, 2025
@coqbot-app
Copy link
Copy Markdown
Contributor

coqbot-app Bot commented Jun 26, 2025

🔴 CI failure at commit ca1c5f5 without any failure in the test-suite

✔️ Corresponding job for the base commit 90e3b7e succeeded

❔ Ask me to try to extract a minimal test case that can be added to the test-suite

🏃 @coqbot ci minimize will minimize the following target: ci-hott
  • You can also pass me a specific list of targets to minimize as arguments.

@coqbot-app coqbot-app Bot added the needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. label Jun 26, 2025
@ppedrot ppedrot added needs: merge of dependency This PR depends on another PR being merged first. labels Jun 26, 2025
@ppedrot ppedrot marked this pull request as draft June 26, 2025 14:48
@ppedrot ppedrot marked this pull request as draft June 26, 2025 14:48
Copy link
Copy Markdown
Member

@jfehrle jfehrle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some details to consider.

It seems incomplete not to handle all tactics that introduce new goals, eg split.

Probably more comments later. Only so much I'm willing to do on my phone. I won't be near my computer until next week.

Comment thread doc/sphinx/proofs/writing-proofs/proof-mode.rst Outdated
Comment thread doc/tools/docgram/common.edit_mlg Outdated
Comment thread doc/tools/docgram/orderedGrammar Outdated
Comment thread doc/tools/docgram/orderedGrammar Outdated
Comment thread doc/sphinx/proofs/writing-proofs/proof-mode.rst Outdated
Comment thread doc/sphinx/proofs/writing-proofs/proof-mode.rst Outdated
| WITH OPT ( [ natural | "[" ident "]" ] ":" ) "{"
| MOVETO simple_tactic OPT ( [ natural | "[" ident "]" ] ":" ) "{"
| WITH OPT ( [ natural | "[" fullyqualid "]" ] ":" ) "{"
| MOVETO simple_tactic OPT ( [ natural | "[" fullyqualid "]" ] ":" ) "{"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why "fullyqualid"? Are you prohibiting use of the shortest unique suffix? If so, that behavior is inconsistent with all other qualids--and give your rationale.

Also I didn't see a description of this nonterminal in the doc---IMO that's a requirement.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qualified goal names behave differently from other qualids, since there is only one name for them which is the shortest one by construction. That means they are also always fully qualified, so I think fullyqualid makes the distinction clear.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qualified goal names behave differently from other quali

That's precisely the problem. While the syntax is the same as qualids, their behavior/use is entirely different. Just call them goal names and explain that they may have multiple dotted components.

Comment thread doc/tools/docgram/fullGrammar
@dhalilov
Copy link
Copy Markdown
Contributor Author

It seems incomplete not to handle all tactics that introduce new goals, eg split.

split does not work at the moment because conj (constructor of and) does not have named hypotheses, so no names cannot be generated. Could be changed in another patch.

@dhalilov dhalilov force-pushed the autonaming-goals branch 2 times, most recently from e086bfc to ff080d7 Compare June 27, 2025 21:04
@dhalilov
Copy link
Copy Markdown
Contributor Author

dhalilov commented Jun 27, 2025

(Cleaned the history. The PR needs #20813 to be merged first and then will be rebased on master)

@jfehrle
Copy link
Copy Markdown
Member

jfehrle commented Jun 27, 2025

The PR needs #20813 to be merged first and then will be rebased on master)

Best to put this in the PR description--reviewers are likely to miss this if it's only in the conversation.

Comment thread doc/changelog/14-misc/20809-autonaming-goals-Added.rst Outdated
@ppedrot ppedrot added the request: full CI Use this label when you want your next push to trigger a full CI. label Nov 24, 2025
@coqbot-app coqbot-app Bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Nov 24, 2025
Copy link
Copy Markdown
Member

@ppedrot ppedrot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The low-level code changes look fine to me. I think that the flag should be opt-in though, this is already hinted at by the documentation. I can take care of this myself by tweaking the commit that introduces it though.

@ppedrot
Copy link
Copy Markdown
Member

ppedrot commented Nov 24, 2025

For some reason, tactician now seems to require an overlay.

ppedrot added a commit to ppedrot/coq-tactician that referenced this pull request Nov 24, 2025
@ppedrot ppedrot added the request: full CI Use this label when you want your next push to trigger a full CI. label Nov 24, 2025
@coqbot-app coqbot-app Bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Nov 24, 2025
@ppedrot ppedrot added the request: full CI Use this label when you want your next push to trigger a full CI. label Nov 24, 2025
@coqbot-app coqbot-app Bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Nov 24, 2025
@ppedrot
Copy link
Copy Markdown
Member

ppedrot commented Nov 24, 2025

@coqbot merge now

@coqbot-app coqbot-app Bot merged commit 5ca6815 into rocq-prover:master Nov 24, 2025
11 checks passed
@coqbot-app
Copy link
Copy Markdown
Contributor

coqbot-app Bot commented Nov 24, 2025

@ppedrot: Please take care of the following overlays:

  • 20809-ppedrot-autonaming-goals.sh

@ppedrot
Copy link
Copy Markdown
Member

ppedrot commented Nov 24, 2025

@dhalilov finally merged, thanks for your patience!

@dhalilov
Copy link
Copy Markdown
Contributor Author

Many thanks for the help and reviews! 🥳

@ppedrot ppedrot deleted the autonaming-goals branch November 24, 2025 21:07
LasseBlaauwbroek added a commit to coq-tactician/coq-tactician that referenced this pull request Nov 25, 2025
Comment thread ide/rocqide/idetop.ml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind: feature New user-facing feature request or implementation. priority: blocker The next release should be delayed if this is not fixed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants