-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Expand file tree
/
Copy pathDistribMulAction.lean
More file actions
37 lines (28 loc) · 1.12 KB
/
Copy pathDistribMulAction.lean
File metadata and controls
37 lines (28 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/-
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-/
import Mathlib.Algebra.Group.Submonoid.MulAction
import Mathlib.Algebra.GroupWithZero.Action.Defs
/-!
# Distributive actions by submonoids
-/
namespace Submonoid
variable {M α : Type*} [Monoid M]
variable {S : Type*} [SetLike S M] (s : S) [SubmonoidClass S M]
instance [AddMonoid α] [DistribMulAction M α] : DistribMulAction s α where
smul_zero r := smul_zero (r : M)
smul_add r := smul_add (r : M)
/-- The action by a submonoid is the action by the underlying monoid. -/
instance distribMulAction [AddMonoid α] [DistribMulAction M α] (S : Submonoid M) :
DistribMulAction S α :=
inferInstance
instance [Monoid α] [MulDistribMulAction M α] : MulDistribMulAction s α where
smul_mul r := smul_mul' (r : M)
smul_one r := smul_one (r : M)
/-- The action by a submonoid is the action by the underlying monoid. -/
instance mulDistribMulAction [Monoid α] [MulDistribMulAction M α] (S : Submonoid M) :
MulDistribMulAction S α :=
inferInstance
end Submonoid