Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces the parametric attribute
[grind]
for annotating theorems and definitions. It also replaces[grind_eq]
with[grind =]
. For definitions,[grind]
is equivalent to[grind =]
.The new attribute supports the following variants:
[grind =]
: Uses the left-hand side of the theorem's conclusion as the pattern for E-matching.[grind =_]
: Uses the right-hand side of the theorem's conclusion as the pattern for E-matching.[grind _=_]
: Creates two patterns. One for the left-hand side and one for the right-hand side.[grind →]
: Searches for (multi-)patterns in the theorem's antecedents, stopping once a usable multi-pattern is found.[grind ←]
: Searches for (multi-)patterns in the theorem's conclusion, stopping once a usable multi-pattern is found.[grind]
: Searches for (multi-)patterns in both the theorem's conclusion and antecedents. It starts with the conclusion and stops once a usable multi-pattern is found.The
grind_pattern
command remains available for cases where these attributes do not yield the desired result.