Zulip Chat Archive
Stream: mathlib4
Topic: power of isomorphisms
Kenny Lau (Oct 28 2025 at 15:29):
(see correct examples below)
Kenny Lau (Oct 28 2025 at 15:30):
making it rfl would probably be a large refactor (so maybe only @Yaël Dillies would be qualified to do that), but maybe we can at least have a (simp) lemma?
Yaël Dillies (Oct 28 2025 at 15:55):
There was indeed a PR of mine somewhere doing exactly this
Aaron Liu (Oct 28 2025 at 16:01):
I don't think what you've written is actually true
Aaron Liu (Oct 28 2025 at 16:02):
pointwise power of ring hom not the same as iterating the ring hom
Kenny Lau (Oct 28 2025 at 16:02):
there's no structure on ring hom
Kenny Lau (Oct 28 2025 at 16:02):
adding two ring homs doesn't preserve multiplication, multiplying two ring homs doesn't preserve addition
Aaron Liu (Oct 28 2025 at 16:04):
So you want to add an instance for multiplying ringauts by composition?
Kenny Lau (Oct 28 2025 at 16:04):
it's already there
Kenny Lau (Oct 28 2025 at 16:04):
https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Ring/Aut.html#RingAut.instGroup
Kenny Lau (Oct 28 2025 at 16:06):
ah you're right my statements should be ⇑(e ^ n) instead
Kenny Lau (Oct 28 2025 at 16:07):
import Mathlib
variable (R : Type*) [CommRing R]
#synth Group (R ≃+* R)
example (e : R ≃+* R) (n : ℕ) : ⇑(e ^ n) = e^[n] := rfl -- nope
example (e : R ≃+* R) (n : ℕ) : ⇑(e ^ n) = e^[n] :=
n.recOn rfl fun _ ih ↦ congr($ih ∘ $rfl)
Kenny Lau (Oct 28 2025 at 16:08):
@Yaël Dillies can you link to your PR?
Aaron Liu (Oct 28 2025 at 18:23):
Kenny Lau said:
making it
rflwould probably be a large refactor (so maybe only Yaël Dillies would be qualified to do that), but maybe we can at least have a (simp) lemma?
I think it would not be, what makes you think this is a big thing?
Kenny Lau (Oct 28 2025 at 19:17):
i don't know
Last updated: Dec 20 2025 at 21:32 UTC