Default Category System (UD-grounded) #
Syntax.Cat — the default instantiation of Syntax.Tree's category
parameter C, grounded in Universal Dependencies UPOS
([dMMNZ21]). Word-level categories via head : UPOS → Cat,
phrasal via proj : UPOS → Cat, plus S and CP.
Split from Syntax/Tree/Basic.lean so that category-generic consumers
(e.g. the type-driven composition engine, which ignores categories) do
not carry the UD dataset in their transitive imports.
Default syntactic category system grounded in Universal Dependencies UPOS ([dMMNZ21]).
head pos— word-level (terminal): wraps a UPOS tag directlyproj pos— maximal X-bar projection of a UPOS headS— sentence/clause (not a projection of a single lexical head)CP— complementizer phrase
Phrasal categories are derived systematically: NP = proj .NOUN,
VP = proj .VERB, DP = proj .DET, ConjP = proj .CCONJ, etc.
This is one possible instantiation of Tree's C parameter.
Framework-specific category systems (CCG functors, Minimalist
feature bundles, etc.) can be used instead.
Instances For
Equations
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.head a) (Syntax.Cat.head b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.head a) (Syntax.Cat.proj a_1) = isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.head a) Syntax.Cat.S = isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.head a) Syntax.Cat.CP = isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.proj a) (Syntax.Cat.head a_1) = isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.proj a) (Syntax.Cat.proj b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.proj a) Syntax.Cat.S = isFalse ⋯
- Syntax.instDecidableEqCat.decEq (Syntax.Cat.proj a) Syntax.Cat.CP = isFalse ⋯
- Syntax.instDecidableEqCat.decEq Syntax.Cat.S (Syntax.Cat.head a) = isFalse ⋯
- Syntax.instDecidableEqCat.decEq Syntax.Cat.S (Syntax.Cat.proj a) = isFalse ⋯
- Syntax.instDecidableEqCat.decEq Syntax.Cat.S Syntax.Cat.S = isTrue ⋯
- Syntax.instDecidableEqCat.decEq Syntax.Cat.S Syntax.Cat.CP = isFalse Syntax.instDecidableEqCat.decEq._proof_13
- Syntax.instDecidableEqCat.decEq Syntax.Cat.CP (Syntax.Cat.head a) = isFalse ⋯
- Syntax.instDecidableEqCat.decEq Syntax.Cat.CP (Syntax.Cat.proj a) = isFalse ⋯
- Syntax.instDecidableEqCat.decEq Syntax.Cat.CP Syntax.Cat.S = isFalse Syntax.instDecidableEqCat.decEq._proof_16
- Syntax.instDecidableEqCat.decEq Syntax.Cat.CP Syntax.Cat.CP = isTrue ⋯
Instances For
Equations
- Syntax.instReprCat = { reprPrec := Syntax.instReprCat.repr }
Equations
- One or more equations did not get rendered due to their size.
- Syntax.instReprCat.repr Syntax.Cat.S prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Syntax.Cat.S")).group prec✝
- Syntax.instReprCat.repr Syntax.Cat.CP prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Syntax.Cat.CP")).group prec✝
Instances For
Equations
- Syntax.instInhabitedCat = { default := Syntax.Cat.S }
Equations
- Syntax.instBEqCat = { beq := fun (a b : Syntax.Cat) => decide (a = b) }