Coordination in UD enhanced graphs #
Implements coordination in Universal Dependencies' enhanced-dependency
graphs ([dMN19], §4.2 and Figure 9, applied to
coordinate structures): the basic dependency tree attaches each shared
dependent to the first conjunct only, and the enhanced graph recovers the
parallel attachments by propagating obj / nsubj / iobj edges from the
first-conjunct head to every other conjunct.
Word Grammar ([Hud10], §7.5.4 "Non-constituent coordination") handles the same data via a different device: a contiguous string of words may be treated as a single chunk ("word string") and entered into a dependency relation as a whole, eliminating the need to propagate shared dependents. For the historical phrase-structure approach to coordination (Coordinate Structure Constraint, ATB extraction as theorems of a complex-symbol grammar), see [Gaz81].
Main declarations #
getConjuncts,hasConjuncts,allConjuncts— inspect the conjunct structure of a head node in a basic dependency tree.checkCatMatch— verifies that everyconjedge connects words of matching UPOS categories.checkArgStrMatch— for verbalconjedges, verifies matching valence.enhanceSharedDeps— produce aDepGraphfrom a basicDepTreeby propagating sharedobj/nsubj/iobjedges from the first conjunct's head to each subsequent conjunct.
Implementation notes #
- The
Bool-valued predicates followDepGrammar's substrate convention; migrating toProp+Decidableis a substrate-wide refactor not done here. - Paper-replication fixtures and worked theorems for
enhanceSharedDepslive inStudies/DeMarneffeNivre2019.lean. Downstream substrate consumers (Formal/EnhancedDependencies.lean,Formal/CoordinationParallelism.lean) define their own local minimal fixtures. checkArgStrMatchis a coarse heuristic overDepTree.frames. Real coordination-parallelism judgements (gapping, ATB extraction) live inFormal/CoordinationParallelism.lean.
Coordinate structure #
Conjuncts of a head: words linked by conj edges from headIdx.
In UD basic-tree convention these are the second-and-later conjuncts;
the first conjunct is headIdx.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Word i heads a coordinate structure iff it has at least one outgoing
conj edge.
Equations
- DepGrammar.Coordination.hasConjuncts t i = decide ¬(DepGrammar.Coordination.getConjuncts t i).isEmpty = true
Instances For
All conjuncts of a coordinate structure headed at headIdx: headIdx
itself (first conjunct, which heads the structure in UD basic-tree
convention) plus the words linked via conj.
Equations
- DepGrammar.Coordination.allConjuncts t headIdx = headIdx :: DepGrammar.Coordination.getConjuncts t headIdx
Instances For
Parallelism heuristics #
Every conj edge connects words of matching UPOS categories.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For verbal conj edges, conjuncts have matching frames. Coarse
heuristic — does not handle clausal coordination (ccomp / xcomp) or
finer subcategorization.
Equations
- One or more equations did not get rendered due to their size.