Transfer algebraic structures across Equiv
s #
This continues the pattern set in Mathlib/Algebra/Group/TransferInstance.lean
.
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- Equiv.instSMulShrink R = Equiv.smul R (equivShrink α).symm
Equations
- Equiv.instPowShrink N = Equiv.pow N (equivShrink α).symm
Shrink α
to a smaller universe preserves multiplication.
Equations
Instances For
Shrink α
to a smaller universe preserves addition.
Equations
Instances For
Shrink α
to a smaller universe preserves ring structure.
Equations
Instances For
Equations
Equations
Transfer SemigroupWithZero
across an Equiv
Equations
Instances For
Equations
Equations
Equations
Transfer MulZeroClass
across an Equiv
Equations
- e.mulZeroClass = Function.Injective.mulZeroClass ⇑e ⋯ ⋯ ⋯
Instances For
Equations
Equations
Equations
Transfer MulZeroOneClass
across an Equiv
Equations
- e.mulZeroOneClass = Function.Injective.mulZeroOneClass ⇑e ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Transfer NonUnitalNonAssocSemiring
across an Equiv
Equations
Instances For
Transfer NonUnitalSemiring
across an Equiv
Equations
- e.nonUnitalSemiring = Function.Injective.nonUnitalSemiring ⇑e ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Transfer AddMonoidWithOne
across an Equiv
Equations
Instances For
Equations
Transfer AddGroupWithOne
across an Equiv
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Transfer NonAssocSemiring
across an Equiv
Equations
- e.nonAssocSemiring = Function.Injective.nonAssocSemiring ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Equations
Transfer NonUnitalCommSemiring
across an Equiv
Equations
- e.nonUnitalCommSemiring = Function.Injective.nonUnitalCommSemiring ⇑e ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Transfer CommSemiring
across an Equiv
Equations
- e.commSemiring = Function.Injective.commSemiring ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Transfer NonUnitalNonAssocRing
across an Equiv
Equations
- e.nonUnitalNonAssocRing = Function.Injective.nonUnitalNonAssocRing ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Transfer NonUnitalRing
across an Equiv
Equations
- e.nonUnitalRing = Function.Injective.nonUnitalRing ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Transfer NonAssocRing
across an Equiv
Equations
- e.nonAssocRing = Function.Injective.nonAssocRing ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Equations
Transfer NonUnitalCommRing
across an Equiv
Equations
- e.nonUnitalCommRing = Function.Injective.nonUnitalCommRing ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Equations
Equations
Equations
Transfer DivisionRing
across an Equiv
Equations
- e.divisionRing = Function.Injective.divisionRing ⇑e ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
Equations
Equations
Transfer DistribMulAction
across an Equiv
Equations
- Equiv.distribMulAction R e = { toMulAction := Equiv.mulAction R e, smul_zero := ⋯, smul_add := ⋯ }
Instances For
Equations
Transfer Module
across an Equiv
Equations
- @Equiv.module α β R inst✝¹ e inst✝ = fun [Module R β] => let __src := Equiv.distribMulAction R e; { toDistribMulAction := __src, add_smul := ⋯, zero_smul := ⋯ }
Instances For
Equations
An equivalence e : α ≃ β
gives a linear equivalence α ≃ₗ[R] β
where the R
-module structure on α
is
the one obtained by transporting an R
-module structure on β
back along e
.
Equations
Instances For
Shrink α
to a smaller universe preserves module structure.
Equations
- Shrink.linearEquiv α R = Equiv.linearEquiv R (equivShrink α).symm
Instances For
Transfer Algebra
across an Equiv
Equations
- @Equiv.algebra α β R inst✝¹ e inst✝ = fun [Algebra R β] => Algebra.ofModule ⋯ ⋯
Instances For
Equations
An equivalence e : α ≃ β
gives an algebra equivalence α ≃ₐ[R] β
where the R
-algebra structure on α
is
the one obtained by transporting an R
-algebra structure on β
back along e
.
Equations
Instances For
Shrink α
to a smaller universe preserves algebra structure.
Equations
- Shrink.algEquiv α R = Equiv.algEquiv R (equivShrink α).symm
Instances For
Transport a module instance via an isomorphism of the underlying abelian groups.
This has better definitional properties than Equiv.module
since here
the abelian group structure remains unmodified.
Equations
- AddEquiv.module A e = { toSMul := Equiv.smul A e.toEquiv, one_smul := ⋯, mul_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
Instances For
The module instance from AddEquiv.module
is compatible with the R
-module structures,
if the AddEquiv
is induced by an R
-module isomorphism.