Nested values under a homomorphism, at every storey #
A homomorphism f : K → K' relates an evaluation over K and one over
K' row by row, and a second-level aggregation builds, from two related
groups of rows, two nested values. Their worlds correspond
(NestedValue.WCorr), and that is what every reading of a nested value
asks of them: this module proves it at every storey (wcorr_of_rel).
The two values are related family by family (NestInner.Rel). An
expression family is presented on each side by a listing, the target's a
tie-block permutation of the source's pushed through f, through the same
readings (ListingRel); such a pair moves positions along a bijection
under which every selection reads the same rows (ListingRel.move, off
TiePerm.exists_equiv). A node's occurrences are the two sides of one
bag of pairs, annotations pushed through f and inner values related.
Where two related families have one key on one side exactly when they
have one on the other (KeysFaithful – which a coherent evaluation gives),
both sides' worlds are the images of one bag of indices: a decision over
the root's pairs, a set of positions of each expression family, and a
decision over the pairs of each node, chosen once per node (Zof).
One position more at the front, kept at the front.
Equations
- TiePerm.liftEquiv π = (finSuccEquiv n).trans (π.optionCongr.trans (finSuccEquiv m).symm)
Instances For
Dependency graph
A tie-block permutation moves the elements along a bijection of positions, and a selection carried along it reads the same rows, in the same order, as long as tied elements read alike.
Dependency graph
A listing pair moves positions #
Dependency graph
The positions a listing pair moves, chosen.
Equations
- D.move = Classical.choose ⋯
Instances For
Dependency graph
Two towers related under a homomorphism #
How two inner values correspond under a homomorphism, storey by
storey. At storey 0 the two expressions belong to one family, presented
on each side by the listing the family is given (lp), through the same
readings; above, two nodes with the same outer aggregate and convention,
whose occurrences are the two sides of one bag of pairs – annotations
pushed through f, inner values corresponding. LG and NG restrict which
pairs are considered: the hypotheses of wcorr_of_rel are stated on them.
Equations
- One or more equations did not get rendered due to their size.
- NestInner.Rel f lp LG NG j.succ (Sum.inl x') (Sum.inl x_3) = NestInner.Rel f lp LG NG j x' x_3
- NestInner.Rel f lp LG NG n.succ (Sum.inl val) (Sum.inr val_1) = False
- NestInner.Rel f lp LG NG n.succ (Sum.inr val) (Sum.inl val_1) = False
Instances For
Dependency graph
The key a related expression family has on the target side.
Instances For
Dependency graph
The nodes, decided once #
The bag of pairs a related node pair is the two sides of.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The bag of pairs chosen for a node, by key: one for all the copies of the node.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The key a related node has on the target side, at its storey.
Equations
Instances For
Dependency graph
The key a related node has on the target side.
Instances For
Dependency graph
Enumerations carried along #
The positions of a family of length n a set of numbers names.
Instances For
Dependency graph
The positions a listing pair moves a set of positions to.
Equations
- D.moveS S = Finset.map Fin.valEmbedding (Finset.map D.move.toEmbedding (finsOf S))
Instances For
Dependency graph
The worlds of two related towers correspond #
A decision about a node, over a bag of pairs.
Equations
Instances For
Dependency graph
One more node, decided over its chosen pairs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The source side of a decision about a node.
Equations
Instances For
Dependency graph
The target side of a decision about a node.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
What a pair of related towers asks of its families: two related expression families have one key on one side exactly when they have one on the other, and so do two related nodes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Two related towers have corresponding worlds. The source's worlds and the target's are the images of one bag of indices: a decision over the pairs of the root's occurrences, a set of positions of each expression family the source holds – moved, on the target, by the family's listing pair – and a decision over the chosen pairs of each node it holds.