OAI/Computability/UniqueGames/PCP/LoopInitializationLemmas.lean
32 declarations, 0 contain sorry, 0 declared as axioms
The concrete tapes produced by initialization satisfy the row-zero loop
invariant. Execution of initialization is proved separately by
Initialization.initializeInTime; this bridge identifies its resulting tapes.
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.LoopInitialization.initialization_readyline 30Source documentation
The actual initial loop tapes contain the complete unread input rows and exactly the two output headers in reverse order on the accumulation tape.
theorem initialization_ready {q : Nat} (input : GenericGraphTables.Table q) : Ready input 0 (Initialization.loopTapes input) where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Initialization.loopTapes
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.zeroGuardInTimeline 69Source documentation
The zero guard preserves all tapes, resets its temporary register, and enters the actual driver's output-reversal phase in one transition.
def zeroGuardInTime (input : GenericGraphTables.Table q) (base : Tape → List Bool) (ready : LoopState.Ready input input.darts base) (relation : GenericGraphTables.RelationTable q) (flag : Bool) : StateTransition.EvalsToInTime (TM2.step (Driver.program q)) ⟨some .guard, normal relation flag, base⟩ (some ⟨some .reverseOutput, normal relation flag, base⟩) 1 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.LoopState.Ready, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.RelationTable, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program
- structure
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.LoopResultline 84Source documentation
Concrete final configuration and full remaining-loop execution.
structure LoopResult (input : GenericGraphTables.Table q) (e remaining : Nat) (base : Tape → List Bool) (oldRelation : GenericGraphTables.RelationTable q) (oldFlag : Bool) where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.RelationTable
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.runRemainingline 96 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.prefixTimeline 130Source documentation
A quadratic prefix allowance because the number of original rows is at most the length of their fully encoded input table.
def prefixTime (q N : Nat) : Nat := …
- structure
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.PrefixResultline 148Source documentation
Actual initialization followed by every row, ending just before reversal.
structure PrefixResult (input : GenericGraphTables.Table q) where …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.runPrefixline 160Source documentation
No initialization or row trace is assumed: both are instantiated at this actual finite driver and this input, then composed.
def runPrefix (input : GenericGraphTables.Table q) : PrefixResult input := by …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.PrefixResult
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.PrefixResult.reversedline 183 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Loop.PrefixResult.outputline 187 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.prefixPolynomialline 201 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.prefixPolynomial_evalline 207 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.timeline 214 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.tableOutputsInTimeline 218Source documentation
The concrete driver outputs exactly the checked table encoding.
noncomputable def tableOutputsInTime {q : Nat} (input : GenericGraphTables.Table q) : TM2OutputsInTime (Driver.machine q) (GenericGraphTables.tableBits input) (some (GraphTables.tableBits (Table.build input))) ((time q).eval (GenericGraphTables.tableBits input).length) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.machine, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.time
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.tablePolynomialTimeline 236Source documentation
Fixed q determines one finite machine and one natural polynomial. The input and output alphabets use the exact shared Bool serialization interfaces.
noncomputable def tablePolynomialTime (q : Nat) : TM2ComputableInPolyTime (GenericGraphTables.tableBits (q := q)) …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.finiteAlphabetline 271 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Runtime.finiteAlphabetline 277 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingFinishRuntime.finishline 293 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingFinishRuntime.output_eq_finishline 298 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingFinishRuntime.finish_degree_positiveline 302 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingFinishRuntime.computableInPolyTimeline 307Source documentation
Both stages supply complete executions, cleanup, and polynomial bounds; the sequential composition includes the physical interstage bit transfer.
noncomputable def computableInPolyTime (H : PreprocessingTables.BaseTable) (d : Nat) (hd : 0 < d) : TM2ComputableInPolyTime (PortTables.inputBits (ports := d)) …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingTables.BaseTable, OAI.UniqueGamesTheorem.Foundations.PCP.PortTables.inputBits
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingFinishRuntime.finite_alphabetline 318 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingRuntime.tablePolynomialTimeline 338 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PreprocessingRuntime.finiteAlphabetline 351 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PreprocessingCertificateline 379Source documentation
The exact pending preprocessing interface, including its output encoding.
abbrev PreprocessingCertificate (H : RoundTables.BaseTable) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.BaseTable
- abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PoweringCertificateline 385Source documentation
The exact powering interface at the fixed parameters of the round.
abbrev PoweringCertificate := …
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.powered_eq_transformline 391 - def
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.poweredPolynomialTimeOfCertificatesline 398Source documentation
Both actual transfer loops between the machines are included by
MachineSequential.composeBits; their work contributes to its polynomial.noncomputable def poweredPolynomialTimeOfCertificates (H : RoundTables.BaseTable) (preprocessing : PreprocessingCertificate H) (powering : PoweringCertificate) : TM2ComputableInPolyTime GraphTables.tableBits (GenericGraphTables.tableBits (q := RoundTables.alphabet)) …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.BaseTable, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PreprocessingCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PoweringCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.alphabet
- def
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.tablePolynomialTimeOfCertificatesline 408 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.powered_finiteAlphabetline 420Source documentation
All intermediate work alphabets stay finite under the actual sequential composition, provided that they are finite in the two supplied machines.
theorem powered_finiteAlphabet (H : RoundTables.BaseTable) (preprocessing : PreprocessingCertificate H) (powering : PoweringCertificate) (hpreprocessing : MachineFiniteAlphabet.FiniteAlphabet preprocessing.tm) (hpowering : MachineFiniteAlphabet.FiniteAlphabet powering.tm) : MachineFiniteAlphabet.FiniteAlphabet (poweredPolynomialTimeOfCertificates H preprocessing powering).tm := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.BaseTable, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PreprocessingCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PoweringCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.poweredPolynomialTimeOfCertificates
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.finiteAlphabetline 430Source documentation
This is a separate work-alphabet fact about the same runtime certificate; the final alphabet stage has homogeneous Bool tapes.
theorem finiteAlphabet (H : RoundTables.BaseTable) (preprocessing : PreprocessingCertificate H) (powering : PoweringCertificate) (hpreprocessing : MachineFiniteAlphabet.FiniteAlphabet preprocessing.tm) (hpowering : MachineFiniteAlphabet.FiniteAlphabet powering.tm) : MachineFiniteAlphabet.FiniteAlphabet (tablePolynomialTimeOfCertificates H preprocessing powering).tm := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.BaseTable, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PreprocessingCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PoweringCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.tablePolynomialTimeOfCertificates
- def
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.tablePolynomialTimeline 444Source documentation
Powering and alphabet reduction now use their constructed finite machines. The only remaining input is an execution certificate for preprocessing.
noncomputable def tablePolynomialTime (H : RoundTables.BaseTable) (preprocessing : PreprocessingCertificate H) : TM2ComputableInPolyTime GraphTables.tableBits GraphTables.tableBits (RoundTables.build H) := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.BaseTable, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PreprocessingCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.build
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.tablePolynomialTime_finite_alphabetline 454Source documentation
The same certificate has finite work-tape alphabets whenever the supplied preprocessing machine does; both later stages supply their own proof.
theorem tablePolynomialTime_finite_alphabet (H : RoundTables.BaseTable) (preprocessing : PreprocessingCertificate H) (hpreprocessing : MachineFiniteAlphabet.FiniteAlphabet preprocessing.tm) : MachineFiniteAlphabet.FiniteAlphabet (tablePolynomialTime H preprocessing).tm := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.RoundTables.BaseTable, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.PreprocessingCertificate, OAI.UniqueGamesTheorem.Foundations.PCP.RoundComputation.tablePolynomialTime