Crescent

The distinction one predicate holds against an adjacent predicate — the non-overlapping arc when the two are pictured as overlapping circles in a Venn diagram. The term names both the geometric shape and the section in a Predicate node (## Crescent) whose job is to carry that distinction as prose.

Two overlapping circles produce three regions: the intersection, which is what the predicates share, and the two crescent-shaped arcs outside the intersection, which are what each predicate holds that the other does not. A ## Crescent section on a Predicate node carries the content of exactly one of those arcs — this predicate's non-overlapping territory against one specific neighbor. A predicate with multiple adjacent neighbors has multiple crescents, each against a different circle, each with its own shape.

The asymmetry is geometric, not just an authoring convenience. The crescent of A against B and the crescent of B against A are different regions of the page — different shapes, different sizes — because they sit on opposite sides of the intersection. A Crescent section on Predicate A names what A holds that B does not; the mirror section on Predicate B names what B holds that A does not; neither is the inverse of the other. Two independent accounts together are the full pairing.

The metaphor presupposes adjacency. Crescents exist only where circles overlap; between two disjoint predicates there is no intersection and therefore no crescent. This is why the Predicate Form Contract requires ## Crescent subsections only against predicates declared as near-neighbors via contrasts_with::, not against every predicate in the vocabulary. Adjacency is load-bearing for the form; crescents are how the adjacency's distinctions get recorded. Leaving an adjacent predicate's crescent undocumented is a silent invitation to merge the two under later convergence pressure, because nothing in the graph records what the merge would destroy.

Relations