Langlib

Langlib.Grammars.Indexed.NormalForm.Aho.Soundness.RowWork.Trace

Trace foundations for Aho's logical-slot checker #

The work-cursor semantics, canonical-padding inversion, and shared suffix decoder used by the certificate-specific soundness proofs.

The work-cursor component of CertStep, with input-head metadata omitted.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Canonical padding extracted from a valid trace #

    theorem IndexedGrammar.Aho.WorkTrace.projections_canonical {T : Type} {g : IndexedGrammar T} [Fintype g.nt] {cert : CompositeCert g} {result : WorkScanState g} {rows : List (Option (WorkSlot g) × Option (WorkSlot g) × WorkPhase)} (h : WorkTrace g cert (initialWorkScan g) rows result) :
    ∃ (oldSlots : List (WorkSlot g)) (newSlots : List (WorkSlot g)) (kOld : ) (kNew : ), List.map (fun (r : Option (WorkSlot g) × Option (WorkSlot g) × WorkPhase) => r.1) rows = List.map some oldSlots ++ List.replicate kOld none List.map (fun (r : Option (WorkSlot g) × Option (WorkSlot g) × WorkPhase) => r.2.1) rows = List.map some newSlots ++ List.replicate kNew none

    Both projections of a trace from the initial work state have canonical some* none* form.

    Generic suffix inversions #

    Old-track cells projected from synchronized trace rows.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      New-track cells projected from synchronized trace rows.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem IndexedGrammar.Aho.WorkTrace.decodeSuffixSame {T : Type} {g : IndexedGrammar T} [Fintype g.nt] {cert : CompositeCert g} {state result : WorkScanState g} {rows : List (Option (WorkSlot g) × Option (WorkSlot g) × WorkPhase)} (hphase : state.phase = WorkPhase.suffixSame) (hsuffix : ∀ (next : WorkPhase) (hist : WorkHistory g) (old new : Option (WorkSlot g)), WorkEdge g cert WorkPhase.suffixSame next hist old newnext = WorkPhase.suffixSame sameSuffix old new) (h : WorkTrace g cert state rows result) (hdone : workScanDone result = true) :

        In the equal-suffix phase, the remaining non-padding symbols are the same inactive word on both tracks.