Docs / Syntax / DependencyGrammar / Stemma

Stemmas

import Linglib.Syntax.DependencyGrammar.Stemma · namespace DependencyGrammar

A stemma is a dependency tree as it is drawn: a head with its dependents to its left and to its right, each dependent attached by a relation and heading a stemma of its own. Reading a stemma from left to right spells out its sentence, and numbering the words of that sentence turns the stemma into a dependency graph on positions, in which each word's head is the head it hangs from. That graph is a tree and projective: a stemma never draws crossing arcs.

Main definitions

Implementation notes

The graph records, for each position, the position of its head and the relation to it (Stemma.heads), so no position has two heads by construction.

TODO

The converse: every projective tree is the graph of a stemma.

References

Declarations

A stemma is a head word with its dependents to its left and to its right, in order, each attached by a relation in L and heading a stemma of its own.

inductive StemmaL47–50
(L : Type u_1) :
Type u_1

Used by Stemma.leaf, Stemma.yield, Stemma.yieldDeps, Stemma.size, Stemma.sizeDeps, Stemma.headIndex, Stemma.heads, Stemma.headsDeps, Stemma.length_yield, Stemma.length_yieldDeps, Stemma.headIndex_lt_size, Stemma.instNeZeroNatSize, Stemma.toGraph, Stemma.length_heads, Stemma.length_headsDeps, Stemma.getElem?_heads_headIndex, Stemma.toGraph_adj, Stemma.isTree_toGraph, Stemma.isProjective_toGraph, Stemma.toTree

Used in OsborneLi2023

L120–121
L133–138
L140–145
L149–154
L156–161

Tree-hood and projectivity