Following a prescribed order through the choice system #
Defines ChosenGrowth, the ordered growth that follows exactly the active
extensions selected by a fixed ActiveExtensionChoice, and the partial
function followOrder attempting to realize a prescribed edge order as
such a growth. Every chosen growth arises this way, giving the canonical
realization of a support/order fiber used by the fiber bridge.
An ordered growth that follows exactly the active extensions selected by a
fixed ActiveExtensionChoice.
- nil {V : Type u_1} [Fintype V] [DecidableEq V] {choices : ActiveExtensionChoice V} (F : Forest V) : ChosenGrowth choices F [] F
- cons {V : Type u_1} [Fintype V] [DecidableEq V] {choices : ActiveExtensionChoice V} {F G : Forest V} {e : Edge V} {order : List (Edge V)} (he : e ∈ F.activeEdges) (tail : ChosenGrowth choices (choices F ⟨e, he⟩).forest order G) : ChosenGrowth choices F (e :: order) G
Instances For
Edge-set bookkeeping for a chosen growth path.
Root-start edge-set bookkeeping for a chosen growth path.
Follow an edge order through the active extensions selected by choices.
Equations
- BKAR.Forest.followOrderOption choices x✝ [] = some x✝
- BKAR.Forest.followOrderOption choices x✝ (e :: order) = if he : e ∈ x✝.activeEdges then BKAR.Forest.followOrderOption choices (choices x✝ ⟨e, he⟩).forest order else none
Instances For
Canonical orders of an acyclic target support can be followed through any
choice of active extensions. The invariant says that the current
Forest representative carries the already-consumed prefix, while order is the remaining
suffix and S is the final edge set.
Every canonical order of a forest index follows to some Forest representative whose
support is exactly that index, independently of the extension choices.