A dependency: directed edge from head to dependent. Uses UD.DepRel for the relation label.
- headIdx : ℕ
- depIdx : ℕ
- depType : UD.DepRel
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DepGrammar.instReprDependency = { reprPrec := DepGrammar.instReprDependency.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DepGrammar.instReprDepTree = { reprPrec := DepGrammar.instReprDepTree.repr }
An enhanced dependency graph: like DepTree but allows multiple heads per word. Relaxes the unique-heads constraint.
- words : List Word
- deps : List Dependency
- rootIdx : ℕ
Instances For
Equations
- DepGrammar.instReprDepGraph = { reprPrec := DepGrammar.instReprDepGraph.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direction of a dependent relative to head.
Instances For
Equations
- DepGrammar.instReprDir.repr DepGrammar.Dir.left prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "DepGrammar.Dir.left")).group prec✝
- DepGrammar.instReprDir.repr DepGrammar.Dir.right prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "DepGrammar.Dir.right")).group prec✝
Instances For
Equations
- DepGrammar.instReprDir = { reprPrec := DepGrammar.instReprDir.repr }
Equations
- DepGrammar.instDecidableEqDir x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- DepGrammar.instInhabitedDir = { default := DepGrammar.instInhabitedDir.default }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DepGrammar.instReprArgSlot = { reprPrec := DepGrammar.instReprArgSlot.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DepGrammar.instReprArgStr = { reprPrec := DepGrammar.instReprArgStr.repr }
Equations
- DepGrammar.instReprArgStr.repr x✝ prec✝ = Std.Format.bracket "{ " (Std.Format.nil ++ Std.Format.text "slots" ++ Std.Format.text " := " ++ (Std.Format.nest 9 (repr x✝.slots)).group) " }"
Instances For
Intransitive verb: subject to the left
Equations
- DepGrammar.argStr_V0 = { slots := [{ depType := UD.DepRel.nsubj, dir := DepGrammar.Dir.left, cat := some UD.UPOS.DET }] }
Instances For
Transitive verb: subject left, object right
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ditransitive verb: subject left, indirect object right, object right
Equations
- One or more equations did not get rendered due to their size.
Instances For
Passive transitive: subject left (was patient), optional by-phrase right
Equations
- One or more equations did not get rendered due to their size.
Instances For
Map Valence to the corresponding standard DG argument structure.
Returns none for valences without a standard frame
(clausal, copular, dative, locative).
Equations
Instances For
Check if every word except root has exactly one head.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check for cycles: no word is its own ancestor.
Equations
- DepGrammar.isAcyclic t = (List.range t.words.length).all fun (start : ℕ) => DepGrammar.isAcyclic.follow t start [] (t.words.length + 1)
Instances For
Equations
- One or more equations did not get rendered due to their size.
- DepGrammar.isAcyclic.follow t current visited 0 = true
Instances For
Bundled well-formedness: unique heads + valid index bounds. Collects the three hypotheses that most dominance/planarity theorems need.
- uniqueHeads : hasUniqueHeads t = true
- depIdx_lt (d : Dependency) : d ∈ t.deps → d.depIdx < t.words.length
- headIdx_lt (d : Dependency) : d ∈ t.deps → d.headIdx < t.words.length
Instances For
Check subject-verb number agreement.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check determiner-noun number agreement.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Count dependents of a given type for a head.
Equations
- DepGrammar.countDepsOfType t headIdx dtype = (List.filter (fun (d : DepGrammar.Dependency) => d.headIdx == headIdx && d.depType == dtype) t.deps).length
Instances For
Check if verb has correct argument structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create a simple SV tree: subject -> verb.
Equations
- DepGrammar.mkSVTree subj verb = { words := [subj, verb], deps := [{ headIdx := 1, depIdx := 0, depType := UD.DepRel.nsubj }], rootIdx := 1 }
Instances For
Create a simple SVO tree: subject -> verb <- object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create Det-N-V tree: det -> noun -> verb.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create a ditransitive tree: subj -> verb <- iobj <- obj.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check if a dependency tree satisfies an argument structure
Equations
- One or more equations did not get rendered due to their size.