-
Notifications
You must be signed in to change notification settings - Fork 259
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
[Merged by Bors] - feat: quick version of mono tactic #1740
Conversation
This looks good to me, it's good to be able to tag lemmas with |
There should not be any duplicate syntaxes. When partially implementing a tactic, you should move the syntax line from |
* inline from `register_label_attr` so that it doesn't create syntax
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bors d+
✌️ hrmacbeth can now approve this pull request. To approve and merge a pull request, simply reply with |
bors d=thorimur |
✌️ thorimur can now approve this pull request. To approve and merge a pull request, simply reply with |
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
bors r+ |
This is an extremely partial port of the `mono*` tactic from Lean 3, implemented as a macro on top of `solve_by_elim`. The original `mono` had many configuration options and no documentation, so quite a bit is missing (and almost all the Lean 3 tests fail). Nonetheless I think it's worth merging this, because - it will get rid of errors in mathport output which come from lemmas being tagged with a nonexistent attribute `@[mono]` - in most mathlib3 uses of mono, only the basic version was used, not the various configuration options; thus I would guess that this version of `mono` will succeed fairly often in the port even though it fails nearly all the tests Co-authored-by: thorimur <68410468+thorimur@users.noreply.github.com>
Pull request successfully merged into master. Build succeeded:
|
Restore most of the `mono` attribute now that #1740 is merged. I think I got all of the `mono`s.
This is an extremely partial port of the
mono*
tactic from Lean 3, implemented as a macro on top ofsolve_by_elim
. The originalmono
had many configuration options and no documentation, so quite a bit is missing (and almost all the Lean 3 tests fail). Nonetheless I think it's worth merging this, because@[mono]
mono
will succeed fairly often in the port even though it fails nearly all the testsNote: the
solve_by_elim
behavior is closer tomono*
thanmono
, so bothmono
andmono*
are accepted here and, for now, mean the same thing.The full port of
mono
will eventually work in every place that mathlib3 hadmono
, so as long as nomono*
is changed tomono
between now and the full port ofmono
, this conflation ofmono*
andmono
shouldn't introduce many wrinkles. Any wrinkles it does introduce will be able to be easily corrected by changingmono
tomono*
.@[mono]
,@[mono left]
,@[mono right]
, and@[mono both]
all just mean@[mono]
for now.The full port of mono will be PR'd as #2323.