Documentation

Mathlib.Algebra.Module.Basic

Further basic results about modules. #

theorem map_inv_natCast_smul {M : Type u_3} {M₂ : Type u_4} [AddCommMonoid M] [AddCommMonoid M₂] {F : Type u_5} [FunLike F M M₂] [AddMonoidHomClass F M M₂] (f : F) (R : Type u_6) (S : Type u_7) [DivisionSemiring R] [DivisionSemiring S] [Module R M] [Module S M₂] (n : ) (x : M) :
f ((n)⁻¹ x) = (n)⁻¹ f x
theorem map_inv_intCast_smul {M : Type u_3} {M₂ : Type u_4} [AddCommGroup M] [AddCommGroup M₂] {F : Type u_5} [FunLike F M M₂] [AddMonoidHomClass F M M₂] (f : F) (R : Type u_6) (S : Type u_7) [DivisionRing R] [DivisionRing S] [Module R M] [Module S M₂] (z : ) (x : M) :
f ((z)⁻¹ x) = (z)⁻¹ f x
theorem map_ratCast_smul {M : Type u_3} {M₂ : Type u_4} [AddCommGroup M] [AddCommGroup M₂] {F : Type u_5} [FunLike F M M₂] [AddMonoidHomClass F M M₂] (f : F) (R : Type u_6) (S : Type u_7) [DivisionRing R] [DivisionRing S] [Module R M] [Module S M₂] (c : ) (x : M) :
f (c x) = c f x
theorem map_rat_smul {M : Type u_3} {M₂ : Type u_4} [AddCommGroup M] [AddCommGroup M₂] [_instM : Module M] [_instM₂ : Module M₂] {F : Type u_5} [FunLike F M M₂] [AddMonoidHomClass F M M₂] (f : F) (c : ) (x : M) :
f (c x) = c f x

There can be at most one Module ℚ E structure on an additive commutative group.

Equations
  • =
theorem inv_natCast_smul_eq {E : Type u_5} (R : Type u_6) (S : Type u_7) [AddCommMonoid E] [DivisionSemiring R] [DivisionSemiring S] [Module R E] [Module S E] (n : ) (x : E) :
(n)⁻¹ x = (n)⁻¹ x

If E is a vector space over two division semirings R and S, then scalar multiplications agree on inverses of natural numbers in R and S.

theorem inv_intCast_smul_eq {E : Type u_5} (R : Type u_6) (S : Type u_7) [AddCommGroup E] [DivisionRing R] [DivisionRing S] [Module R E] [Module S E] (n : ) (x : E) :
(n)⁻¹ x = (n)⁻¹ x

If E is a vector space over two division rings R and S, then scalar multiplications agree on inverses of integer numbers in R and S.

theorem inv_natCast_smul_comm {α : Type u_5} {E : Type u_6} (R : Type u_7) [AddCommMonoid E] [DivisionSemiring R] [Monoid α] [Module R E] [DistribMulAction α E] (n : ) (s : α) (x : E) :
(n)⁻¹ s x = s (n)⁻¹ x

If E is a vector space over a division semiring R and has a monoid action by α, then that action commutes by scalar multiplication of inverses of natural numbers in R.

theorem inv_intCast_smul_comm {α : Type u_5} {E : Type u_6} (R : Type u_7) [AddCommGroup E] [DivisionRing R] [Monoid α] [Module R E] [DistribMulAction α E] (n : ) (s : α) (x : E) :
(n)⁻¹ s x = s (n)⁻¹ x

If E is a vector space over a division ring R and has a monoid action by α, then that action commutes by scalar multiplication of inverses of integers in R

theorem ratCast_smul_eq {E : Type u_5} (R : Type u_6) (S : Type u_7) [AddCommGroup E] [DivisionRing R] [DivisionRing S] [Module R E] [Module S E] (r : ) (x : E) :
r x = r x

If E is a vector space over two division rings R and S, then scalar multiplications agree on rational numbers in R and S.

instance IsScalarTower.rat {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Module R] [Module M] :
Equations
  • =
instance SMulCommClass.rat {R : Type u} {M : Type v} [Semiring R] [AddCommGroup M] [Module R M] [Module M] :
Equations
  • =
instance SMulCommClass.rat' {R : Type u} {M : Type v} [Semiring R] [AddCommGroup M] [Module R M] [Module M] :
Equations
  • =
@[instance 100]

This instance applies to DivisionSemirings, in particular NNReal and NNRat.

Equations
  • =
@[instance 100]
Equations
  • =
theorem Function.support_smul_subset_left {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] (f : αR) (g : αM) :
theorem Function.support_smul_subset_right {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero M] [SMulZeroClass R M] (f : αR) (g : αM) :
theorem Function.support_const_smul_of_ne_zero {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] (c : R) (g : αM) (hc : c 0) :
theorem Function.support_smul {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] (f : αR) (g : αM) :
theorem Function.support_const_smul_subset {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero M] [SMulZeroClass R M] (a : R) (f : αM) :
theorem Set.indicator_smul_apply {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero M] [SMulZeroClass R M] (s : Set α) (r : αR) (f : αM) (a : α) :
s.indicator (fun (a : α) => r a f a) a = r a s.indicator f a
theorem Set.indicator_smul {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero M] [SMulZeroClass R M] (s : Set α) (r : αR) (f : αM) :
(s.indicator fun (a : α) => r a f a) = fun (a : α) => r a s.indicator f a
theorem Set.indicator_const_smul_apply {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero M] [SMulZeroClass R M] (s : Set α) (r : R) (f : αM) (a : α) :
s.indicator (fun (x : α) => r f x) a = r s.indicator f a
theorem Set.indicator_const_smul {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero M] [SMulZeroClass R M] (s : Set α) (r : R) (f : αM) :
(s.indicator fun (x : α) => r f x) = fun (x : α) => r s.indicator f x
theorem Set.indicator_smul_apply_left {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] (s : Set α) (r : αR) (f : αM) (a : α) :
s.indicator (fun (a : α) => r a f a) a = s.indicator r a f a
theorem Set.indicator_smul_left {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] (s : Set α) (r : αR) (f : αM) :
(s.indicator fun (a : α) => r a f a) = fun (a : α) => s.indicator r a f a
theorem Set.indicator_smul_const_apply {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] (s : Set α) (r : αR) (m : M) (a : α) :
s.indicator (fun (x : α) => r x m) a = s.indicator r a m
theorem Set.indicator_smul_const {α : Type u_1} {R : Type u_2} {M : Type u_3} [Zero R] [Zero M] [SMulWithZero R M] (s : Set α) (r : αR) (m : M) :
(s.indicator fun (x : α) => r x m) = fun (x : α) => s.indicator r x m