Target-restricted CCG generates a non-context-free language #
Formalisation of the construction in [KKS15], Example 2: a
target-restricted combinatory categorial grammar — the formalism of
[VSW94] and [WJ88], "VW-CCG" in the paper's
terminology — that generates the non-context-free language aⁿbⁿcⁿ.
The point is theoretical. [KKS15] show that the CCG≡TAG weak
equivalence holds for target-restricted CCG, where combinatory rules may be restricted per
grammar (here, via the target restriction modelled in Syntax/CCG/Grammar: every rule
fires only when the target of its primary input category is S). For lexicalized CCG
without target restrictions they prove the power is strictly below TAG: such a CCG that
covers aⁿbⁿcⁿ also admits extra permuted strings, so it cannot generate the language
exactly. Syntax/CCG/Derivation's CCG.Derivation models a (rule-inventory) fragment of that
unrestricted variant, so this construction genuinely needs the restricted model
CCG.Grammar.
Atoms follow the paper (A, B, C, S) as the study's own atom type — CCG.Cat is
parameterized over its atoms, so the construction needs no proxy inventory.
Main definitions #
exampleGrammar— the grammarG₁of Example 2: six lexical entries, target restriction and start atS, degree bound 2.
Main statements #
cluster_derives— theb-cluster:G₁derivesbⁿat categoryS/Cⁿ.peel_derives— peeling: eachCargument is discharged by crossed-composing acand backward-applying ana, wrapping the string asa … c.ccg_generates_anbnc—anbncStrings ⊆ exampleGrammar.language.
Implementation notes #
These are the completeness direction (anbncStrings ⊆ exampleGrammar.language).
The converse soundness (exampleGrammar.language ⊆ anbncStrings, an induction on
Grammar.Derives) is stateable but not formalised here; with it, relabelling
{"a","b","c"} → ThreeSymbol and AnBnCn.anbnc_not_contextFree would establish that
the grammar's language is itself non-context-free.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- KuhlmannKollerSatta2015.instDecidableEqAtom x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Instances For
Instances For
Instances For
Instances For
The cluster category always has target S.
No non-S atom is a cluster category: targets differ.
The construction, as Derives inductions #
Chain of degree-2 compositions: b₁ = S/C/B composed with j copies of
B/C/B derives bʲ⁺¹ at S/Cʲ⁺¹/B.
The b-cluster: G₁ derives bⁿ at category clusterCat n, for n ≥ 1.
Peeling: from a derivation of w at clusterCat k, crossed-composing a c and
backward-applying an a k times derives aᵏ w cᵏ at S.
Soundness #
The converse induction: every pair the grammar derives has one of the shapes of the
completeness construction, so the language contains nothing beyond aⁿbⁿcⁿ.
The derivable category/string pairs of G₁: the six lexical shapes, the degree-2
chain categories, the clusters (wrapped by i peels), and the peel intermediates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every pair G₁ derives is Reachable: the rule induction. The target gate kills
every primary whose target is not S; the schema equation then forces one of the
four rule instances of the completeness construction.
Generative-capacity result #
The string language aⁿbⁿcⁿ (n ≥ 1) over {"a","b","c"}.
Equations
- KuhlmannKollerSatta2015.anbncStrings = {w : List String | ∃ (n : ℕ), 1 ≤ n ∧ w = List.replicate n "a" ++ List.replicate n "b" ++ List.replicate n "c"}
Instances For
G₁ generates aⁿbⁿcⁿ ([KKS15], Ex. 2): every string
in the non-context-free language is in the grammar's language. This is the
completeness half of CCG ⊋ CFG; the language anbnc it covers is not context-free
(AnBnCn.anbnc_not_contextFree).
Soundness: G₁ derives nothing beyond aⁿbⁿcⁿ.
The language of G₁ is exactly aⁿbⁿcⁿ ([KKS15],
Ex. 2): completeness and soundness together.