-
Notifications
You must be signed in to change notification settings - Fork 368
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] - refactor: Redefine pow
in terms of iterate
#1388
Conversation
@YaelDillies, the original mathlib3 PR is marked as |
Sorry, actually as this PR is empty I'll just close. Just open a new PR if you'd like to bring the material across. |
150c18b
to
e93ba4e
Compare
pow
on Perm
in terms of iterate
pow
in terms of iterate
Let me repeat my concern from Lean3 PR:
|
I don't understand how that's not fixable. Surely it's just a matter of tweaking the |
|
Yeah okay. I must say I don't think it's defeq's job to translate category-theoretic constructs to their group-theoretic equivalents. The fact that we can do it in simple cases doesn't mean it extends indefinitely and indeed I would rather have a Right now, this translation sounds like a pretty niche use case anyway? |
In the `Monoid` instances for `Function.End α`, `Equiv.Perm α`, `AddMonoid.End α`, `α →+* α`, replace the default `npowRec` by a custom one in terms of `Nat.iterate`. Write the expected coercion lemmas. As a consequence, I can delete the recently introduced file `Algebra.Ring.Hom.IterateHom`. fix Algebra.GroupPower.IterateHom less brackets
1d3e085
to
3cf6bac
Compare
The issue is not about translation. The issue is that we'll have 2 defeq types ( |
Well they're only defeq because one is a too-transparent type synonym of the other, right? Using that would be defeq abuse. |
Could you please open a Zulip discussion? I don't want to merge this PR myself, but if another maintainer rules my objection as invalid/irrelevant, then I won't insist. |
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.
Thanks 🎉
bors merge
Note that the Zulip discussion is not publicly viewable |
In the `Monoid` instances for `Function.End α`, `Equiv.Perm α`, `Monoid.End α`, `AddMonoid.End α`, `α →+* α`, replace the default `npowRec` by a custom one in terms of `Nat.iterate`. Write the expected coercion lemmas. As a consequence, I can delete the recently introduced file `Algebra.Ring.Hom.IterateHom`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.231388.20Redefine.20pow.20in.20terms.20of.20iterate
Pull request successfully merged into master. Build succeeded: |
pow
in terms of iterate
pow
in terms of iterate
In the `Monoid` instances for `Function.End α`, `Equiv.Perm α`, `Monoid.End α`, `AddMonoid.End α`, `α →+* α`, replace the default `npowRec` by a custom one in terms of `Nat.iterate`. Write the expected coercion lemmas. As a consequence, I can delete the recently introduced file `Algebra.Ring.Hom.IterateHom`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.231388.20Redefine.20pow.20in.20terms.20of.20iterate
In the `Monoid` instances for `Function.End α`, `Equiv.Perm α`, `Monoid.End α`, `AddMonoid.End α`, `α →+* α`, replace the default `npowRec` by a custom one in terms of `Nat.iterate`. Write the expected coercion lemmas. As a consequence, I can delete the recently introduced file `Algebra.Ring.Hom.IterateHom`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.231388.20Redefine.20pow.20in.20terms.20of.20iterate
In the
Monoid
instances forFunction.End α
,Equiv.Perm α
,Monoid.End α
,AddMonoid.End α
,α →+* α
, replace the defaultnpowRec
by a custom one in terms ofNat.iterate
. Write the expected coercion lemmas.As a consequence, I can delete the recently introduced file
Algebra.Ring.Hom.IterateHom
.Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.231388.20Redefine.20pow.20in.20terms.20of.20iterate
Rehash of leanprover-community/mathlib3#18077