Embedding conditionally linear presentations in a larger register #
Extending a presentation by zero along an injection preserves its evaluation, marginal, factor and linear-map queries. This puts the graph and content parts of detyping on disjoint registers without changing their query interfaces.
Read the coordinates in the image of an embedding.
Equations
- MIPRE.CL.pull e x i = x (e i)
Instances For
Restriction of the projection onto an embedded register.
Restriction of the projection onto the remaining registers.
Projection commutes with extension by zero.
The same register-linear operation on an embedded register.
Equations
- MIPRE.CL.RegLinear.embed e L = { toLinearMap := { toFun := fun (x : κ → F) => MIPRE.CL.push e (L (MIPRE.CL.pull e x)), map_add' := ⋯, map_smul' := ⋯ }, proj_comp_proj' := ⋯ }
Instances For
Extend every factor and map of a presentation along a coordinate injection.
Equations
- MIPRE.CL.CLFun.embed e MIPRE.CL.CLFun.zero = MIPRE.CL.CLFun.zero
- MIPRE.CL.CLFun.embed e (MIPRE.CL.CLFun.cons S L next) = MIPRE.CL.CLFun.cons (Finset.map e S) (MIPRE.CL.RegLinear.embed e L) fun (x : κ → F) => MIPRE.CL.CLFun.embed e (next (MIPRE.CL.pull e x))
Instances For
Embedded factors still partition precisely the embedded original register.
The embedded CL function acts only on its original coordinates.
Marginal queries are transported by the same coordinate embedding.
Factor queries from an arbitrary prefix commute with embedding.
Linear-map queries from an arbitrary prefix commute with embedding.