A feature geometry over a feature type F places each feature below at most one node of a
rooted tree of class nodes, a map node : F → Option N, and the feature class of a node is
the set of features placed at or below it. The tree is mathlib's, a partial order with a
bottom, a predecessor and archimedean descent, so feature classes are the preimages of
principal upper sets: they shrink along dominance and are disjoint across incomparable nodes.
Spreading a class from one segment onto another is Finset.piecewise on it, and agreement on
a class is Set.EqOn. The trees of Clements, Sagey and Halle, Vaux and Wolfe are built in
their studies.
Main definitions
Main results
Implementation notes
The placement is Option-valued so that a geometry may leave features of the inventory
unplaced. A study orders its tree by the parent map, a ≤ b when a lies on the walk from b
up to the root, the root as ⊥ and the parent as Order.pred, every axiom decided. Spreading
any set of terminals, Halle, Vaux and Wolfe's partial spreading, is Finset.piecewise on that
set, and single-feature spreading is Function.update.
References