OAI/Computability/MaxCut/Estimates/Sample.lean
80 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.OptimalMaxCut.LongCode.Game.Sampleline 13 - def
OAI.OptimalMaxCut.LongCode.Game.gridSizeline 17Source documentation
One input-size polynomial denominator, rather than a product of all vertex degrees. Both grid and unweighting error are uniform over all cuts.
def gridSize (Y E : Type) [Fintype Y] [Fintype E] (q K : ℕ) := …
- theorem
OAI.OptimalMaxCut.LongCode.Game.gridSize_posline 20 - def
OAI.OptimalMaxCut.LongCode.Game.gridWeightsline 23 - theorem
OAI.OptimalMaxCut.LongCode.Game.gridWeights_errorline 28 - def
OAI.OptimalMaxCut.LongCode.Game.gridOutputline 45 - theorem
OAI.OptimalMaxCut.LongCode.Game.gridOutput_errorline 49 - theorem
OAI.OptimalMaxCut.LongCode.Game.gridOutput_completeline 57 - theorem
OAI.OptimalMaxCut.LongCode.Game.gridOutput_vertex_boundline 67 - theorem
OAI.OptimalMaxCut.LongCode.Game.exists_grid_gap_parametersline 74Source documentation
All game-independent constants for the rounded, executable-integer target. This is the mathematical gap; the polynomial TM printer is still separate.
theorem exists_grid_gap_parameters (α : ℝ) (hα : alphaGW < α) (hα1 : α ≤ 1) : ∃ (t ε y n : ℚ) (δ : ℝ) (K : ℕ) (ht : t ∈ Set.Icc (-1 : ℚ) 1), 0 < t ∧ t < 1 ∧ 0 < ε ∧ (ε:ℝ) < 1/2 ∧ 0 < δ ∧ δ < 1/2 ∧ 0 < y ∧ 0 ≤ n ∧ (n:ℝ) < α*(y:ℝ) ∧ (∀ {X Y E : Type} [Fintype X] [Fintype Y] [Fintype E] {q N : ℕ} (G : Game X Y E q) (enum : X × Cube (Fin q) ≃ Fin N) (anchor : Fin N), (∃ lx ly, 1-(ε:ℝ) ≤ G.satisfied lx ly) → (y:ℝ) ≤ ((G.gridOutput t ht enum anchor K).graph.maxCut : ℝ) / (G.gridOutput t ht enum anchor K).scale) ∧ (∀ {X Y E : Type} [Fintype X] [Fintype Y] [Fintype E] {q N : ℕ} (_hq : 0 < q) (G : Game X Y E q) (enum : X × Cube (Fin q) ≃ Fin N) (anchor : Fin N), G.Sound δ → ((G.gridOutput t ht enum anchor K).graph.maxCut : ℝ) / …Mentions: OAI.OptimalMaxCut.alphaGW, OAI.OptimalMaxCut.LongCode.Game
- inductive
OAI.OptimalMaxCut.CounterMachine.Tapeline 125 - inductive
OAI.OptimalMaxCut.CounterMachine.Instructionline 129 - structure
OAI.OptimalMaxCut.CounterMachine.Dataline 140 - structure
OAI.OptimalMaxCut.CounterMachine.Configurationline 146 - def
OAI.OptimalMaxCut.CounterMachine.Instruction.executeline 151 - def
OAI.OptimalMaxCut.CounterMachine.stepline 169 - def
OAI.OptimalMaxCut.CounterMachine.tapesline 172 - def
OAI.OptimalMaxCut.CounterMachine.embedline 178 - def
OAI.OptimalMaxCut.CounterMachine.gotoline 181 - def
OAI.OptimalMaxCut.CounterMachine.Instruction.codeline 184 - theorem
OAI.OptimalMaxCut.CounterMachine.tapes_incline 202 - theorem
OAI.OptimalMaxCut.CounterMachine.tapes_decline 212 - theorem
OAI.OptimalMaxCut.CounterMachine.tapes_readline 222 - theorem
OAI.OptimalMaxCut.CounterMachine.tapes_backline 228 - theorem
OAI.OptimalMaxCut.CounterMachine.tapes_writeline 234 - theorem
OAI.OptimalMaxCut.CounterMachine.instruction_simulationline 239 - theorem
OAI.OptimalMaxCut.CounterMachine.step_simulationline 281 - def
OAI.OptimalMaxCut.CounterMachine.machineline 291Source documentation
No semantic atomic arithmetic operation is being charged unit time: only unary increment/decrement, one input/output bit, and finite jumps are atomic.
def machine [Fintype R] [Fintype L] (p : L → Instruction R L) (main : L) : FinTM2 where …
- theorem
OAI.OptimalMaxCut.CounterMachine.finite_tape_alphabetline 302 - inductive
OAI.OptimalMaxCut.CounterMachine.Commandline 314Source documentation
A structured program still has only finitely many syntactic labels.
loop r ctests/decrements its own unary counter, then runsc. It is a genuine while loop: no claim of termination is built into the syntax.inductive Command (R : Type) where …
- def
OAI.OptimalMaxCut.CounterMachine.Command.Labelline 328 - instance
OAI.OptimalMaxCut.CounterMachine.Command.labelFintypeline 335 - def
OAI.OptimalMaxCut.CounterMachine.Command.entryline 343 - def
OAI.OptimalMaxCut.CounterMachine.Command.codeline 348 - def
OAI.OptimalMaxCut.CounterMachine.Command.incDataline 376 - def
OAI.OptimalMaxCut.CounterMachine.Command.decDataline 378 - def
OAI.OptimalMaxCut.CounterMachine.Command.readDataline 380 - def
OAI.OptimalMaxCut.CounterMachine.Command.backDataline 382 - def
OAI.OptimalMaxCut.CounterMachine.Command.discardDataline 384 - def
OAI.OptimalMaxCut.CounterMachine.Command.writeDataline 385 - inductive
OAI.OptimalMaxCut.CounterMachine.Command.Evaluatesline 389Source documentation
Timed operational semantics. Loop termination and the number of iterations must be proved by the caller; there is no hidden bounded-search oracle.
inductive Evaluates : Command R → Data R → Data R → ℕ → Prop | skip (d) : Evaluates .skip d d 1 | inc (d r) : Evaluates (.inc r) d (incData d r) 1 | dec (d r) : Evaluates (.dec r) d (decData d r) 1 | write (d b) : Evaluates (.write b) d (writeData d b) 1 | discard (d) : Evaluates .discard d (discardData d) 1 | rewind_empty {d} : d.backup = [] → Evaluates .rewind d d 1 | rewind_cons {d e n b rest} : d.backup = b :: rest → Evaluates .rewind (backData d) e n → Evaluates .rewind d e (1 + n) | seq {a b d e f n m} : Evaluates a d e n → Evaluates b e f m → Evaluates (.seq a b) d f (n + m) | test_zero {r a b d e n} : d.reg r = 0 → Evaluates a d e n → …Mentions: OAI.OptimalMaxCut.CounterMachine.Command, OAI.OptimalMaxCut.CounterMachine.Data, OAI.OptimalMaxCut.CounterMachine.Command.incData, OAI.OptimalMaxCut.CounterMachine.Command.decData, OAI.OptimalMaxCut.CounterMachine.Command.writeData, OAI.OptimalMaxCut.CounterMachine.Command.discardData, OAI.OptimalMaxCut.CounterMachine.Command.backData
- def
OAI.OptimalMaxCut.CounterMachine.advanceline 418Source documentation
Propagation through halt is explicit, as in the supplied TM2 support.
def advance (p : L → Instruction R L) : Option (Configuration R L) → Option (Configuration R L) := …
Mentions: OAI.OptimalMaxCut.CounterMachine.Instruction, OAI.OptimalMaxCut.CounterMachine.Configuration
- def
OAI.OptimalMaxCut.CounterMachine.atCfgline 421 - def
OAI.OptimalMaxCut.CounterMachine.Runsline 423 - theorem
OAI.OptimalMaxCut.CounterMachine.runs_oneline 426 - theorem
OAI.OptimalMaxCut.CounterMachine.Runs.transline 430 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.traceline 436 - theorem
OAI.OptimalMaxCut.CounterMachine.advance_simulationline 508 - theorem
OAI.OptimalMaxCut.CounterMachine.iterate_simulationline 514 - abbrev
OAI.OptimalMaxCut.CounterMachine.Command.FinalLabelline 525 - def
OAI.OptimalMaxCut.CounterMachine.Command.finalCodeline 527 - def
OAI.OptimalMaxCut.CounterMachine.Command.initialline 531 - def
OAI.OptimalMaxCut.CounterMachine.Command.finiteMachineline 534 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.finiteMachine_initialline 537 - def
OAI.OptimalMaxCut.CounterMachine.Command.machine_runline 547Source documentation
Every derived structured evaluation is an actual finite-alphabet execution, including the final halt transition. No arithmetic oracle is added.
noncomputable def machine_run [Fintype R] {c : Command R} {input : List Bool} {out : Data R} {n : ℕ} (h : Evaluates c (initial input) out n) : StateTransition.EvalsToInTime c.finiteMachine.step (initList c.finiteMachine input) (some (embed ⟨out, none⟩)) (n + 1) := by …Mentions: OAI.OptimalMaxCut.CounterMachine.Command, OAI.OptimalMaxCut.CounterMachine.Data, OAI.OptimalMaxCut.CounterMachine.Command.Evaluates, OAI.OptimalMaxCut.CounterMachine.Command.initial, OAI.OptimalMaxCut.CounterMachine.embed
- theorem
OAI.OptimalMaxCut.CounterMachine.Command.finiteMachine_finite_alphabetline 564 - def
OAI.OptimalMaxCut.CounterMachine.Data.setline 576 - theorem
OAI.OptimalMaxCut.CounterMachine.Data.set_selfline 579 - theorem
OAI.OptimalMaxCut.CounterMachine.Data.set_setline 582 - theorem
OAI.OptimalMaxCut.CounterMachine.Data.set_reg_sameline 585 - theorem
OAI.OptimalMaxCut.CounterMachine.Data.set_reg_neline 588 - theorem
OAI.OptimalMaxCut.CounterMachine.Data.set_commline 591 - def
OAI.OptimalMaxCut.CounterMachine.Command.clearline 601 - def
OAI.OptimalMaxCut.CounterMachine.Command.moveline 603 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.clear_evaluatesline 605 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.move_evaluatesline 621 - def
OAI.OptimalMaxCut.CounterMachine.Command.Withinline 651Source documentation
A definite cutoff clock for an actually terminating command, not an assumed machine-computability predicate.
def Within (c : Command R) (d e : Data R) (B : ℕ) : Prop := …
Mentions: OAI.OptimalMaxCut.CounterMachine.Command, OAI.OptimalMaxCut.CounterMachine.Data
- theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.seqline 654 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.monoline 660 - theorem
OAI.OptimalMaxCut.CounterMachine.Data.extline 673 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.loopline 679 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.incline 691 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.decline 693 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.skipline 695 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.clearline 697 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.Within.moveline 700 - def
OAI.OptimalMaxCut.CounterMachine.Command.copyline 705Source documentation
Copy without destruction using a disjoint zeroed backup register.
def copy (r s t : R) : Command R := …
Mentions: OAI.OptimalMaxCut.CounterMachine.Command
- theorem
OAI.OptimalMaxCut.CounterMachine.Command.copy_evaluatesline 708 - def
OAI.OptimalMaxCut.CounterMachine.Command.mulAddline 739 - theorem
OAI.OptimalMaxCut.CounterMachine.Command.mulAdd_evaluatesline 742