Multiplication and division of submodules of an algebra. #
An interface for multiplication and division of sub-R-modules of an R-algebra A is developed.
Main definitions #
Let R be a commutative ring (or semiring) and let A be an R-algebra.
1 : Submodule R A: the R-submodule R of the R-algebra AMul (Submodule R A): multiplication of two sub-R-modules M and N of A is defined to be the smallest submodule containing all the productsm * n.Div (Submodule R A):I / Jis defined to be the submodule consisting of alla : Asuch thata • J ⊆ I
It is proved that Submodule R A is a semiring, and also an algebra over Set A.
Additionally, in the Pointwise locale we promote Submodule.pointwiseDistribMulAction to a
MulSemiringAction as Submodule.pointwiseMulSemiringAction.
Tags #
multiplication of submodules, division of submodules, submodule semiring
1 : Submodule R A is the submodule R of A.
Equations
- Submodule.one = { one := LinearMap.range (Algebra.linearMap R A) }
Multiplication of sub-R-modules of an R-algebra A. The submodule M * N is the
smallest R-submodule of A containing the elements m * n for m ∈ M and n ∈ N.
Equations
- Submodule.mul = { mul := Submodule.map₂ (LinearMap.mul R A) }
A dependent version of mul_induction_on.
Submodule.pointwiseNeg distributes over multiplication.
This is available as an instance in the Pointwise locale.
Equations
- Submodule.hasDistribPointwiseNeg = Function.Injective.hasDistribNeg Submodule.toAddSubmonoid ⋯ ⋯ ⋯
Instances For
Sub-R-modules of an R-algebra form an idempotent semiring.
Equations
- One or more equations did not get rendered due to their size.
Dependent version of Submodule.pow_induction_on_left.
Dependent version of Submodule.pow_induction_on_right.
To show a property on elements of M ^ n holds, it suffices to show that it holds for scalars,
is closed under addition, and holds for m * x where m ∈ M and it holds for x
To show a property on elements of M ^ n holds, it suffices to show that it holds for scalars,
is closed under addition, and holds for x * m where m ∈ M and it holds for x
Submonoid.map as a MonoidWithZeroHom, when applied to AlgHoms.
Equations
- Submodule.mapHom f = { toFun := Submodule.map f.toLinearMap, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The ring of submodules of the opposite algebra is isomorphic to the opposite ring of submodules.
Equations
- One or more equations did not get rendered due to their size.
Instances For
span is a semiring homomorphism (recall multiplication is pointwise multiplication of subsets
on either side).
Equations
- Submodule.span.ringHom = { toFun := fun (s : SetSemiring A) => Submodule.span R (SetSemiring.down s), map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the Pointwise locale.
This is a stronger version of Submodule.pointwiseDistribMulAction.
Equations
- Submodule.pointwiseMulSemiringAction = let __src := Submodule.pointwiseDistribMulAction; MulSemiringAction.mk ⋯ ⋯
Instances For
Sub-R-modules of an R-algebra A form a semiring.
Equations
- Submodule.instIdemCommSemiring = let __src := Submodule.idemSemiring; IdemCommSemiring.mk ⋯ IdemSemiring.bot ⋯
R-submodules of the R-algebra A are a module over Set A.
Equations
- Submodule.moduleSet R A = Module.mk ⋯ ⋯
The elements of I / J are the x such that x • J ⊆ I.
In fact, we define x ∈ I / J to be ∀ y ∈ J, x * y ∈ I (see mem_div_iff_forall_mul_mem),
which is equivalent to x • J ⊆ I (see mem_div_iff_smul_subset), but nicer to use in proofs.
This is the general form of the ideal quotient, traditionally written $I : J$.