Skip to content

Commit 31ac489

Browse files
Feat(Algebra/Regular/SMul): Add some lemmas about IsSMulRegular (#13123)
Add some lemmas about `IsSMulRegular`.
1 parent 8720e50 commit 31ac489

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

Mathlib/Algebra/Regular/SMul.lean

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ Copyright (c) 2021 Damiano Testa. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Damiano Testa
55
-/
6-
import Mathlib.Algebra.SMulWithZero
76
import Mathlib.Algebra.Regular.Basic
7+
import Mathlib.GroupTheory.GroupAction.Hom
88

99
#align_import algebra.regular.smul from "leanprover-community/mathlib"@"550b58538991c8977703fdeb7c9d51a5aa27df11"
1010

@@ -122,6 +122,12 @@ theorem mul_and_mul_iff [Mul R] [IsScalarTower R R M] :
122122
exact ⟨ha.mul hb, hb.mul ha⟩
123123
#align is_smul_regular.mul_and_mul_iff IsSMulRegular.mul_and_mul_iff
124124

125+
lemma isSMulRegular_of_injective_of_isSMulRegular {N F} [SMul R N]
126+
[FunLike F M N] [MulActionHomClass F R M N] (f : F) {r : R}
127+
(h1 : Function.Injective f) (h2 : IsSMulRegular N r) : IsSMulRegular M r :=
128+
fun x y h3 => h1 <| h2 <| (map_smulₛₗ f r x).symm.trans <|
129+
(congrArg f h3).trans <| map_smulₛₗ f r y
130+
125131
end SMul
126132

127133
section Monoid
@@ -255,3 +261,20 @@ theorem IsUnit.isSMulRegular (ua : IsUnit a) : IsSMulRegular M a := by
255261
#align is_unit.is_smul_regular IsUnit.isSMulRegular
256262

257263
end Units
264+
265+
section SMulZeroClass
266+
267+
variable {M}
268+
269+
protected
270+
lemma IsSMulRegular.eq_zero_of_smul_eq_zero [Zero M] [SMulZeroClass R M]
271+
{r : R} {x : M} (h1 : IsSMulRegular M r) (h2 : r • x = 0) : x = 0 :=
272+
h1 (h2.trans (smul_zero r).symm)
273+
274+
end SMulZeroClass
275+
276+
lemma Equiv.isSMulRegular_congr {R S M M'} [SMul R M] [SMul S M'] {e : M ≃ M'}
277+
{r : R} {s : S} (h : ∀ x, e (r • x) = s • e x) :
278+
IsSMulRegular M r ↔ IsSMulRegular M' s :=
279+
(e.comp_injective _).symm.trans <|
280+
(iff_of_eq <| congrArg _ <| funext h).trans <| e.injective_comp _

0 commit comments

Comments
 (0)