Projectivity and its relaxations #
A dependency graph is projective when the positions each node dominates form a contiguous stretch of the sentence. Natural language is not always projective, so the literature weakens the constraint in several directions. Planarity bans crossing arcs, well-nestedness bans interleaved subtrees, and gap degree counts the discontinuities a single node may show.
In this file we define those constraints and prove the inclusions among them that hold on trees. The witnesses separating the constraints are the source papers' own figures, and live in their study files.
Main definitions #
Graph.IsProjectiveis projectivity: everyGraph.dominatedset is an interval (Definition 3).Graph.IsPlanaris planarity: no two links cross (Definition 4), the Link Grammar notion.Graph.InterleaveandGraph.IsWellNestedare interleaving and well-nestedness (Definition 8).Graph.gapDegreecounts the discontinuities in a node's projection (Definitions 6–7).
Main results #
Graph.isProjective_iff_gapDegree_eq_zeroandGraph.isPlanar_iff_crossings_eq_zero: each binary constraint is the least value of a count.Graph.IsProjective.isPlanarandGraph.IsPlanar.isWellNested: the chainprojective ⊆ planar ⊆ well-nestedon trees.Graph.IsPlanar.isProjective_of_isBot: every gap of a planar tree contains the root (Graph.IsPlanar.root_mem_gap), so a planar tree rooted at a sentence boundary is already projective.
References #
[KN06] — Mildly non-projective dependency structures, source of the Definition numbers cited above [Kuh13] — Mildly non-projective dependency grammar [Mel88] — Dependency syntax: theory and practice, source of the Link Grammar planarity notion
The binary constraints: projectivity, planarity, well-nestedness #
A dependency graph is projective if the positions dominated by any one position are order-convex.
Equations
- g.IsProjective = ∀ (v : Fin n), (g.dominated v).OrdConnected
Instances For
Positions a b c d alternate if a < c < b < d, so that the pairs
{a, b} and {c, d} strictly interleave.
Equations
- DependencyGrammar.Alternate a b c d = (a < c ∧ c < b ∧ b < d)
Instances For
A dependency graph is planar if no two links alternate, so that its arcs can be drawn above the sentence without crossing.
Equations
- g.IsPlanar = ∀ ⦃a b c d : Fin n⦄, g.Linked a b → g.Linked c d → ¬DependencyGrammar.Alternate a b c d
Instances For
The subtrees at v and w interleave if each contributes two positions
and the two pairs alternate.
Equations
- g.Interleave v w = ∃ a ∈ g.dominated v, ∃ b ∈ g.dominated v, ∃ c ∈ g.dominated w, ∃ d ∈ g.dominated w, DependencyGrammar.Alternate a b c d
Instances For
A dependency graph is well-nested if interleaved subtrees are never disjoint, one of the two roots always dominating the other.
Equations
- g.IsWellNested = ∀ (v w : Fin n), g.Interleave v w → DependencyGrammar.Dominates g v w ∨ DependencyGrammar.Dominates g w v
Instances For
Projectivity, unfolded: nothing between two dominated positions escapes.
Equations
- One or more equations did not get rendered due to their size.
Equations
Gap degree #
The projection is strictly increasing.
The gap degree of a position counts the discontinuities in its projection, the adjacent members more than one position apart.
Equations
- g.gapDegreeAt v = List.countP (fun (p : Fin n × Fin n) => decide (1 < ↑p.2 - ↑p.1)) ((g.projection v).zip (g.projection v).tail)
Instances For
The gap degree of a graph is the maximum over its positions.
Equations
- g.gapDegree = Finset.univ.sup g.gapDegreeAt
Instances For
Crossings #
The number of crossing link pairs, counted as quadruples a < c < b < d
carrying links {a, b} and {c, d}. Each crossing pair contributes once,
since of the two ways to order the pairs only one alternates.
Equations
- g.crossings = {x : Fin n × Fin n × Fin n × Fin n | g.Linked x.1 x.2.1 ∧ g.Linked x.2.2.1 x.2.2.2 ∧ DependencyGrammar.Alternate x.1 x.2.1 x.2.2.1 x.2.2.2}.card
Instances For
Projectivity as gap degree zero #
Planarity is having no crossings — the binary constraint as the least value of the count.
A position has gap degree zero exactly when what it dominates is order-convex.
Projectivity is gap degree zero: the parametric constraint at its least value is the binary one.
The hierarchy on trees #
In a projective graph the head of an arc dominates every position the arc spans, since the head dominates both endpoints and is order-convex.
Every projective tree is planar.
In a planar graph, a link with one endpoint strictly inside the span of another link has its other endpoint inside that span too.
Planarity forbids a link with one endpoint strictly inside another link's span and the other endpoint outside it.
Every planar tree is well-nested: interleaved subtrees would force a link below one of them to straddle a link below the other.
In a planar tree every gap contains the root: if v dominates i and j
but skips a position between them, the root lies strictly between i and
j. So a planar tree rooted at a sentence boundary is projective, which
is why planarity buys nothing once the root is given a boundary
position.
A planar tree whose root precedes every position is projective: a gap would have to contain the root, and nothing lies to its left.
Every projective tree is well-nested, via planarity.