Skip to content

Commit 6993538

Browse files
committed
feat: a star monoid homomorphism induces a monoid homomorphism on unitary submonoids (#10370)
This adds a few facts related to `unitary` elements and their behavior with respect to star monoid homomorphisms.
1 parent 5dde421 commit 6993538

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

Mathlib/Algebra/Star/Unitary.lean

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,27 @@ theorem to_units_injective : Function.Injective (toUnits : unitary R → Rˣ) :=
141141

142142
end Monoid
143143

144+
section Map
145+
146+
variable {F R S : Type*} [Monoid R] [StarMul R] [Monoid S] [StarMul S]
147+
variable [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F)
148+
149+
lemma map_mem {r : R} (hr : r ∈ unitary R) : f r ∈ unitary S := by
150+
rw [unitary.mem_iff] at hr
151+
simpa [map_star, map_mul] using And.intro congr(f $(hr.1)) congr(f $(hr.2))
152+
153+
/-- The group homomorphism between unitary subgroups of star monoids induced by a star
154+
homomorphism -/
155+
@[simps]
156+
def map : unitary R →* unitary S where
157+
toFun := Subtype.map f (fun _ ↦ map_mem f)
158+
map_one' := Subtype.ext <| map_one f
159+
map_mul' _ _ := Subtype.ext <| map_mul f _ _
160+
161+
lemma toUnits_comp_map : toUnits.comp (map f) = (Units.map f).comp toUnits := by ext; rfl
162+
163+
end Map
164+
144165
section CommMonoid
145166

146167
variable [CommMonoid R] [StarMul R]

0 commit comments

Comments
 (0)