@@ -413,13 +413,51 @@ variables {M G A}
413
413
@[simp] lemma powers_hom_symm_apply [monoid M] (f : multiplicative ℕ →* M) :
414
414
(powers_hom M).symm f = f (multiplicative.of_add 1 ) := rfl
415
415
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 ℕ) :
417
435
f n = (f (multiplicative.of_add 1 )) ^ n.to_add :=
418
436
by rw [← powers_hom_symm_apply, ← powers_hom_apply, equiv.apply_symm_apply]
419
437
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⦄
421
447
(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` -/
423
461
424
462
/-!
425
463
### Commutativity (again)
0 commit comments