OAI/Computability/MaxCut/Games/OccurrenceTupleOrder.lean
78 declarations, 0 contain sorry, 0 declared as axioms
Exact coordinate-order bridge from the checked tuple odometer to the
outer reduction's occurrence enumeration. The odometer changes coordinate zero
fastest; ActualEnumeration.functions changes it slowest. Reading saved digit
j.rev as query coordinate j matches the complete ordered list. No primitive
machine or assumed whole-loop runtime is introduced here.
- def
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinatesline 23Source documentation
Read the physical saved digit positions in reverse coordinate order.
def readCoordinates {m k : Nat} (digits : Fin k → Fin m) : Fin k → Fin m := … - theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinates_applyline 26 - theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinates_involutiveline 29 - def
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.coordinateEquivline 34 - theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinates_snocline 40 - theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.tupleOrder_readCoordinatesline 46Source documentation
Exact equality of occurrence lists after reading saved digits in reverse coordinate order. This includes dimension zero and radix zero.
theorem tupleOrder_readCoordinates (m k : Nat) : (MachineTupleOdometer.tupleOrder m k).map readCoordinates = ActualEnumeration.functions (List.finRange m) k := by …Mentions: OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinates, OAI.MaxCutGames.Reduction.ActualEnumeration.functions
- theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.functions_readCoordinatesline 71 - theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.functions_flatMapline 80Source documentation
An arbitrary exact emitted list, including serialized edge bytes, inherits the order identity. There is no permutation or counting-only replacement.
theorem functions_flatMap (m k : Nat) (emit : (Fin k → Fin m) → List α) : (ActualEnumeration.functions (List.finRange m) k).flatMap emit = (MachineTupleOdometer.tupleOrder m k).flatMap (fun digits => emit (readCoordinates digits)) := by …Mentions: OAI.MaxCutGames.Reduction.ActualEnumeration.functions, OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinates
- theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.actualSchedule_orderline 95Source documentation
Apply the coordinate readout to an existing actual odometer schedule. Its visit-order theorem already follows from the real nested-cycle constructors.
theorem actualSchedule_order (tree : MachineTupleOdometer.NestedCycle m current remaining bodyLabel checkLabel resetLabel program k exitLabel start finish) : tree.order.map readCoordinates = ActualEnumeration.functions (List.finRange m) k := by …Mentions: OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.readCoordinates, OAI.MaxCutGames.Reduction.ActualEnumeration.functions
- theorem
OAI.MaxCutGames.Reduction.OccurrenceTupleOrder.actualSchedule_flatMapline 101 - def
OAI.MaxCutGames.Integration.AddressTupleBudget.radixBoundline 119 - def
OAI.MaxCutGames.Integration.AddressTupleBudget.magnitudeline 121 - def
OAI.MaxCutGames.Integration.AddressTupleBudget.magnitudePolynomialline 125 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.magnitudePolynomial_evalline 130 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.source_counts_leline 136 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.radix_leline 141 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.radix_le_magnitudeline 148 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.capacity_le_magnitudeline 155 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.field_length_le_magnitudeline 163 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.canonicalValues_leline 167 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.loaded_fields_le_magnitudeline 184 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.queryWords_lt_radixline 201Source documentation
These are the actual canonical words, not arbitrary interpreted templates.
theorem queryWords_lt_radix (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (X : ActualGame.Map k s d) (w : Nat) (hw : w ∈ AddressByteSemantics.queryWords (AddressTupleLoaded.canonicalValues F tuple) X (AddressOutcomeSpecs.bitVector (rhs F tuple))) : w < CanonicalAddress.base F.«variables» F.equations.length s d := by …Mentions: OAI.MaxCutGames.Integration.AddressTupleLoaded.canonicalValues
- theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.queryWords_encoded_length_le_magnitudeline 212 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.queryWords_digits_le_magnitudeline 227 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.selected_values_boundline 242 - def
OAI.MaxCutGames.Integration.AddressTupleBudget.rowPolynomialline 267Source documentation
Both canonical templates have exactly the same fixed token count.
noncomputable def rowPolynomial (k : Nat) {s d : Nat} (T : NoiseTables.Table s d) : Polynomial Nat := … - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.eval_sum_constant_inline_AddressTupleBudgetline 272 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.selected_polynomial_evalline 281 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.rows_budget_leline 292 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.physicalField_leline 314 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.lengthSum_le_of_mem_inline_AddressTupleBudgetline 327 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.cleanup_budget_leline 341Source documentation
Cleanup sees only the four loaded fields per position; output is not scanned.
theorem cleanup_budget_le (rows : Rows k) (B C : Nat) (values : MachineOutcomeRows.Spec (4*k) (1+9*k) → MachineOutcomeRows.Values (1+9*k)) (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (base : Arena k s d noiseCount → List Bool) (ready : Ready F tuple base) : AddressTupleCleanup.budget k s d noiseCount (emitted rows B C values F tuple base) ≤ 4*k*((SourceEncoding.inputBits F).length+2) := by …Mentions: OAI.MaxCutGames.Integration.AddressTupleCleanup.budget
- def
OAI.MaxCutGames.Integration.AddressTupleBudget.timePolynomialline 364Source documentation
Fixed program dimensions determine this explicit polynomial in input bits.
noncomputable def timePolynomial (k : Nat) {s d : Nat} (T : NoiseTables.Table s d) : Polynomial Nat := … - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.timePolynomial_evalline 370 - theorem
OAI.MaxCutGames.Integration.AddressTupleBudget.budget_le_timePolynomialline 377Source documentation
Uniform bound for the actual tuple body, with all canonical values instantiated.
theorem budget_le_timePolynomial (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (T : NoiseTables.Table s d) (base : Arena k s d noiseCount → List Bool) (ready : Ready F tuple base) (clean : MachineAddressEdge.Clean (Slots k s d noiseCount) base) : AddressTupleBody.budget (AddressOutcomeSpecs.rows k T) (CanonicalAddress.base F.«variables» F.equations.length s d) (AddressGame.bodyCapacity (source F) k s d) (AddressOutcomeSpecs.values (AddressTupleLoaded.canonicalValues F tuple)) F tuple base ≤ (timePolynomial k T).eval (SourceEncoding.inputBits F).length := by …Mentions: OAI.MaxCutGames.Integration.NoiseTables.Table, OAI.MaxCutGames.Integration.AddressTupleBody.budget, OAI.MaxCutGames.Integration.AddressTupleLoaded.canonicalValues, OAI.MaxCutGames.Integration.AddressTupleBudget.timePolynomial
- def
OAI.MaxCutGames.Integration.AddressTuplePolynomial.run_actualline 403 - theorem
OAI.MaxCutGames.Integration.AddressTuplePolynomial.trace_actualline 432Source documentation
The explicit iterated transition trace and its uniform bound, for callers that compose traces directly instead of runtime-witness structures.
theorem trace_actual (T : NoiseTables.Table s d) (labels : AddressTupleBody.Label k s d noiseCount (AddressOutcomeSpecs.rows k T) → Λ) (exit : Option Λ) (P : Λ → TM2.Stmt (fun _ : AddressTupleBody.Arena k s d noiseCount => Bool) Λ (BodyState k)) (atLabels : ∀ l, P (labels l) = instruction (AddressOutcomeSpecs.rows k T) labels exit l) (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (base : AddressTupleBody.Arena k s d noiseCount → List Bool) (ready : Ready F tuple base) (clean : MachineAddressEdge.Clean (Slots k s d noiseCount) base) (oldRhs : Fin k → Bool) (hB : base (headerTape k s d noiseCount .baseValue) = encodeWord (CanonicalAddress.base F.«variables» F.equations.length s d)) (hC : base (headerTape k s d noiseCount .capacity) = …Mentions: OAI.MaxCutGames.Integration.NoiseTables.Table, OAI.MaxCutGames.Integration.AddressTupleBody.Label, OAI.MaxCutGames.Integration.AddressTupleBody.Arena
- theorem
OAI.MaxCutGames.Reduction.OutputSize.explicitBodies_length_leline 476 - def
OAI.MaxCutGames.Reduction.OutputSize.vertexCoefficientline 485 - def
OAI.MaxCutGames.Reduction.OutputSize.edgeCoefficientline 488 - theorem
OAI.MaxCutGames.Reduction.OutputSize.collect_vertex_coefficient_inline_OutputSizeline 492 - theorem
OAI.MaxCutGames.Reduction.OutputSize.collect_edge_coefficient_inline_OutputSizeline 497 - theorem
OAI.MaxCutGames.Reduction.OutputSize.output_vertices_leline 502 - theorem
OAI.MaxCutGames.Reduction.OutputSize.output_constraints_eqline 516 - def
OAI.MaxCutGames.Reduction.OutputSize.sizeBoundline 523 - theorem
OAI.MaxCutGames.Reduction.OutputSize.sizeBound_monoline 529 - theorem
OAI.MaxCutGames.Reduction.OutputSize.output_bits_length_leline 541 - def
OAI.MaxCutGames.Reduction.OutputSize.outputPolynomialline 556Source documentation
An explicit polynomial for the actual serialized game.
noncomputable def outputPolynomial (k : Nat) (T : NoiseTables.Table s d) : Polynomial Nat := …
- theorem
OAI.MaxCutGames.Reduction.OutputSize.outputPolynomial_evalline 562 - theorem
OAI.MaxCutGames.Reduction.OutputSize.output_bits_polynomial_in_occurrencesline 567 - theorem
OAI.MaxCutGames.Reduction.OutputSize.output_bits_polynomial_in_inputline 575 - theorem
OAI.MaxCutGames.Reduction.OutputSize.fixed_parameters_output_sizeline 585Source documentation
Fixed reduction parameters give one polynomial for every encoded input.
theorem fixed_parameters_output_size (k : Nat) (T : NoiseTables.Table s d) : ∃ p : Polynomial Nat, ∀ input : SourceEncoding.Input, (Complexity.gameBits (UniformReduction.output input.equations input.nonempty k T)).length ≤ p.eval (SourceEncoding.inputBits input).length := …Mentions: OAI.MaxCutGames.Reduction.SourceEncoding.Input, OAI.MaxCutGames.Reduction.UniformReduction.output, OAI.MaxCutGames.Reduction.SourceEncoding.inputBits
- def
OAI.MaxCutGames.Reduction.AddressOutputSize.vertexBoundline 602 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.edgeBoundline 606 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.bitsBoundline 609 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.bitsBound_monoline 613 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.sizeBoundline 621 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.table_constraints_eqline 624 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.scaled_sum_le_inline_AddressOutputSizeline 632 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.output_constraints_eqline 639 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.output_vertices_le_inputline 648 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.output_constraints_le_inputline 667 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.output_bits_length_leline 676 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.outputPolynomialline 686Source documentation
One fixed polynomial includes every declared address and every edge table.
noncomputable def outputPolynomial (k : Nat) (T : NoiseTables.Table s d) : Polynomial Nat := …
- theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.outputPolynomial_evalline 694 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.output_bits_polynomial_in_inputline 700 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.fixed_parameters_output_sizeline 708 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.directVertexBoundline 715 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.directEdgeCoefficientline 718 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.directSizeBoundline 721 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.direct_vertices_le_inputline 725 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.direct_constraints_eqline 741 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.direct_constraints_le_inputline 749 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.direct_bits_length_leline 757 - def
OAI.MaxCutGames.Reduction.AddressOutputSize.directOutputPolynomialline 766 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.directOutputPolynomial_evalline 773 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.direct_bits_polynomial_in_inputline 779 - theorem
OAI.MaxCutGames.Reduction.AddressOutputSize.fixed_parameters_direct_output_sizeline 787