Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit cc14658

Browse files
committed
chore(algebra/group_powers): Add missing lemmas (#4635)
This part of the file defines four equivalences, but goes on to state lemmas about only one of them. This provides the lemmas for the other three.
1 parent dca1393 commit cc14658

File tree

1 file changed

+41
-3
lines changed

1 file changed

+41
-3
lines changed

src/algebra/group_power/lemmas.lean

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -413,13 +413,51 @@ variables {M G A}
413413
@[simp] lemma powers_hom_symm_apply [monoid M] (f : multiplicative ℕ →* M) :
414414
(powers_hom M).symm f = f (multiplicative.of_add 1) := rfl
415415

416-
lemma mnat_monoid_hom_eq [monoid M] (f : multiplicative ℕ →* M) (n : multiplicative ℕ) :
416+
@[simp] lemma gpowers_hom_apply [group G] (x : G) (n : multiplicative ℤ) :
417+
gpowers_hom G x n = x ^ n.to_add := rfl
418+
419+
@[simp] lemma gpowers_hom_symm_apply [group G] (f : multiplicative ℤ →* G) :
420+
(gpowers_hom G).symm f = f (multiplicative.of_add 1) := rfl
421+
422+
@[simp] lemma multiples_hom_apply [add_monoid A] (x : A) (n : ℕ) :
423+
multiples_hom A x n = n •ℕ x := rfl
424+
425+
@[simp] lemma multiples_hom_symm_apply [add_monoid A] (f : ℕ →+ A) :
426+
(multiples_hom A).symm f = f 1 := rfl
427+
428+
@[simp] lemma gmultiples_hom_apply [add_group A] (x : A) (n : ℤ) :
429+
gmultiples_hom A x n = n •ℤ x := rfl
430+
431+
@[simp] lemma gmultiples_hom_symm_apply [add_group A] (f : ℤ →+ A) :
432+
(gmultiples_hom A).symm f = f 1 := rfl
433+
434+
lemma monoid_hom.apply_mnat [monoid M] (f : multiplicative ℕ →* M) (n : multiplicative ℕ) :
417435
f n = (f (multiplicative.of_add 1)) ^ n.to_add :=
418436
by rw [← powers_hom_symm_apply, ← powers_hom_apply, equiv.apply_symm_apply]
419437

420-
lemma mnat_monoid_hom_ext [monoid M] ⦃f g : multiplicative ℕ →* M⦄
438+
lemma monoid_hom.ext_mnat [monoid M] ⦃f g : multiplicative ℕ →* M⦄
439+
(h : f (multiplicative.of_add 1) = g (multiplicative.of_add 1)) : f = g :=
440+
monoid_hom.ext $ λ n, by rw [f.apply_mnat, g.apply_mnat, h]
441+
442+
lemma monoid_hom.apply_mint [group M] (f : multiplicative ℤ →* M) (n : multiplicative ℤ) :
443+
f n = (f (multiplicative.of_add 1)) ^ n.to_add :=
444+
by rw [← gpowers_hom_symm_apply, ← gpowers_hom_apply, equiv.apply_symm_apply]
445+
446+
lemma monoid_hom.ext_mint [group M] ⦃f g : multiplicative ℤ →* M⦄
421447
(h : f (multiplicative.of_add 1) = g (multiplicative.of_add 1)) : f = g :=
422-
monoid_hom.ext $ λ n, by rw [mnat_monoid_hom_eq f, mnat_monoid_hom_eq g, h]
448+
monoid_hom.ext $ λ n, by rw [f.apply_mint, g.apply_mint, h]
449+
450+
lemma add_monoid_hom.apply_nat [add_monoid M] (f : ℕ →+ M) (n : ℕ) :
451+
f n = n •ℕ (f 1) :=
452+
by rw [← multiples_hom_symm_apply, ← multiples_hom_apply, equiv.apply_symm_apply]
453+
454+
/-! `add_monoid_hom.ext_nat` is defined in `data.nat.cast` -/
455+
456+
lemma add_monoid_hom.apply_int [add_group M] (f : ℤ →+ M) (n : ℤ) :
457+
f n = n •ℤ (f 1) :=
458+
by rw [← gmultiples_hom_symm_apply, ← gmultiples_hom_apply, equiv.apply_symm_apply]
459+
460+
/-! `add_monoid_hom.ext_int` is defined in `data.int.cast` -/
423461

424462
/-!
425463
### Commutativity (again)

0 commit comments

Comments
 (0)