Clause spines #
A clause spine is the list of heads a clause projects, from the lexical head upward, so a bare VP
is [V], a finite clause [V, v, T, C], and a nominalized complement the finite clause with the
nominal shell [N, D] appended. A spine is an extended projection in Grimshaw's sense when each
head extends the one below it. Keine observes that category features project bilaterally within an
extended projection, so a clause is labeled by the set of every head it projects. The label of a
spine is that finset, and spines are preordered by inclusion of labels, the extension order, in
which the clause sizes of one extended projection form a chain and a nominalized clause and a
finite clause are incomparable. A head divides a spine into its complement, the heads below it,
and the shell above it.
Main definitions #
Minimalist.ClauseSpine: the list of heads a clause projects, bottom-up.Minimalist.ClauseSpine.label: the bilateral label, the finset of heads a spine projects.Minimalist.ClauseSpine.IsExtendedProjection: a spine each of whose heads extends the one below it.Minimalist.ClauseSpine.append: the spine with a nominal or adpositional shell over it.Minimalist.ClauseSpine.below,Minimalist.ClauseSpine.above: the heads below the first occurrence of a category, its complement, and above the last, the shell over it.Minimalist.ClauseSpine.vP,Minimalist.ClauseSpine.tP,Minimalist.ClauseSpine.cP: the clause sizes of the verbal extended projection.
Main results #
Minimalist.ClauseSpine.le_def: the extension order is inclusion of labels.Minimalist.ClauseSpine.IsExtendedProjection.pairwise: in an extended projection every head extends each head below it.Minimalist.ClauseSpine.below_prefix: the complement of a head lies inside the complement of every head above it.
Implementation notes #
ClauseSpine is a one-field structure rather than List Cat so that its order is inclusion of
labels, not the lexicographic order of lists.
References #
A clause spine is the list of heads a clause projects, from the lexical head upward.
- heads : List Cat
The projected heads, bottom-up.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Minimalist.instReprClauseSpine = { reprPrec := Minimalist.instReprClauseSpine.repr }
Equations
- Minimalist.instDecidableEqClauseSpine.decEq { heads := a } { heads := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- Minimalist.ClauseSpine.instMembershipCat = { mem := fun (s : Minimalist.ClauseSpine) (c : Minimalist.Cat) => c ∈ s.heads }
Equations
- Minimalist.ClauseSpine.instDecidableMemCat c s = { decide := decide (List.elem c s.heads = true), reflects_decide := ⋯ }
Equations
- Minimalist.ClauseSpine.instDecidableForallForallMemCatOfDecidablePred P s = List.decidableBAll P s.heads
Equations
- Minimalist.ClauseSpine.instDecidableExistsCatAndMemOfDecidablePred P s = List.decidableBEx P s.heads
Extended projections #
A spine is an extended projection when each head extends the one below it, so that its heads are of one family and their F-values do not decrease.
Equations
- s.IsExtendedProjection = List.IsChain Minimalist.Cat.ExtendsTo s.heads
Instances For
In an extended projection every head extends each head below it.
Labels and the extension order #
The bilateral label of a spine is the set of heads it projects.
Instances For
The extension order. A spine lies below another when the other projects every head it does, as the clause sizes of one extended projection do.
Equations
- Minimalist.ClauseSpine.instPreorder = Preorder.lift Minimalist.ClauseSpine.label
Equations
- One or more equations did not get rendered due to their size.
Equations
- s.instDecidableLT t = { decide := decide (s.label ⊆ t.label) && decide ¬t.label ⊆ s.label, reflects_decide := ⋯ }
Shells #
Appending heads to a spine projects a nominal or adpositional shell over the clause.
Instances For
Complements and shells of a head #
The heads strictly below the first occurrence of c, the complement of c.
Equations
- s.below c = List.takeWhile (fun (x : Minimalist.Cat) => x != c) s.heads
Instances For
The heads strictly above the last occurrence of c, so that s.above .C is the shell over the
CP of s and [] for a bare CP.
Equations
- s.above c = List.rtakeWhile (fun (x : Minimalist.Cat) => x != c) s.heads
Instances For
A head is not in its own complement.
The complement of a head lies inside the complement of every head above it.
Clause sizes #
The vP-sized clause [V, v], the small nonfinite clause.
Equations
- Minimalist.ClauseSpine.vP = { heads := [Minimalist.Cat.V, Minimalist.Cat.v] }
Instances For
The TP-sized clause [V, v, T], the large nonfinite clause.
Equations
- Minimalist.ClauseSpine.tP = { heads := [Minimalist.Cat.V, Minimalist.Cat.v, Minimalist.Cat.T] }
Instances For
The CP-sized clause [V, v, T, C], the finite clause.