Pi types of modules #
This file defines constructors for linear maps whose domains or codomains are pi types.
It contains theorems relating these to each other, as well as to LinearMap.ker.
Main definitions #
- pi types in the codomain:
- pi types in the domain:
pi construction for linear functions. From a family of linear functions it produces a linear
function into a family of modules.
Equations
Instances For
The constant linear map, taking x to Function.const ι x.
Equations
Instances For
The projections from a family of modules are linear maps.
Note: this definition would be called Pi.evalLinearMap if we followed the pattern established by
Pi.evalAddHom, Pi.evalMonoidHom, Pi.evalRingHom, ...
Equations
Instances For
Linear map between the function spaces I → M₂ and I → M₃, induced by a linear map f
between M₂ and M₃.
Equations
Instances For
The LinearMap version of AddMonoidHom.single and Pi.single.
Equations
Instances For
The linear equivalence between linear functions on a finite product of modules and families of functions on these modules. See note [bundled maps over different rings].
Equations
Instances For
This is used as the ext lemma instead of LinearMap.pi_ext for reasons explained in
note [partially-applied ext lemmas].
If I and J are disjoint index sets, the product of the kernels of the Jth projections of
φ is linearly equivalent to the product over I.
Equations
Instances For
diag i j is the identity map if i = j. Otherwise it is the constant 0 map.
Equations
Instances For
A linear map f applied to x : ι → R can be computed using the image under f of elements
of the canonical basis.
A version of Set.pi for submodules. Given an index set I and a family of submodules
p : (i : ι) → Submodule R (φ i), pi I s is the submodule of dependent functions
f : (i : ι) → φ i such that f i belongs to p a whenever i ∈ I.
Equations
Instances For
Combine a family of linear equivalences into a linear equivalence of pi-types.
This is Equiv.piCongrRight as a LinearEquiv
Equations
Instances For
Transport dependent functions through an equivalence of the base space.
This is Equiv.piCongrLeft' as a LinearEquiv.
Equations
Instances For
Transporting dependent functions through an equivalence of the base, expressed as a "simplification".
This is Equiv.piCongrLeft as a LinearEquiv
Equations
Instances For
Equiv.piCurry as a LinearEquiv.
Equations
Instances For
This is Equiv.piOptionEquivProd as a LinearEquiv
Equations
Instances For
Linear equivalence between linear functions Rⁿ → M and Mⁿ. The spaces Rⁿ and Mⁿ
are represented as ι → R and ι → M, respectively, where ι is a finite type.
This as an S-linear equivalence, under the assumption that S acts on M commuting with R.
When R is commutative, we can take this to be the usual action with S = R.
Otherwise, S = ℕ shows that the equivalence is additive.
See note [bundled maps over different rings].
Equations
Instances For
Equiv.sumArrowEquivProdArrow as a linear equivalence.
Equations
Instances For
Function.extend s f 0 as a bundled linear map.
Equations
Instances For
Fin.consEquiv as a continuous linear equivalence.
Equations
Instances For
Bundled versions of Matrix.vecCons and Matrix.vecEmpty #
The idea of these definitions is to be able to define a map as x ↦ ![f₁ x, f₂ x, f₃ x], where
f₁ f₂ f₃ are already linear maps, as f₁.vecCons <| f₂.vecCons <| f₃.vecCons <| vecEmpty.
While the same thing could be achieved using LinearMap.pi ![f₁, f₂, f₃], this is not
definitionally equal to the result using LinearMap.vecCons, as Fin.cases and function
application do not commute definitionally.
Versions for when f₁ f₂ f₃ are bilinear maps are also provided.
The linear map defeq to Matrix.vecEmpty
Equations
Instances For
A linear map into Fin n.succ → M₃ can be built out of a map into M₃ and a map into
Fin n → M₃.
Equations
Instances For
To show a property motive of modules holds for arbitrary finite products of modules, it suffices
to show
motiveis stable under isomorphism.motiveholds for the zero module.motiveholds forM × Nif it holds for bothMandN.
Since we need to apply motive to modules in Type u and in Type (max u v), there is a second
motive' argument which is required to be equivalent to motive up to universe lifting by equiv.
See Module.pi_induction' for a version where motive assumes AddCommGroup instead.
The empty bilinear map defeq to Matrix.vecEmpty
Equations
Instances For
A bilinear map into Fin n.succ → M₃ can be built out of a map into M₃ and a map into
Fin n → M₃
Equations
Instances For
A variant of Module.pi_induction that assumes AddCommGroup instead of AddCommMonoid.