Displayed families over PFunctor.FreeM #
This file defines displayed algebras over the free monad of a polynomial functor.
For a polynomial/container P, a payload type α, and a tree
s : PFunctor.FreeM P α, FreeM.Displayed D s is the family obtained by
interpreting terminal payloads through D.leaf and internal positions through
D.node.
This is the common substrate behind several familiar structures:
- decorations, where each node stores metadata and recursively decorates every child;
- paths, where each node chooses one child and recursively follows that child;
- compact observations, where some nodes may be skipped or otherwise reinterpreted.
Categorically, this is the displayed algebra generated over the initial
FreeM algebra. A Displayed.Section D is a global dependent section: it
chooses data in the displayed fiber over every tree. Constructor-local fold
data produces such a section via Displayed.Section.ofConstructors.
A large algebra generating displayed fibers over FreeM P α.
The leaf argument interprets terminal payloads. The node argument
interprets a polynomial position a : P.A, given the already-generated
displayed fibers for each child b : P.B a.
Special cases include node decorations, branch paths, and compact observation views that suppress uninformative nodes.
- leaf : α → Sort w
The fiber assigned to a terminal payload
x : α. The fiber assigned to a node at position
a, given the fibers already chosen for each childb : P.B a.
Instances For
Evaluate a displayed algebra over a concrete FreeM tree.
This generates the displayed fiber at every tree by recursion on the free polynomial structure.
Instances For
A dependent displayed algebra over an existing displayed algebra.
If D assigns a fiber to each FreeM tree, then an Over.Algebra D assigns a
second-layer fiber over each inhabitant of Displayed D s. This is the
generic form of a dependent decoration over a base decoration.
The second-layer fiber over a base leaf fiber at payload
x : α.- node (a : P.A) (children : P.B a → Sort w) : ((b : P.B a) → children b → Sort w₂) → D.node a children → Sort w₂
The second-layer fiber over a base node fiber at position
a, given the second-layer fibers already chosen over each child.
Instances For
Evaluate a dependent displayed algebra over concrete displayed data.
This is the dependent analogue of Displayed: the base displayed data chooses
which second-layer fiber is available at every node.
Instances For
The total space of a displayed family together with one displayed-over layer.
Instances For
A section chooses displayed data over every FreeM tree.
Instances For
Construct a section from constructor-local data.
This is the displayed-family specialization of the dependent recursor for
FreeM.
Instances For
A morphism between two displayed families over the same FreeM tree.
The fiberwise action, mapping the
D-fiber to theE-fiber over each trees.
Instances For
Identity morphism of a displayed family.
Instances For
Composition of displayed-family morphisms.
Instances For
A constructor-local map between displayed algebras.
The mapNode field maps one node layer, given already-mapped recursive child
data. This is transformation data sufficient to recursively produce a
tree-indexed Displayed.Hom via LocalMap.toHom; it is intentionally not
called a homomorphism because an arbitrary, potentially negative Algebra.node
need not admit identity or composition at this local level.
Instances For
The recursive function underlying LocalMap.toHom.
Instances For
Interpret a constructor-local map as a tree-indexed displayed morphism.
Instances For
A morphism between displayed-over families, lying over a morphism between their base displayed families.
When the base morphism is Displayed.Hom.id, this is a fiberwise morphism over
the same displayed data.
The fiberwise action on second-layer fibers, sending the
R-fiber overdto theS-fiber overη s d.
Instances For
Identity morphism of a displayed-over family.
Instances For
Composition of displayed-over morphisms over composed base morphisms.
Instances For
Map displayed-over data by a displayed-over morphism.
Instances For
A constructor-local fiber map between dependent displayed algebras over the same base displayed algebra.
This is transformation data for recursively mapping only the over-layer while
keeping the base displayed data fixed. FiberLocalMap.toHom interprets it as a
genuine tree-indexed Displayed.Over.Hom.
- mapNode (a : P.A) (children : P.B a → Sort w) (sourceOver : (b : P.B a) → children b → Sort w₅) (targetOver : (b : P.B a) → children b → Sort w₆) : ((b : P.B a) → (d : children b) → sourceOver b d → targetOver b d) → (d : D.node a children) → R.node a children sourceOver d → S.node a children targetOver d
Instances For
The recursive function underlying FiberLocalMap.toHom.
Instances For
Interpret a constructor-local fiber map as a displayed-over morphism.
Instances For
A constructor-local map between dependent displayed algebras, lying over a constructor-local map between their base displayed algebras.
Its interpretation by Over.LocalMap.toHom is a genuine tree-indexed
Displayed.Over.Hom over the interpreted base map.
- mapNode (a : P.A) (sourceChildren : P.B a → Sort w) (targetChildren : P.B a → Sort w₂) (mapChild : (b : P.B a) → sourceChildren b → targetChildren b) (sourceOver : (b : P.B a) → sourceChildren b → Sort w₅) (targetOver : (b : P.B a) → targetChildren b → Sort w₆) : ((b : P.B a) → (d : sourceChildren b) → sourceOver b d → targetOver b (mapChild b d)) → (d : D.node a sourceChildren) → R.node a sourceChildren sourceOver d → S.node a targetChildren targetOver (η.mapNode a sourceChildren targetChildren mapChild d)
Instances For
The recursive function underlying Over.LocalMap.toHom.
Instances For
Interpret a constructor-local over map as a displayed-over morphism over the interpreted base morphism.
Instances For
Map displayed data by an interpreted morphism.