OAI/Computability/MaxCut/Machines/CloneMachineModel.lean
131 declarations, 0 contain sorry, 0 declared as axioms
Affine word emission in the actual clone-table machine
The shared machine keeps its context fixed while copying one saved word. Its
finite transducer therefore acts by a fixed symbol substitution. The lemmas
below identify that substitution with the established unary encoding of
offset + scale * value, including all header and equation-field contexts.
Scale, offset, and the triple-table length remain symbolic.
- inductive
OAI.MaxCutGames.Reduction.CloneMachineModel.Tapeline 12 - abbrev
OAI.MaxCutGames.Reduction.CloneMachineModel.Contextline 16 - abbrev
OAI.MaxCutGames.Reduction.CloneMachineModel.Stateline 17 - abbrev
OAI.MaxCutGames.Reduction.CloneMachineModel.Alphabetline 18 - inductive
OAI.MaxCutGames.Reduction.CloneMachineModel.Labelline 20 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.defaultControlline 36 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.initialStateline 37 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.headerTapeline 39 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.contextSourceline 41 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.contextScaleline 45 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.tripleFieldline 49 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.contextOffsetline 56 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.affineEmitline 60 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.emissionline 64 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.contextNextline 67 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.cleanupNextline 74 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.drainline 77 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.programline 84 - def
OAI.MaxCutGames.Reduction.CloneMachineModel.machineline 107 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_eq_flatMapline 136Source documentation
Identity control transitions reduce exactly to fixed symbol substitution.
theorem output_eq_flatMap {Q : Type} [Fintype Q] (emit : Q → Bool → List Bool) (q : Q) (input : List Bool) : MachineTransducer.output (fun state _ => state) emit q input = input.flatMap (emit q) := by …Mentions: OAI.MaxCutGames.Reduction.MachineTransducer.output
- theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_appendline 145 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.affineEmit_replicate_trueline 152 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.affineEmit_wordline 160Source documentation
This includes zero scale and zero offset, with no positivity assumptions.
theorem affineEmit_word (scale offset v : Nat) : (encodeWord v).flatMap (affineEmit scale offset) = encodeWord (offset + scale * v) := by … - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.affineEmit_word_appendline 167 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.affineEmit_wordsline 172 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_wordline 181Source documentation
Exact symbolic context transform used by the shared clone-table machine.
theorem output_word (triples : List (Nat × Nat × Nat)) (c : Context triples.length) (v : Nat) : MachineTransducer.output (fun q _ => q) (emission triples) c (encodeWord v) = encodeWord (contextOffset triples c + contextScale c * v) := by …Mentions: OAI.MaxCutGames.Reduction.MachineTransducer.output
- theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_word_appendline 188 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_wordsline 195 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_header_variablesline 202 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_header_countline 208Source documentation
The equation-count multiplier remains the arbitrary symbolic table length.
theorem output_header_count (triples : List (Nat × Nat × Nat)) (v : Nat) : MachineTransducer.output (fun q _ => q) (emission triples) (.inl 1) (encodeWord v) = encodeWord (triples.length * v) := by …Mentions: OAI.MaxCutGames.Reduction.MachineTransducer.output
- theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_fieldline 213 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_first_fieldline 219 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_second_fieldline 225 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_third_fieldline 231 - theorem
OAI.MaxCutGames.Reduction.CloneMachineAffine.output_rhs_fieldline 238Source documentation
RHS words are copied exactly, including both legal Boolean values.
theorem output_rhs_field (triples : List (Nat × Nat × Nat)) (i : Fin triples.length) (v : Nat) : MachineTransducer.output (fun q _ => q) (emission triples) (.inr (i, 3)) (encodeWord v) = encodeWord v := by …Mentions: OAI.MaxCutGames.Reduction.MachineTransducer.output
- inductive
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.Labelline 255 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.readStartline 259 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.readLoopline 260 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.destinationline 264 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.statementline 266 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.atReadStartline 280 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.atReadLoopline 287 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.atReadDoneline 295 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.copiedline 300 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.readTapesline 303 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapesline 308 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.clear_readTapesline 312 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.readTapes_workline 332 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes_otherline 337 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes_sourceline 341 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes_workline 345 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes_nline 348 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes_mline 352 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.inTimeline 357Source documentation
Actual copying, two-field extraction, and complete disposal of the work copy.
def inTime (slots : Fin 5 ↪ K) (labels : Label → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, program (labels label) = statement slots labels exit label) (base : K → List Bool) (n m : Nat) (suffix : List Bool) (hinput : base (slots 0) = encodeWords [n, m] ++ suffix) (hwork : base (slots 1) = []) (hscratch : base (slots 4) = []) (ambient : σ) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step program) ⟨some (labels .copyOut), ((ambient, ()), register), base⟩ (some ⟨exit, ((ambient, ()), none), resultTapes slots base n m⟩) (3 * (base (slots 0)).length + 6) := by …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.Label, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.statement, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes
- def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.baseConstantline 407 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.radixline 408 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.capacityline 409 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.edgeFactorline 410 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.edgeCountline 412 - inductive
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Kindline 416 - abbrev
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Kind.enumListline 419 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Kind.enumList_getElem?_ctorIdx_eqline 421 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Kind.enumList_nodupline 425 - instance
OAI.MaxCutGames.Reduction.MachineAddressHeaders.(instance at line 427)line 427 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.polynomialline 431 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.polynomial_capacity_evalline 435 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.polynomial_edges_evalline 439 - inductive
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Controlline 445 - abbrev
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Control.enumListline 450 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Control.enumList_getElem?_ctorIdx_eqline 453 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Control.enumList_nodupline 457 - instance
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.(instance at line 459)line 459 - abbrev
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Coefficientsline 463 - abbrev
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Layoutline 467 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.inputControlline 469 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.outputControlline 472 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.controlSlotsline 475 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.coefficientBlockline 483 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.localSlotsline 490 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.controlline 511 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlotsline 513 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control_eq_iffline 517 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_radixline 520 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_accAline 522 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_accBline 524 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_destinationline 526 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_counterline 528 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_scratchline 530 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalSlots_digitline 532 - inductive
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Labelline 536 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalStartline 542 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.afterEvalline 545 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.statementline 551Source documentation
The fixed arithmetic program never captures input counts in its code.
def statement (slots : Layout k s d noiseCount ↪ K) (labels : Label k s d noiseCount → Λ) (exit : Option Λ) : Label k s d noiseCount → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ) | .copyNOut => MachineTransfer.loopAt (control slots .variableCount) (control slots .scratch) id false (labels .copyNOut) (some (labels .copyNBack)) | .copyNBack => MachineCopy.forkLoop (control slots .scratch) (control slots .variableCount) (control slots .baseValue) false (labels .copyNBack) (some (labels .copyMOut)) | .copyMOut => MachineTransfer.loopAt (control slots .occurrenceCount) (control slots .scratch) id false (labels .copyMOut) (some (labels .copyMBack)) | .copyMBack => MachineCopy.forkLoop (control slots .scratch) (control slots .occurrenceCount) (control slots .temporary) false (labels .copyMBack) (some (labels .addM)) | .addM => MachineUnaryAddAt.loop (control slots .temporary) (control slots .baseValue) …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Label, OAI.MaxCutGames.Reduction.MachineTransfer.loopAt, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control
- structure
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.WorkCleanline 582 - structure
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Cleanline 589 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.WorkClean.update_controlline 595 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalPhaseTraceline 608Source documentation
One placed invocation of the already checked preserving polynomial evaluator.
theorem evalPhaseTrace (slots : Layout k s d noiseCount ↪ K) (labels : Label k s d noiseCount → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, program (labels label) = statement slots labels exit label) (kind : Kind) (base : K → List Bool) (value : Nat) (hinput : base (control slots (inputControl kind)) = encodeWord value) (hdest : base (control slots (outputControl kind)) = []) (clean : WorkClean slots base) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[SourceHeaderCounts.Eval.steps (polynomial k s d noiseCount kind) value] (some ⟨some (labels (evalStart kind)), ((ambient, ()), register), base⟩) = some ⟨some (labels (afterEval kind)), ((ambient, ()), none), Function.update base (control slots (outputControl kind)) …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Label, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.statement, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Kind, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.inputControl, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.outputControl, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.WorkClean, OAI.MaxCutGames.Reduction.MachineAddressHeaders.polynomial, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalStart, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.afterEval
- def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.headerBitsline 631 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.resultTapesline 634 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.stepsline 641 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.trace_trans_inline_MachineAddressHeadersline 647 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.preparedBaseline 651 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.prepareBaseTraceline 656Source documentation
Copies preserve both operands; addition consumes only the temporary copy.
theorem prepareBaseTrace (slots : Layout k s d noiseCount ↪ K) (labels : Label k s d noiseCount → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, program (labels label) = statement slots labels exit label) (base : K → List Bool) (n m : Nat) (hn : base (control slots .variableCount) = encodeWord n) (hm : base (control slots .occurrenceCount) = encodeWord m) (clean : Clean slots base) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[2 * n + 3 * m + 10] (some ⟨some (labels .copyNOut), ((ambient, ()), register), base⟩) = some ⟨some (labels (evalStart .capacity)), ((ambient, ()), none), preparedBase slots base n m⟩ := by …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Label, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.statement, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Clean, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.evalStart, OAI.MaxCutGames.Reduction.MachineAddressHeaders.capacity, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.preparedBase
- theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.doubleTraceline 729Source documentation
Physical doubling emits the vertex-count word and restores the capacity.
theorem doubleTrace (slots : Layout k s d noiseCount ↪ K) (labels : Label k s d noiseCount → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, program (labels label) = statement slots labels exit label) (base : K → List Bool) (value : Nat) (hcap : base (control slots .capacity) = encodeWord value) (hscratch : base (control slots .scratch) = []) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[3 * value + 5] (some ⟨some (labels .doubleScan), ((ambient, ()), register), base⟩) = some ⟨some (labels .alphabet), ((ambient, ()), none), Function.update base (control slots .reversed) ((encodeWord (2 * value)).reverse ++ base (control slots .reversed))⟩ := by …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Label, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.statement, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.capacity
- theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.traceline 755Source documentation
All arithmetic and header emission, with exact composed transition count.
theorem trace (slots : Layout k s d noiseCount ↪ K) (labels : Label k s d noiseCount → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, program (labels label) = statement slots labels exit label) (base : K → List Bool) (n m : Nat) (hn : base (control slots .variableCount) = encodeWord n) (hm : base (control slots .occurrenceCount) = encodeWord m) (clean : Clean slots base) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[steps k s d noiseCount n m] (some ⟨some (labels .copyNOut), ((ambient, ()), register), base⟩) = some ⟨exit, ((ambient, ()), none), resultTapes slots base n m⟩ := by …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Label, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.statement, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Clean, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.steps, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.resultTapes
- def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.inTimeline 837 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.timePolynomialline 854Source documentation
A fixed polynomial in the serialized input length bounds actual steps.
def timePolynomial (k s d noiseCount : Nat) : Polynomial Nat := …
- theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.steps_le_timePolynomialline 861 - abbrev
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Layoutline 884 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.arithmeticSlotsline 888 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.prefixLocalline 893 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.prefixLocal_applyline 901 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.prefixSlotsline 910 - abbrev
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Labelline 913 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.statementline 915 - structure
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Cleanline 922 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.prefixResult_controlline 929Source documentation
Prefix writes only the read-copy and the two designated count tapes.
theorem prefixResult_control (slots : Layout k s d noiseCount ↪ K) (base : K → List Bool) (n m : Nat) (c : Arithmetic.Control) (hn : c ≠ .variableCount) (hm : c ≠ .occurrenceCount) : Prefix.resultTapes (prefixSlots slots) base n m (Arithmetic.control (arithmeticSlots slots) c) = base (Arithmetic.control (arithmeticSlots slots) c) := by …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.Control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Prefix.resultTapes, OAI.MaxCutGames.Reduction.MachineAddressHeaders.prefixSlots, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.arithmeticSlots
- theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.prefixResult_coefficientline 939 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.Clean.afterPrefixline 946 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapesline 960 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.inTimeline 965 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.timePolynomialline 1011 - def
OAI.MaxCutGames.Reduction.MachineAddressHeaders.inPolynomialTimeline 1014 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_sourceline 1035 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_nline 1041 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_mline 1048 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_baseline 1055 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_capacityline 1060 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_reversedline 1065 - theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_otherline 1074Source documentation
No slot other than the read-copy, saved counts, B, cap, and output is changed.
theorem resultTapes_other (slots : Layout k s d noiseCount ↪ K) (base : K → List Bool) (n m : Nat) (tape : K) (hread : tape ≠ slots (.inl 1)) (hn : tape ≠ Arithmetic.control (arithmeticSlots slots) .variableCount) (hm : tape ≠ Arithmetic.control (arithmeticSlots slots) .occurrenceCount) (hB : tape ≠ Arithmetic.control (arithmeticSlots slots) .baseValue) (hcap : tape ≠ Arithmetic.control (arithmeticSlots slots) .capacity) (hout : tape ≠ Arithmetic.control (arithmeticSlots slots) .reversed) : resultTapes slots base n m tape = base tape := by …Mentions: OAI.MaxCutGames.Reduction.MachineAddressHeaders.Layout, OAI.MaxCutGames.Reduction.MachineAddressHeaders.Arithmetic.control, OAI.MaxCutGames.Reduction.MachineAddressHeaders.arithmeticSlots, OAI.MaxCutGames.Reduction.MachineAddressHeaders.capacity, OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes
- theorem
OAI.MaxCutGames.Reduction.MachineAddressHeaders.resultTapes_readCopyline 1087