@@ -64,37 +64,61 @@ end MulHom
6464
6565section MulHom
6666
67- /-- A family of MulHom's `f a : γ →ₙ* β a` defines a MulHom `Pi.mulHom f : γ →ₙ* Π a, β a`
68- given by `Pi.mulHom f x b = f b x`. -/
67+ /-- A family of MulHom's `f a : γ →ₙ* β a` defines a MulHom `MulHom.pi f : γ →ₙ* Π a, β a`
68+ given by `MulHom.pi f x b = f b x`. -/
6969@ [to_additive (attr := simps)
70- /-- A family of AddHom's `f a : γ → β a` defines an AddHom `Pi.addHom f : γ → Π a, β a` given by
71- `Pi.addHom f x b = f b x`. -/ ]
72- def Pi.mulHom {γ : Type w} [∀ i, Mul (f i)] [Mul γ] (g : ∀ i, γ →ₙ* f i) : γ →ₙ* ∀ i, f i where
70+ /-- A family of AddHom's `f a : γ → β a` defines an AddHom `AddHom.pi f : γ → Π a, β a` given by
71+ `AddHom.pi f x b = f b x`. -/ ]
72+ def MulHom.pi {γ : Type w} [∀ i, Mul (f i)] [Mul γ] (g : ∀ i, γ →ₙ* f i) : γ →ₙ* ∀ i, f i where
7373 toFun x i := g i x
7474 map_mul' x y := funext fun i => (g i).map_mul x y
7575
76+ @ [deprecated (since := "2026-05-29" )] alias Pi.addHom := AddHom.pi
77+ @ [to_additive existing (attr := deprecated "MulHom.pi" (since := "2026-05-29" ))] alias
78+ Pi.mulHom := MulHom.pi
79+
80+ @ [deprecated (since := "2026-05-29" )] alias Pi.addHom_apply := AddHom.pi_apply
81+ @ [to_additive existing (attr := deprecated "MulHom.pi_apply" (since := "2026-05-29" ))] alias
82+ Pi.mulHom_apply := MulHom.pi_apply
83+
7684@[to_additive]
77- theorem Pi.mulHom_injective {γ : Type w} [Nonempty I] [∀ i, Mul (f i)] [Mul γ] (g : ∀ i, γ →ₙ* f i)
78- (hg : ∀ i, Function.Injective (g i)) : Function.Injective (Pi.mulHom g) := fun _ _ h =>
85+ theorem MulHom.injective_pi {γ : Type w} [Nonempty I] [∀ i, Mul (f i)] [Mul γ] (g : ∀ i, γ →ₙ* f i)
86+ (hg : ∀ i, Function.Injective (g i)) : Function.Injective (MulHom.pi g) := fun _ _ h =>
7987 let ⟨i⟩ := ‹Nonempty I›
8088 hg i ((funext_iff.mp h :) i)
8189
90+ @ [deprecated (since := "2026-05-29" )] alias Pi.addHom_injective := AddHom.injective_pi
91+ @ [to_additive existing (attr := deprecated "MulHom.injective_pi" (since := "2026-05-29" ))] alias
92+ Pi.mulHom_injective := MulHom.injective_pi
93+
8294/-- A family of monoid homomorphisms `f a : γ →* β a` defines a monoid homomorphism
8395`Pi.monoidHom f : γ →* Π a, β a` given by `Pi.monoidHom f x b = f b x`. -/
8496@ [to_additive (attr := simps)
8597 /-- A family of additive monoid homomorphisms `f a : γ →+ β a` defines a monoid homomorphism
8698 `Pi.addMonoidHom f : γ →+ Π a, β a` given by `Pi.addMonoidHom f x b = f b x`. -/ ]
87- def Pi.monoidHom {γ : Type w} [∀ i, MulOneClass (f i)] [MulOneClass γ] (g : ∀ i, γ →* f i) :
99+ def MonoidHom.pi {γ : Type w} [∀ i, MulOneClass (f i)] [MulOneClass γ] (g : ∀ i, γ →* f i) :
88100 γ →* ∀ i, f i :=
89- { Pi.mulHom fun i => (g i).toMulHom with
101+ { MulHom.pi fun i => (g i).toMulHom with
90102 toFun := fun x i => g i x
91103 map_one' := funext fun i => (g i).map_one }
92104
105+ @ [deprecated (since := "2026-05-29" )] alias Pi.addMonoidHom := AddMonoidHom.pi
106+ @ [to_additive existing (attr := deprecated "MonoidHom.pi" (since := "2026-05-29" ))] alias
107+ Pi.monoidHom := MonoidHom.pi
108+
109+ @ [deprecated (since := "2026-05-29" )] alias Pi.addMonoidHom_apply := AddMonoidHom.pi_apply
110+ @ [to_additive existing (attr := deprecated "MonoidHom.pi_apply" (since := "2026-05-29" ))] alias
111+ Pi.monoidHom_apply := MonoidHom.pi_apply
112+
93113@[to_additive]
94- theorem Pi.monoidHom_injective {γ : Type w} [Nonempty I] [∀ i, MulOneClass (f i)] [MulOneClass γ]
114+ theorem MonoidHom.injective_pi {γ : Type w} [Nonempty I] [∀ i, MulOneClass (f i)] [MulOneClass γ]
95115 (g : ∀ i, γ →* f i) (hg : ∀ i, Function.Injective (g i)) :
96- Function.Injective (Pi.monoidHom g) :=
97- Pi.mulHom_injective (fun i => (g i).toMulHom) hg
116+ Function.Injective (MonoidHom.pi g) :=
117+ MulHom.injective_pi (fun i => (g i).toMulHom) hg
118+
119+ @ [deprecated (since := "2026-05-29" )] alias Pi.addMonoidHom_injective := AddMonoidHom.injective_pi
120+ @ [to_additive existing (attr := deprecated "MonoidHom.injective_pi" (since := "2026-05-29" ))] alias
121+ Pi.monoidHom_injective := MonoidHom.injective_pi
98122
99123variable (f)
100124variable [(i : I) → Mul (f i)]
0 commit comments