Langlib

Langlib.Grammars.LR.Equivalence.DPDAToLR.ActiveSpine

Active derivation spines of the characteristic grammar #

Focused records the operational meaning of an active characteristic nonterminal, but intentionally hides the partial derivation tree which led to that occurrence. Handle-collision arguments need that tree path: in particular, an empty-list occurrence has forgotten the return state of its parent unless the introducing edge is retained.

ActiveSpine is the minimal such path. Every descent remembers the parent active occurrence, the exact retained rule, the position of the child in its right-hand side, and the terminal completion of the part to the child's right. Its indices are exactly the visible prehandle prefix and terminal suffix.

inductive DPDA_to_LR.ActiveSpine {Q T S : Type} [Fintype Q] [Fintype T] [Fintype S] (M : DPDA Q T S) :
List (symbol T (Nonterminal M))Nonterminal MList TProp

The root-to-active-node path in a partial rightmost derivation tree.

Instances For

    A stored spine reconstructs its visible reachable prehandle.

    Counted completeness of the active-spine representation.

    Every reachable characteristic prehandle has a canonical active-node ancestry spine (up to proof irrelevance).

    Reachability and existence of an active derivation spine are equivalent.

    Normalized final edges #

    inductive DPDA_to_LR.ActiveEdge {Q T S : Type} [Fintype Q] [Fintype T] [Fintype S] (M : DPDA Q T S) :
    List (symbol T (Nonterminal M))Nonterminal MList TList (symbol T (Nonterminal M))Nonterminal MList TProp

    One characteristic rule edge on the active tree spine, normalized to its semantic rule shape. The indices record both the parent and child visible prehandles.

    Instances For