Neighborhoods #
The local environment a postsyntactic rule inspects: a focus terminal with
the terminals to either side, nearest first. Vocabulary Items and
Impoverishment rules are stated over the same neighborhoods — an item's
site is itself a neighborhood of feature lists, and it applies
where every feature it mentions, at the focus or on a neighbor, is present
(Neighborhood.positioned, ⊆).
Main definitions #
Neighborhood— focus, left context, right context.Neighborhood.positioned— the features of a neighborhood of feature lists, each tagged with itsPosition.⊆onNeighborhood (List F)— inclusion of positioned features.
Implementation notes #
A bare bundle coerces to the context-free neighborhood and ∅ is the
empty site, so a context-free Vocabulary Item is written
⟨[f₁, f₂], e⟩ and the Elsewhere item ⟨∅, e⟩. Positions count outward
from the focus: left toward the root, right toward the clause.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
A bundle, viewed as a context-free neighborhood.
Equations
- DistributedMorphology.Neighborhood.ofBundle fb = { focus := fb }
Instances For
Equations
Equations
- DistributedMorphology.Neighborhood.instEmptyCollection = { emptyCollection := { focus := ∅ } }
Positioned features #
Equations
- One or more equations did not get rendered due to their size.
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq DistributedMorphology.Neighborhood.Position.focus DistributedMorphology.Neighborhood.Position.focus = isTrue ⋯
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq DistributedMorphology.Neighborhood.Position.focus (DistributedMorphology.Neighborhood.Position.left i) = isFalse ⋯
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq DistributedMorphology.Neighborhood.Position.focus (DistributedMorphology.Neighborhood.Position.right i) = isFalse ⋯
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq (DistributedMorphology.Neighborhood.Position.left i) DistributedMorphology.Neighborhood.Position.focus = isFalse ⋯
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq (DistributedMorphology.Neighborhood.Position.left i) (DistributedMorphology.Neighborhood.Position.right i_1) = isFalse ⋯
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq (DistributedMorphology.Neighborhood.Position.right i) DistributedMorphology.Neighborhood.Position.focus = isFalse ⋯
- DistributedMorphology.Neighborhood.instDecidableEqPosition.decEq (DistributedMorphology.Neighborhood.Position.right i) (DistributedMorphology.Neighborhood.Position.left i_1) = isFalse ⋯
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The features of a neighborhood of feature lists, each tagged with the position it sits at.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A site is included in a neighborhood when every positioned feature it mentions is present; a terminal it does not mention is unconstrained — the Subset Principle over neighborhoods.
Equations
- DistributedMorphology.Neighborhood.instHasSubsetList = { Subset := fun (s n : DistributedMorphology.Neighborhood (List F)) => s.positioned ⊆ n.positioned }
Equations
- s.instDecidableRelListSubsetOfDecidableEq n = s.positioned.instDecidableRelSubsetOfDecidableEq n.positioned
Equations
- DistributedMorphology.Neighborhood.instTransListSubset = { trans := ⋯ }
Context-free sites compare by feature inclusion.