Imports
Quoted rows for every outer dispatch mux
The already closed label-major packet compiler and mux expander are retargeted to their typed invocation views, then composed with the delimiter-safe parser. The output order is seed-major and label-minor, matching the canonical dispatch artifact order.
noncomputable sectionnamespace CLRS.Chapter34.Turing.CookLevinopen PolyBuilderCanonical global mux bytes are exactly the encoding of the reconstructed seed-major typed views.
theorem verifierTransitionDispatchMuxInvocationFrames_eq_viewFamily
{Γ : Type} {L : Language Γ} (W : VerifierWitness L)
(input : List Γ) :
verifierTransitionDispatchMuxInvocationFrames W input =
transitionMuxInvocationViewFamilyFrames
(verifierTransitionDispatchMuxInvocationViews W input) := by
unfold verifierTransitionDispatchMuxInvocationFrames
transitionMuxInvocationViewFamilyFrames
verifierTransitionDispatchMuxInvocationViews
rw [List.flatMap_assoc]
apply List.flatMap_congr
intro seed hseed
rw [transitionDispatchMuxDescriptorInvocationViews_eq_artifacts W input
seed hseed]
rw [List.flatMap_map]
exact
(transitionDispatchArtifactsFromSeed_muxInvocationViews_encode
W.machine.tm seed).symmThe physical global mux machine exposed through its typed view family.
noncomputable def
verifierTransitionDispatchMuxInvocationViews_computableInPolyTime
{Γ : Type} {L : Language Γ} (W : VerifierWitness L) :
_root_.Turing.TM2ComputableInPolyTime id
transitionMuxInvocationViewFamilyFrames
(verifierTransitionDispatchMuxInvocationViews W) := by
let raw :=
verifierTransitionDispatchMuxInvocationFrames_computableInPolyTime_of_labelPacketCompiler
W
(verifierTransitionDispatchMuxInvocationLabelMajorPacketFamily_computableInPolyTime
W)
exact
{ tm := raw.tm
inputAlphabet := raw.inputAlphabet
outputAlphabet := raw.outputAlphabet
time := raw.time
outputsFun := fun input => by
have run := raw.outputsFun input
rw [verifierTransitionDispatchMuxInvocationFrames_eq_viewFamily W
input] at run
simpa only [id_eq] using run }Marked quoted rows for every outer dispatch mux invocation.
noncomputable def verifierTransitionDispatchQuotedMuxFamily
{Γ : Type} {L : Language Γ} (W : VerifierWitness L)
(input : List Γ) : UnaryFrameMarkedRowFamily :=
transitionMuxInvocationQuotedRowFamily
(verifierTransitionDispatchMuxInvocationViews W input)@[simp] theorem verifierTransitionDispatchQuotedMuxFamily_rows
{Γ : Type} {L : Language Γ} (W : VerifierWitness L)
(input : List Γ) :
(verifierTransitionDispatchQuotedMuxFamily W input).rows =
(verifierTransitionDispatchMuxInvocationViews W input).map fun view =>
quoteUnaryFrameStream view.encode := rflConcrete raw-input compiler for all quoted outer mux rows.
noncomputable def
verifierTransitionDispatchQuotedMuxFamily_computableInPolyTime
{Γ : Type} {L : Language Γ} (W : VerifierWitness L) :
_root_.Turing.TM2ComputableInPolyTime id
encodeUnaryFrameMarkedRowFamily
(verifierTransitionDispatchQuotedMuxFamily W) := by
let composed :=
_root_.Turing.TM2Comp.TM2ComputableInPolyTime.comp_scratch
(verifierTransitionDispatchMuxInvocationViews_computableInPolyTime W)
transitionMuxQuotedRowParser_computableInPolyTime
change _root_.Turing.TM2ComputableInPolyTime id
encodeUnaryFrameMarkedRowFamily
(fun input => transitionMuxInvocationQuotedRowFamily
(verifierTransitionDispatchMuxInvocationViews W input))
simpa only [Function.comp_def] using Classical.choice composedend CLRS.Chapter34.Turing.CookLevin