Skip to content
Browse chapters
Imports

Raw-input source for final transition constraint wires

The transition outputs form a second exact polynomial affine progression, starting at the completed-validity endpoint.

noncomputable sectionnamespace CLRS.Chapter34.Turing.CookLevinopen PolyBuilder

First final-conjunction transition source wire.

def verifierTransitionOutputBasePolynomial {Γ : Type} {L : Language Γ} (W : VerifierWitness L) : Polynomial Nat := verifierTransitionStartPolynomial W + verifierTransitionOutputOffsetPolynomial W

Forward delimiter-bearing transition source blocks.

def verifierTransitionOutputSource {Γ : Type} {L : Language Γ} (W : VerifierWitness L) (input : List Γ) : List UnaryFrameSym := exactPolynomialAffineUnaryProgressionFrameStream (verifierTransitionOutputBasePolynomial W) (verifierTransitionCostPolynomial W) (verifierHorizon W) input

The affine source is exactly the semantic transition-output list.

A fixed polynomial-time TM2 emits every transition output source from the original verifier word.

noncomputable def verifierTransitionOutputSource_computableInPolyTime {Γ : Type} {L : Language Γ} (W : VerifierWitness L) : _root_.Turing.TM2ComputableInPolyTime id id (verifierTransitionOutputSource W) := by letI : Fintype Γ := W.alphabetFintype exact exactPolynomialAffineUnaryProgressionFrameStream_computableInPolyTime (verifierTransitionOutputBasePolynomial W) (verifierTransitionCostPolynomial W) (verifierHorizon W)
end CLRS.Chapter34.Turing.CookLevin