OAI/Computability/MaxCut/Machines/MachineFieldProfile.lean
35 declarations, 0 contain sorry, 0 declared as axioms
Preserved comparisons of actual field stacks and their finite equality profile. All whole-word equalities below are specifications of finite-head comparison.
- abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Profileline 16 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.equalityProfileline 18 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.equalityProfile_encodeWordline 21 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.statement_roundtripline 36 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.copyStateEquivline 41 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.normalStateline 48 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.copyStatementline 50 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.copyInCompareStateline 55 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.nonDestructiveCompareInTimeline 102 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.setEntryline 159 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.setEntry_applyline 162 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.setExpectedline 168 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.foldProfileline 172 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.foldProfile_applyline 175 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Tapeline 191 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Labelline 192 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.labelAtline 194 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.storePairline 197 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileProgramline 204Source documentation
The fixed list of pairs determines all control labels and original fields. The program compares only copied work-stack heads, then stores one finite bit.
def profileProgram {q : Nat} (cells : List (Fin q × Fin q)) (label : Label cells) : TM2.Stmt (fun _ : Tape q => Bool) (Label cells) (MachineCompare.State (Profile q)) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Label, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineCompare.State, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Profile
- def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.pairTimeline 224 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixProfileline 228 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixTimeline 232 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixProfile_succline 236 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixTime_succline 244 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.stageInTimeline 252Source documentation
One fully constructed copy/copy/compare/store stage, restoring every stack.
def stageInTime {q : Nat} (cells : List (Fin q × Fin q)) (r : Nat) (hr : r < cells.length) (base : Tape q → List Bool) (hwork : ∀ w : Fin 3, base (.inr w) = []) (profile : Profile q) : StateTransition.EvalsToInTime (TM2.step (profileProgram cells)) ⟨some (labelAt cells r 0), normalState profile, base⟩ (some ⟨some (labelAt cells (r + 1) 0), normalState (setExpected (fun i => base (.inl i)) profile cells[r]), base⟩) (pairTime (fun i => base (.inl i)) cells[r]) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Profile, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileProgram, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.labelAt, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.normalState, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.setExpected, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.pairTime
- def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixInTimeline 298Source documentation
Compose the actual stages up to any fixed position in the pair list.
def prefixInTime {q : Nat} (cells : List (Fin q × Fin q)) (base : Tape q → List Bool) (hwork : ∀ w : Fin 3, base (.inr w) = []) (initial : Profile q) (r : Nat) (hr : r ≤ cells.length) : StateTransition.EvalsToInTime (TM2.step (profileProgram cells)) ⟨some (labelAt cells 0 0), normalState initial, base⟩ (some ⟨some (labelAt cells r 0), normalState (prefixProfile (fun i => base (.inl i)) initial cells r), base⟩) (prefixTime (fun i => base (.inl i)) cells r) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Profile, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileProgram, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.labelAt, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.normalState, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixProfile, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.prefixTime
- def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.allPairsline 318 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.mem_allPairsline 321 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.length_allPairsline 324 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.foldProfile_allPairsline 327 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileMachineline 333Source documentation
A concrete finite machine for the full field equality matrix.
def profileMachine (q : Nat) : FinTM2 where …
- def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileInTimeline 345Source documentation
Compute every matrix entry while preserving all original field stacks.
def profileInTime (q : Nat) (base : Tape q → List Bool) (hwork : ∀ w : Fin 3, base (.inr w) = []) (initial : Profile q) : StateTransition.EvalsToInTime (profileMachine q).step ⟨some (labelAt (allPairs q) 0 0), normalState initial, base⟩ (some ⟨none, normalState (equalityProfile (fun i => base (.inl i))), base⟩) (((allPairs q).map (pairTime (fun i => base (.inl i)))).sum + 1) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Profile, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileMachine, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.labelAt, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.allPairs, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.normalState, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.equalityProfile, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.pairTime
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.pairTime_leline 371 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.totalTime_leline 380 - def
OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileInTime_boundedline 392Source documentation
A linear bound in the maximum original field length, for fixed
q. The actual machine and execution witness are retained.def profileInTime_bounded (q : Nat) (base : Tape q → List Bool) (hwork : ∀ w : Fin 3, base (.inr w) = []) (initial : Profile q) (L : Nat) (hL : ∀ i, (base (.inl i)).length ≤ L) : StateTransition.EvalsToInTime (profileMachine q).step ⟨some (labelAt (allPairs q) 0 0), normalState initial, base⟩ (some ⟨none, normalState (equalityProfile (fun i => base (.inl i))), base⟩) (q * q * (5 * L + 6) + 1) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.Profile, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.profileMachine, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.labelAt, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.allPairs, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.normalState, OAI.MaxCutGames.Foundations.Complexity.MachineFieldProfile.equalityProfile