Skip to content

Commit bad5838

Browse files
committed
feat: lift star-preserving actions to actions between unitary groups
1 parent d24b0b7 commit bad5838

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

Mathlib/Algebra/Star/Unitary.lean

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,27 @@ lemma _root_.isStarNormal_of_mem_unitary {u : R} (hu : u ∈ unitary R) : IsStar
172172

173173
end Monoid
174174

175+
section SMul
176+
177+
variable {A : Type*} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A]
178+
[IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A]
179+
180+
instance : SMul (unitary R) (unitary A) where
181+
smul r a := ⟨r • a, by
182+
simp [Submonoid.smul_def, mem_iff, smul_smul, mul_smul_comm, smul_mul_assoc]⟩
183+
184+
@[simp]
185+
lemma coe_smul (r : unitary R) (a : unitary A) : ↑(r • a) = r • (a : A) := rfl
186+
187+
instance : MulAction (unitary R) (unitary A) where
188+
one_smul _ := Subtype.ext <| one_smul ..
189+
mul_smul _ _ _ := Subtype.ext <| mul_smul ..
190+
191+
instance : StarModule (unitary R) (unitary A) where
192+
star_smul _ _ := Subtype.ext <| star_smul (_ : R) _
193+
194+
end SMul
195+
175196
section Map
176197

177198
variable {F R S : Type*} [Monoid R] [StarMul R] [Monoid S] [StarMul S]

0 commit comments

Comments
 (0)