Equations
- PUnit.algebra = Algebra.mk { toFun := fun (x : R) => PUnit.unit, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
Equations
- One or more equations did not get rendered due to their size.
Algebra over a subsemiring. This builds upon Subsemiring.module.
Equations
- Algebra.ofSubsemiring S = Algebra.mk ((algebraMap R A).comp S.subtype) ⋯ ⋯
Algebra over a subring. This builds upon Subring.module.
Equations
- Algebra.ofSubring S = Algebra.mk ((algebraMap R A).comp S.subtype) ⋯ ⋯
Explicit characterization of the submonoid map in the case of an algebra.
S is made explicit to help with type inference
Equations
- Algebra.algebraMapSubmonoid S M = Submonoid.map (algebraMap R S) M
Instances For
A Semiring that is an Algebra over a commutative ring carries a natural Ring structure.
See note [reducible non-instances].
Equations
- Algebra.semiringToRing R = let __spread.0 := inferInstance; let __spread.1 := Module.addCommMonoidToAddCommGroup R; Ring.mk ⋯ SubNegMonoid.zsmul ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
- Module.End.instAlgebra R S M = Algebra.ofModule ⋯ ⋯
An alternate statement of LinearMap.map_smul for when algebraMap is more convenient to
work with than •.
Equations
- ⋯ = ⋯
Equations
- algebraRat = Algebra.mk (Rat.castHom α) ⋯ ⋯
The rational numbers are an algebra over the non-negative rationals.
Equations
- instAlgebraNNRatRat = NNRat.coeHom.toAlgebra
Equations
- ⋯ = ⋯
A special case of eq_intCast' that happens to be true definitionally
Equations
- ⋯ = ⋯
If algebraMap R A is injective and A has no zero divisors,
R-multiples in A are zero only if one of the factors is zero.
Cannot be an instance because there is no Injective (algebraMap R A) typeclass.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A-linearly coerce an R-linear map from M to A to a function, given an algebra A over
a commutative semiring R and M a module over R.
Equations
- LinearMap.ltoFun R M A = { toFun := fun (f : M →ₗ[R] A) => f.toFun, map_add' := ⋯, map_smul' := ⋯ }
Instances For
TODO: The following lemmas no longer involve Algebra at all, and could be moved closer
to Algebra/Module/Submodule.lean. Currently this is tricky because ker, range, ⊤, and ⊥
are all defined in LinearAlgebra/Basic.lean.
If there is a linear map f : A →ₗ[R] B that preserves 1, then algebraMap R B r is
invertible when algebraMap R A r is.
Equations
- Invertible.algebraMapOfInvertibleAlgebraMap f hf h = { invOf := f ⅟((algebraMap R A) r), invOf_mul_self := ⋯, mul_invOf_self := ⋯ }
Instances For
If there is a linear map f : A →ₗ[R] B that preserves 1, then algebraMap R B r is
a unit when algebraMap R A r is.
If E is an F-algebra, and there exists an injective F-linear map from F to E,
then the algebra map from F to E is also injective.
If E is an F-algebra, and there exists a surjective F-linear map from F to E,
then the algebra map from F to E is also surjective.
If E is an F-algebra, and there exists a bijective F-linear map from F to E,
then the algebra map from F to E is also bijective.
NOTE: The same result can also be obtained if there are two F-linear maps from F to E,
one is injective, the other one is surjective. In this case, use
injective_algebraMap_of_linearMap and surjective_algebraMap_of_linearMap separately.
If E is an F-algebra, there exists an F-linear isomorphism from F to E (namely,
E is a free F-module of rank one), then the algebra map from F to E is bijective.