Pumping CFG Utilities #
This file contains helper lemmas for repeated concatenation and derivation induction.
Main declarations #
Equations
- «term_^+^_» = Lean.ParserDescr.trailingNode `«term_^+^_» 69 69 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ^+^ ") (Lean.ParserDescr.cat `term 70))
Instances For
theorem
ContextFreeGrammar.Derives.head_induction_on
{T : Type uT}
{g : ContextFreeGrammar T}
{v : List (Symbol T g.NT)}
{P : (u : List (Symbol T g.NT)) → g.Derives u v → Prop}
{u : List (Symbol T g.NT)}
(huv : g.Derives u v)
(refl : P v ⋯)
(head : ∀ {u w : List (Symbol T g.NT)} (huw : g.Produces u w) (hwv : g.Derives w v), P w hwv → P u ⋯)
:
P u huv