Congruence relations respecting scalar multiplication #
A congruence relation that preserves additive action.
- iseqv : Equivalence ⇑self.toSetoid
A
VAddConis closed under additive action.
Instances For
A congruence relation that preserves scalar multiplication.
- iseqv : Equivalence ⇑self.toSetoid
A
SMulConis closed under scalar multiplication.
Instances For
structure
ModuleCon
(S : Type u_2)
(M : Type u_3)
[Add M]
[SMul S M]
extends AddCon M, SMulCon S M :
Type u_3
A congruence relation that preserves addition and scalar multiplication.
The quotient by a ModuleCon inherits DistribSMul, DistribMulAction, and Module instances.
- iseqv : Equivalence ⇑self.toSetoid
Instances For
instance
SMulCon.instSMulQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
(c : SMulCon S M)
:
SMul S (SMulCon.Quotient M c)
Equations
instance
VAddCon.instVAddQuotient
{S : Type u_2}
(M : Type u_3)
[VAdd S M]
(c : VAddCon S M)
:
VAdd S (VAddCon.Quotient M c)
Equations
instance
SMulCon.instZeroQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[Zero M]
(c : SMulCon S M)
:
Zero (SMulCon.Quotient M c)
Equations
instance
SMulCon.instSMulZeroClassQuotient
{S : Type u_2}
(M : Type u_3)
[Zero M]
[SMulZeroClass S M]
(c : SMulCon S M)
:
SMulZeroClass S (SMulCon.Quotient M c)
Equations
instance
SMulCon.instSMulWithZeroQuotient
{S : Type u_2}
(M : Type u_3)
[Zero S]
[Zero M]
[SMulWithZero S M]
(c : SMulCon S M)
:
SMulWithZero S (SMulCon.Quotient M c)
Equations
instance
SMulCon.instMulActionQuotient
{S : Type u_2}
(M : Type u_3)
[Monoid S]
[MulAction S M]
(c : SMulCon S M)
:
MulAction S (SMulCon.Quotient M c)
Equations
instance
VAddCon.instAddActionQuotient
{S : Type u_2}
(M : Type u_3)
[AddMonoid S]
[AddAction S M]
(c : VAddCon S M)
:
AddAction S (VAddCon.Quotient M c)
Equations
def
SMulCon.addConGen'
{S : Type u_2}
{M : Type u_3}
[AddZeroClass M]
[DistribSMul S M]
(r : M → M → Prop)
(hr : ∀ (s : S) {m m' : M}, r m m' → r (s • m) (s • m'))
:
ModuleCon S M
The AddCon generated by a relation respecting scalar multiplication is a ModuleCon.
Equations
Instances For
@[reducible, inline]
abbrev
SMulCon.addConGen
{S : Type u_2}
{M : Type u_3}
[AddZeroClass M]
[DistribSMul S M]
(c : SMulCon S M)
:
ModuleCon S M
The AddCon generated by a SMulCon is a ModuleCon.
Equations
Instances For
instance
ModuleCon.instSMulQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[Add M]
(c : ModuleCon S M)
:
SMul S (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instZeroQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[Zero M]
[Add M]
(c : ModuleCon S M)
:
Zero (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instAddQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[Add M]
(c : ModuleCon S M)
:
Add (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instAddZeroClassQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddZeroClass M]
(c : ModuleCon S M)
:
Equations
instance
ModuleCon.instAddCommMagmaQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddCommMagma M]
(c : ModuleCon S M)
:
Equations
instance
ModuleCon.instAddSemigroupQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddSemigroup M]
(c : ModuleCon S M)
:
Equations
instance
ModuleCon.instAddCommSemigroupQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddCommSemigroup M]
(c : ModuleCon S M)
:
Equations
instance
ModuleCon.instAddMonoidQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddMonoid M]
(c : ModuleCon S M)
:
AddMonoid (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instAddCommMonoidQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddCommMonoid M]
(c : ModuleCon S M)
:
Equations
instance
ModuleCon.instAddGroupQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddGroup M]
(c : ModuleCon S M)
:
AddGroup (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instAddCommGroupQuotient
{S : Type u_2}
(M : Type u_3)
[SMul S M]
[AddCommGroup M]
(c : ModuleCon S M)
:
Equations
instance
ModuleCon.instSMulZeroClassQuotient
{S : Type u_2}
(M : Type u_3)
[Zero M]
[Add M]
[SMulZeroClass S M]
(c : ModuleCon S M)
:
SMulZeroClass S (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instSMulWithZeroQuotient
{S : Type u_2}
(M : Type u_3)
[Zero S]
[Zero M]
[Add M]
[SMulWithZero S M]
(c : ModuleCon S M)
:
SMulWithZero S (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instMulActionQuotient
{S : Type u_2}
(M : Type u_3)
[Monoid S]
[Add M]
[MulAction S M]
(c : ModuleCon S M)
:
MulAction S (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instDistribSMulQuotient
{S : Type u_2}
(M : Type u_3)
[AddZeroClass M]
[DistribSMul S M]
(c : ModuleCon S M)
:
DistribSMul S (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instDistribMulActionQuotient
{S : Type u_2}
(M : Type u_3)
[Monoid S]
[AddMonoid M]
[DistribMulAction S M]
(c : ModuleCon S M)
:
DistribMulAction S (ModuleCon.Quotient M c)
Equations
instance
ModuleCon.instModuleQuotient
{S : Type u_2}
(M : Type u_3)
[Semiring S]
[AddCommMonoid M]
[Module S M]
(c : ModuleCon S M)
:
Module S (ModuleCon.Quotient M c)
Equations
def
ModuleCon.ker
{R : Type u_1}
{S : Type u_2}
{M : Type u_3}
{N : Type u_4}
[Monoid R]
[Monoid S]
[AddMonoid M]
[AddMonoid N]
[DistribMulAction R M]
[DistribMulAction S N]
{φ : R →* S}
(f : M →ₑ+[φ] N)
:
ModuleCon R M
The kernel of a DistribMulActionHom as a congruence relation.
Equations
Instances For
noncomputable def
ModuleCon.quotientKerEquivOfSurjective
{S : Type u_2}
{M : Type u_3}
{N : Type u_4}
[Semiring S]
[AddCommMonoid M]
[AddCommMonoid N]
[Module S M]
[Module S N]
(f : M →ₗ[S] N)
(hf : Function.Surjective ⇑f)
:
The first isomorphism theorem for semimodules in the case of a surjective homomorphism.