Langlib

Langlib.Grammars.Indexed.NormalForm.Aho.Scheduler.Runners.Overlay.PushFresh

Fresh pushes for copy-on-write overlays #

A productive unary push allocates a singleton private block above the existing adjacent overlay. The protected base remains shared, and its exact parking witness is transported through head normalization, head rotation, and fresh owner allocation.

theorem IndexedGrammar.Aho.overlayScheduleRun_pushFresh {T : Type} {g : IndexedGrammar T} [Fintype g.nt] {A B : g.nt} {f : g.flag} {stack : List g.flag} {w : List T} {r : IRule T g.nt g.flag} (hr : r g.rules) (hlhs : r.lhs = A) (hc : r.consume = none) (hrhs : r.rhs = [IRhsSymbol.nonterminal B (some f)]) (rest : g.NFParse B (f :: stack) w) (hone : 1 rest.eventDepths) (restOverlay : OverlayScheduleRun rest) :
OverlayScheduleRun (NFParse.push hr hlhs hc hrhs rest)

Start a fresh private singleton above a nonempty adjacent overlay.