Adger 2003: C-Selection and Subcategorization @cite{adger-2003} #
Replicates Adger's c-selection account of subcategorization
(Core Syntax ch. 3 §3.5–§3.6) on linglib's Minimalism substrate via the
Derivation.WellFormed predicate from
Theories/Syntax/Minimalism/Selection.lean.
Adger's apparatus (recap) #
Each lexical head bears interpretable categorial features [F] (e.g. [V] for verbs) and uninterpretable c-selectional features [uG] (e.g. [uN] for transitive verbs). Adger's checking system:
- (104) Full Interpretation: structure at the semantic interface contains no uninterpretable features
- (105) Checking Requirement: uninterpretable [uF] must be checked, and once checked deletes
- (106) Checking under Sisterhood: [uF] on Y is checked when Y is sister to Z bearing matching [F]
- (110)
kiss [V, uN]: V interpretable, uN uninterpretable - (114)
*Anson demonizedis bad because demonize's [uN] is unchecked
Substrate mapping #
| Adger | linglib |
|---|---|
| interpretable [F] | SimpleLI.cat : Cat |
| uninterpretable [uG] | SimpleLI.sel : SelStack (a List Cat) |
| Full Interpretation | Derivation.WellFormed (Selection.lean) |
| first Merge / complement | Step.emR (consumes one pending feature) |
| second Merge / specifier | Step.emL (no consumption) |
verbToSelStack (in Theories/Syntax/Minimalism/Derivations.lean) derives
the SelStack from VerbEntry.complementType:
| complementType | SelStack | English class |
|---|---|---|
.none | [] | intransitive |
.np | [.D] | transitive |
.np_np | [.D, .D] | ditransitive |
Sections #
- §1 grammatical proper-noun derivations are well-formed
- §2 ungrammatical c-selection violations fail well-formedness
- §3
subcategorization_data_matchagrees withPhenomena.ArgumentStructure.Subcategorization.data - §4 substrate finding: bare common nouns expose a known limitation in
the canonical
Derivations.leanderivations - §5 resolution: Adger ch. 7's null-D wrapper (
nullDWrapinSelection.lean) projects bare common nouns as DPs that satisfy verbs' [uD] c-selection
§0: Lexicon — Fragment-grounded SO building blocks #
Migrated from the deleted Theories/Syntax/Minimalism/Derivations.lean;
instances belong in Phenomena per the architecture audit. Each SO is a
leaf with Cat and SelStack derived from its Fragment lexical entry.
LIToken id allocation (one-derivation scope) #
Every leaf carries a Nat id used by Step.im/movement to identify
chains. The scheme below partitions ids into ranges so that ids are
distinct across SOs that may co-occur in a derivation:
| Range | Use |
|---|---|
| 1–9 | Pronouns |
| 10–19 | Proper-noun DPs |
| 20–29 | Common-noun bare Ns |
| 30–39 | Verb leaves |
| 40–49 | Determiners |
| 100–199 | §2 ungrammatical-derivation seeds |
| 200–299 | §5 null-D-wrapped derivation seeds |
| 9000+ | Silent / null-D heads (nullDWrap) |
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
"John sleeps": [S John sleeps] — intransitive.
Equations
- Adger2003.john_sleeps = { initial := Adger2003.sleepsSO, steps := [Minimalist.Step.emL Adger2003.johnSO] }
Instances For
"Mary arrives": [S Mary arrives] — intransitive.
Equations
- Adger2003.mary_arrives = { initial := Adger2003.arrivesSO, steps := [Minimalist.Step.emL Adger2003.marySO] }
Instances For
"John sees Mary": [S John [VP sees Mary]] — transitive.
Equations
- Adger2003.john_sees_mary = { initial := Adger2003.seesSO, steps := [Minimalist.Step.emR Adger2003.marySO, Minimalist.Step.emL Adger2003.johnSO] }
Instances For
"Mary sees John" — transitive variant.
Equations
- Adger2003.mary_sees_john = { initial := Adger2003.seesSO, steps := [Minimalist.Step.emR Adger2003.johnSO, Minimalist.Step.emL Adger2003.marySO] }
Instances For
"He sees her": pronouns project D directly.
Equations
- Adger2003.he_sees_her = { initial := Adger2003.seesSO, steps := [Minimalist.Step.emR Adger2003.herSO, Minimalist.Step.emL Adger2003.heSO] }
Instances For
"Mary eats pizza": transitive with bare common-noun complement.
Equations
- Adger2003.mary_eats_pizza = { initial := Adger2003.eatsSO, steps := [Minimalist.Step.emR Adger2003.pizzaSO, Minimalist.Step.emL Adger2003.marySO] }
Instances For
"The cat eats pizza": determiner+N subject, bare common-noun object.
Equations
- Adger2003.the_cat_eats_pizza = { initial := Adger2003.eatsSO, steps := [Minimalist.Step.emR Adger2003.pizzaSO, Minimalist.Step.emL (Minimalist.merge Adger2003.theSO Adger2003.catSO)] }
Instances For
"John devours pizza": transitive with bare common-noun complement.
Equations
- Adger2003.john_devours_pizza = { initial := Adger2003.devoursSO, steps := [Minimalist.Step.emR Adger2003.pizzaSO, Minimalist.Step.emL Adger2003.johnSO] }
Instances For
"John gives Mary book": ditransitive. (Word order is gives book Mary in linearization — see substantive note in the audit; the Larson 1988 shell would put goal Mary as inner complement and theme the book as outer.)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Phase 1.0 substrate caveat: Derivation.WellFormed is Decidable only via
a noncomputable instance ... classical infer_instance because WellFormed
routes through checkedFinal? (Selection.lean:178), which is noncomputable
via three Phase 1.0 placeholders: SyntacticObject.checkedSel?,
leftmostLeaf, and Step.applyChecked (each lifting through Quot.out).
Concrete-instance decide checks fail at kernel reduction. TODO Phase 2:
once LCA-based head/leftmostLeaf/checkedSel land, restore by decide.
"John sleeps" — intransitive: empty pending stack consumed trivially.
"Mary arrives" — intransitive variant.
"John sees Mary" — transitive: see's [.D] is checked by Mary's D.
"Mary sees John" — symmetric variant.
"He sees her" — pronouns also project D, so this checks too.
"*Mary arrives John" — intransitive with spurious complement.
arrive's pending = [] so the emR john step has nothing to check
against and applyChecked returns none.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"*John sees" — transitive missing required complement.
see's [.D] is never checked, so the final pending = [.D] ≠ [].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Adger's c-selection predictions agree with
Phenomena.ArgumentStructure.Subcategorization.data on the
proper-noun fragment of the contrast set:
| Frame | Grammatical | Ungrammatical |
|---|---|---|
| intransitive | "John sleeps" | "*Mary arrives John" |
| transitive | "John sees Mary" | "*John sees" |
The full data file's bare-common-noun examples are addressed in §4.
Bare common nouns under strict c-selection #
The existing *_pizza / *_book derivations in
Theories/Syntax/Minimalism/Derivations.lean use bare common nouns
(cat = .N per nounToSO for non-proper entries) as direct objects of
verbs that c-select [.D]. Per Adger ch. 7 Functional Categories II — the
DP, bare common nouns require null-D wrapping to project as DPs and check
verbs' [uD]. linglib's substrate currently encodes common nouns as N
without this wrapping, so strict c-selection flags these derivations as
ill-formed even though their intended English glosses are grammatical.
This is a substrate-encoding artifact, not a pedagogical ill-formedness. Resolving it requires one of: (a) introducing a null-D wrapper for bare common nouns (Adger ch. 7); (b) allowing verbs to alternately c-select N (counter to standard Minimalism); (c) treating bare common nouns as having an implicit kind-denoting D feature.
Out of scope for this study; the well-formedness predicate's strictness
makes the gap visible (rather than silently passing), which is what
linglib aims for. The three examples below pin the current behaviour.
"John devours pizza" with bare pizza (.N) fails devour's [uD].
"Mary eats pizza" — same pattern with eat.
"John gives Mary book" — book (.N) is the inner complement and fails give's first [uD].
Null-D-wrapped DPs are well-formed #
@cite{adger-2003} ch. 7 (Functional Categories II — the DP) treats bare
common nouns as DPs headed by a phonologically silent D. Selection.lean
provides nullDWrap : SyntacticObject → Nat → SyntacticObject, which
constructs (∅ᴅ, n): the silent D's [uN] feature is checked internally
against the noun's .N, yielding a saturated DP with outerCat = .D and
checkedSel = some [].
The parallel *_DP derivations below mirror the canonical sentences from
Derivations.lean but route the common-noun complement through nullDWrap,
producing well-formed structures. The phonYield is unchanged because
nullD has an empty phonForm.
Bare pizza (cat = .N) wrapped under null D, projecting a saturated DP.
Equations
Instances For
Bare book under null D.
Equations
Instances For
"John devours pizza" with null-D-wrapped DP complement. devour's [uD] is checked by the wrapped DP's outer .D.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"Mary eats pizza" — same pattern with eat.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"John gives Mary book": ditransitive with book as inner complement (direct object) wrapped under null D, Mary as proper-noun outer complement (indirect object). Both [uD] features on give are checked.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Surface form #
By construction, nullD's phonForm is empty, so the null-D-wrapped
derivations linearize to the same surface strings as the canonical bare-
noun derivations — only the internal structure differs. PhonYield equality
theorems analogous to Derivations.lean's *_phon are deferred: the
foldl-over-steps + nested phonYield append exceeds decide's
reduction budget and is not closeable by rfl, and the existing
Derivations.lean precedent (native_decide) is non-mathlib-compatible
per CLAUDE.md. A structured proof via explicit unfolding lemmas is the
right next step but out of scope here.
Combined: the §4 ill-formed bare-noun derivations and the §5 null-D-wrapped DP derivations form a minimal pair that operationalises Adger ch. 7's claim that argumental nominals are DPs.