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 the item applies wherever each
feature the site mentions sits at the same offset from the focus: the Subset
Principle's inclusion of sites, ⊆.
Main definitions #
Neighborhood: focus, left context, right context.Neighborhood.nth: the terminal at an integer offset from the focus.(i, f) ∈ n: the terminal at offsetibears the featuref;s ⊆ nwhen every positioned feature ofsis one ofn.Neighborhood.positioned,Neighborhood.toFinset: the positioned features, listed and as a finite set.Neighborhood.project,Neighborhood.window: the neighborhood on a tier, and the focus with the terminals within a radius of it.Neighborhood.around,Neighborhood.along: the neighborhood of a position of a string, and each terminal of a string in its neighborhood.
Main results #
Neighborhood.mem_positioned:positionedlists exactly the positioned features, so it decides⊆.Neighborhood.subset_iff_nth: inclusion compares terminal by terminal.Neighborhood.ofBundle_subset_iff: a context-free site is included where its features are on the focus.Neighborhood.weight_strictMono: a strictly larger site has more features on the focus, or as many there and more elsewhere, the ground of the Subset Principle's specificity.Neighborhood.toList_of_mem_along,Neighborhood.nth_around: each neighborhood of a string reassembles to it, and terminalkstands at offsetk - ifrom positioni.
Implementation notes #
Offsets are integers, indexed as for Turing.Tape.nth: 0 is the focus,
-(k + 1) the k-th terminal to the left (toward the root), k + 1 the k-th
to the right (toward the clause), and past either end nth returns default,
for a feature list []. Inclusion ignores the order and repetition of features
on a terminal and empty terminals past the ends, so it is a preorder and not a
partial order; as for PSet, the preorder is written ⊆.
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⟩.
References #
A neighborhood is the local context a postsyntactic rule may inspect, the
focus terminal and the terminals to either side, nearest first. A condition that only
inspects focus is paradigmatic; one that reads leftCtx or rightCtx is
syntagmatic.
- focus : Bundle
The terminal the rule inspects.
- leftCtx : List Bundle
The terminals to its left, nearest first.
- rightCtx : List Bundle
The terminals to its right, nearest first.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A bundle, viewed as a context-free neighborhood.
Instances For
Equations
Equations
- DistributedMorphology.Neighborhood.instEmptyCollection = { emptyCollection := ↑∅ }
Offsets #
n.nth i is the terminal at offset i from the focus, where 0 is the
focus, -(k + 1) the k-th terminal to the left, k + 1 the k-th to the
right, and default lies past either end.
Equations
Instances For
Tiers and windows #
The projection onto the tier T keeps the focus and the terminals on either side that T
keeps, nearest first. Pruning null terminals is the projection onto the overt ones.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The window of radius k keeps the focus and the k terminals nearest it on either side. A
condition is adjacent on the tier T when it factors through window 1 ∘ project T; the linear
adjacency of [Emb10] and [AN12] is adjacency on the tier of overt
terminals.
Equations
Instances For
The window of radius k agrees with the neighborhood up to offset k.
Neighborhoods of a string #
The terminals of a neighborhood, in linear order.
Instances For
around d i b is the neighborhood of position i of the string d with b
in focus, the earlier terminals to its left and the later ones to its right,
nearest first.
Equations
- DistributedMorphology.Neighborhood.around d i b = { focus := b, leftCtx := (List.take i d).reverse, rightCtx := List.drop (i + 1) d }
Instances For
Each terminal of the string d in its neighborhood, in order.
Equations
- DistributedMorphology.Neighborhood.along d = List.mapIdx (DistributedMorphology.Neighborhood.around d) d
Instances For
Reassembling the neighborhood of position i gives the string with b at i.
Terminal k of the string sits at offset k - i from position i.
Each neighborhood of a string reassembles to the string.
Positioned features #
(i, f) ∈ n holds when the terminal at offset i from the focus bears the feature f.
Equations
- DistributedMorphology.Neighborhood.instMembershipProdIntList = { mem := fun (n : DistributedMorphology.Neighborhood (List F)) (x : ℤ × F) => x.2 ∈ n.nth x.1 }
Equations
- DistributedMorphology.Neighborhood.instDecidableMemProdIntListOfDecidableEq x n = { decide := decide (List.elem x.2 (n.nth x.1) = true), reflects_decide := ⋯ }
n.positioned lists the positioned features of a neighborhood of feature
lists, the focus's at offset 0, then the left context's, then the right
context's.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Inclusion #
A site is included in a neighborhood when every positioned feature it mentions is present; a terminal it does not mention is unconstrained. This is the Subset Principle's inclusion.
Equations
- One or more equations did not get rendered due to their size.
Inclusion compares terminal by terminal.
Equations
- x✝¹.instDecidableLEListOfDecidableEq x✝ = decidable_of_iff (x✝¹.positioned ⊆ x✝.positioned) ⋯
A context-free site is included in a neighborhood exactly when its features are on the focus.
Counting positioned features #
The positioned features of a neighborhood of feature lists, as a finite set.
Equations
- n.toFinset = n.positioned.toFinset
Instances For
A strictly larger site has strictly more positioned features.
The weight of a neighborhood counts its distinct features on the focus, then those elsewhere.
Instances For
No neighborhood weighs less than the empty one.
A strictly larger site has more features on the focus, or as many there and more elsewhere.