Documentation

Mathlib.Algebra.MonoidAlgebra.Support

Lemmas about the support of a finitely supported function #

theorem MonoidAlgebra.support_single_mul_subset {k : Type u₁} {G : Type u₂} [Semiring k] [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
(MonoidAlgebra.single a r * f).support Finset.image ((fun x x_1 => x * x_1) a) f.support
theorem MonoidAlgebra.support_mul_single_subset {k : Type u₁} {G : Type u₂} [Semiring k] [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
(f * MonoidAlgebra.single a r).support Finset.image (fun x => x * a) f.support
theorem MonoidAlgebra.support_single_mul_eq_image {k : Type u₁} {G : Type u₂} [Semiring k] [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k} (hr : ∀ (y : k), r * y = 0 y = 0) {x : G} (lx : IsLeftRegular x) :
(MonoidAlgebra.single x r * f).support = Finset.image ((fun x x_1 => x * x_1) x) f.support
theorem MonoidAlgebra.support_mul_single_eq_image {k : Type u₁} {G : Type u₂} [Semiring k] [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k} (hr : ∀ (y : k), y * r = 0 y = 0) {x : G} (rx : IsRightRegular x) :
(f * MonoidAlgebra.single x r).support = Finset.image (fun x => x * x) f.support
theorem MonoidAlgebra.support_mul {k : Type u₁} {G : Type u₂} [Semiring k] [Mul G] [DecidableEq G] (a : MonoidAlgebra k G) (b : MonoidAlgebra k G) :
(a * b).support Finset.biUnion a.support fun a₁ => Finset.biUnion b.support fun a₂ => {a₁ * a₂}
theorem MonoidAlgebra.support_mul_single {k : Type u₁} {G : Type u₂} [Semiring k] [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k) (hr : ∀ (y : k), y * r = 0 y = 0) (x : G) :
(f * MonoidAlgebra.single x r).support = Finset.map (mulRightEmbedding x) f.support
theorem MonoidAlgebra.support_single_mul {k : Type u₁} {G : Type u₂} [Semiring k] [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r : k) (hr : ∀ (y : k), r * y = 0 y = 0) (x : G) :
(MonoidAlgebra.single x r * f).support = Finset.map (mulLeftEmbedding x) f.support
theorem MonoidAlgebra.mem_span_support {k : Type u₁} {G : Type u₂} [Semiring k] [MulOneClass G] (f : MonoidAlgebra k G) :
f Submodule.span k (↑(MonoidAlgebra.of k G) '' f.support)

An element of MonoidAlgebra k G is in the subalgebra generated by its support.

theorem AddMonoidAlgebra.support_mul {k : Type u₁} {G : Type u₂} [Semiring k] [DecidableEq G] [Add G] (a : AddMonoidAlgebra k G) (b : AddMonoidAlgebra k G) :
(a * b).support Finset.biUnion a.support fun a₁ => Finset.biUnion b.support fun a₂ => {a₁ + a₂}
theorem AddMonoidAlgebra.support_mul_single {k : Type u₁} {G : Type u₂} [Semiring k] [AddRightCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k) (hr : ∀ (y : k), y * r = 0 y = 0) (x : G) :
theorem AddMonoidAlgebra.support_single_mul {k : Type u₁} {G : Type u₂} [Semiring k] [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k) (hr : ∀ (y : k), r * y = 0 y = 0) (x : G) :
(AddMonoidAlgebra.single x r * f).support = Finset.map (addLeftEmbedding x) f.support
theorem AddMonoidAlgebra.mem_span_support {k : Type u₁} {G : Type u₂} [Semiring k] [AddZeroClass G] (f : AddMonoidAlgebra k G) :
f Submodule.span k (↑(AddMonoidAlgebra.of k G) '' f.support)

An element of k[G] is in the submodule generated by its support.

theorem AddMonoidAlgebra.mem_span_support' {k : Type u₁} {G : Type u₂} [Semiring k] (f : AddMonoidAlgebra k G) :
f Submodule.span k (AddMonoidAlgebra.of' k G '' f.support)

An element of k[G] is in the subalgebra generated by its support, using unbundled inclusion.