OAI/Computability/MaxCut/PCP/PortTables.lean
132 declarations, 0 contain sorry, 0 declared as axioms
Executable regular constraint tables on the fixed 64-label alphabet
Every pair (vertex,port) has one stored reverse index and one complete
4096-bit relation. Flat row port + ports * vertex has its tail implicitly
fixed by that pair. Rotation uses the stored vector lookup, followed by the
inverse row-index bijection. Loops and repeated directed occurrences remain
distinct rows.
Serialization uses the existing GraphTables codec: header [vertices,darts]
with darts=vertices*ports, then tail/reverse/4096 bit words per row.
- abbrev
OAI.MaxCutGames.Foundations.PCP.PortTables.Labelline 23 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.rowIndexline 25 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.rowIndex_valline 28 - structure
OAI.MaxCutGames.Foundations.PCP.PortTables.Tableline 32Source documentation
Finite executable input data, with the two graph laws certified on lookup.
structure Table (vertices ports : Nat) where …
- def
OAI.MaxCutGames.Foundations.PCP.PortTables.rotationline 44Source documentation
One reverse-index lookup and the fixed mixed-radix decoding.
def rotation (table : Table n d) (e : Fin n × Fin d) : Fin n × Fin d := …
- def
OAI.MaxCutGames.Foundations.PCP.PortTables.acceptsline 48Source documentation
Lookup of the full stored binary predicate.
def accepts (table : Table n d) (e : Fin n × Fin d) (a b : Label) : Bool := …
Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PortTables.Label
- theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.rowIndex_rotationline 51 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.rotation_involutiveline 55 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.accepts_rotationline 61 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.portGraphline 66Source documentation
The actual reversible regular port graph represented by the vectors.
def portGraph (table : Table n d) : PortGraph (Fin n) (Fin d) where …
- theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.portGraph_rotline 74 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.baseGraphline 78Source documentation
Constraint-graph semantics, with each vertex-port pair a distinct dart.
def baseGraph (table : Table n d) : ConstraintGraph (Fin n) (Fin n × Fin d) Label where …
Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.PortTables.Label
- theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.baseGraph_reverseline 85 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.baseGraph_tailline 88 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.baseGraph_headline 91 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.baseGraph_acceptsline 94 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.ofPortGraphline 98Source documentation
Materialize a reversible port graph and its predicates into the fixed rows.
def ofPortGraph (G : PortGraph (Fin n) (Fin d)) (predicate : (Fin n × Fin d) → Label → Label → Bool) (htranspose : ∀ e a b, predicate (G.rot e) b a = predicate e a b) : Table n d where …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Label, OAI.MaxCutGames.Foundations.PCP.PortTables.Table
- theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.rotation_ofPortGraphline 115 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.accepts_ofPortGraphline 122 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.flatRowsline 130 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.reverseAt_flatRowsline 134 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.acceptsAt_flatRowsline 138 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.flatRows_validline 142 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.graphTableline 149 - def
OAI.MaxCutGames.Foundations.PCP.PortTables.tableWordsline 153Source documentation
Existing graph codec, with header
[n,n*d]and 4098 words in every row.def tableWords (table : Table n d) : List Nat := GraphTables.tableWords (graphTable table)
Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.GraphTables.tableWords, OAI.MaxCutGames.Foundations.PCP.PortTables.graphTable
- def
OAI.MaxCutGames.Foundations.PCP.PortTables.tableBitsline 155 - abbrev
OAI.MaxCutGames.Foundations.PCP.PortTables.Inputline 158Source documentation
Variable vertex count, with the port count fixed by the input family.
abbrev Input (ports : Nat) := (vertices : Nat) × Table vertices ports
- def
OAI.MaxCutGames.Foundations.PCP.PortTables.inputBitsline 160 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.tableWords_eqline 162 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.tableWords_lengthline 165 - theorem
OAI.MaxCutGames.Foundations.PCP.PortTables.vertices_le_tableBits_lengthline 169 - abbrev
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.Cloudline 195Source documentation
The darts departing a specified vertex.
abbrev Cloud (G : ConstraintGraph V E A) (v : V) := {e : E // G.tail e = v} - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.cloudIndexEquivline 197 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.cloudRotationline 207 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.cloudRotation_involutiveline 212 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.innerRotationline 220Source documentation
Conjugate the disjoint union of cloud rotations into global dart coordinates.
def innerRotation (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) : (E × D) ≃ (E × D) := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.Cloud
- theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.innerRotation_involutiveline 224 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.innerRotation_tailline 232 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacementStepline 239Source documentation
Internal ports rotate inside a cloud; the extra port reverses an old dart.
def replacementStep (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) : E × (D ⊕ Unit) → E × (D ⊕ Unit) | (e, Sum.inl d) => let p := innerRotation G H (e, d) …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.Cloud, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.innerRotation
- theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacementStep_involutiveline 246 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacementPortGraphline 258 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacementGraphline 268Source documentation
The equality constraints and inherited original constraints on the actual rotation.
def replacementGraph [DecidableEq A] (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) : ConstraintGraph E (E × (D ⊕ Unit)) A where …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.Cloud
- def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.liftLabelline 284 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacement_satisfied_inlline 287 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacement_satisfied_inrline 297 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacement_completeline 303 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacement_satisfiableline 313 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.rejectionCount_eq_sumline 319 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacement_rejectionCountline 328Source documentation
Lifted labels reject precisely one external dart for each rejected original dart.
theorem replacement_rejectionCount [Fintype E] [Fintype D] [DecidableEq A] (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) (labeling : V → A) : (replacementGraph G H).rejectionCount (liftLabel G labeling) = G.rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.Cloud, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.replacementGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.liftLabel
- abbrev
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.PaddedDartline 340Source documentation
Additional darts are attached to their specified original vertex.
abbrev PaddedDart (_G : ConstraintGraph V E A) (dummy : V → Type*) := …
- def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedOwnerline 343 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedReverseline 348 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedReverse_involutiveline 352 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedGraphline 362Source documentation
Dummy darts are self-reversing loops with an always-accepting constraint.
def paddedGraph (G : ConstraintGraph V E A) (dummy : V → Type*) : ConstraintGraph V (PaddedDart G dummy) A where …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.PaddedDart
- theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.padded_satisfied_inlline 376 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.padded_satisfied_inrline 381 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.padded_completeline 385 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.padded_satisfiableline 393 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.card_paddedDartline 398 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.padded_rejectionCountline 404 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedReplacementPortGraphline 414 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedReplacementGraphline 419 - theorem
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.paddedReplacement_rejectionCountline 425 - def
OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.noDummyEquivline 435Source documentation
Omitting all dummy darts recovers exactly the original dart set.
def noDummyEquiv (G : ConstraintGraph V E A) : PaddedDart G (fun _ : V => Empty) ≃ E where …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.DegreeReplacement.PaddedDart
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.truthline 472 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.disagreeline 474 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.truth_nonnegline 476 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.disagree_nonnegline 478 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.disagree_eqline 481 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.disagree_xor_leline 485 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parityline 489 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.bitSign_parityline 492 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.bitSign_injectiveline 500 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_xorline 504 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.cubeXor_commline 510 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.cubeXor_right_twiceline 515 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.expect_cubeXorline 521 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.distanceline 536 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.distance_nonnegline 539 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.distance_parityline 545 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.blrRejectline 553 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.blrReject_nonnegline 556 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.blr_correlationline 563 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.blrReject_fourierline 582 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.blr_near_parityline 592Source documentation
The actual BLR test yields a nearby parity, with no stability theorem or Fourier-structure hypothesis assumed.
theorem blr_near_parity (F : Cube A → Bool) : ∃ s : Cube A, distance F (parity s) ≤ blrReject F := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AssignmentTester.distance, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.blrReject
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.selfCorrectline 622 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_selfCorrectline 625 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.selfCorrect_errorline 631Source documentation
The two actual oracle queries recover the parity at every requested x.
theorem selfCorrect_error (F : Cube A → Bool) (s x : Cube A) : (𝔼 r, disagree (selfCorrect F x r) (parity s x)) ≤ 2 * distance F (parity s) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AssignmentTester.disagree, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.selfCorrect, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.distance
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.singleMaskline 645 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.flipAtline 647 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.flipAt_twiceline 651 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.flipAt_eq_xorline 656 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.expect_flipAtline 660 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.walsh_singleMaskline 665 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_singleMaskline 675 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_flipAtline 679 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.cubeAndline 684 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.andLawFailureline 686 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.andLawFailure_flipAt_secondline 689 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.four_truth_lower_inline_AssignmentTesterline 706 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_and_rejectionline 712Source documentation
Every parity involving two or more distinct coordinates violates Boolean AND with probability at least one quarter under two independent queries.
theorem parity_and_rejection (s : Cube A) (i j : A) (hi : s i = true) (hj : s j = true) (hij : i ≠ j) : (1 : ℝ) / 4 ≤ 𝔼 f, 𝔼 g, truth (andLawFailure s f g) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AssignmentTester.truth, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.andLawFailure
- theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.truth_xorline 741 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.disagree_triangleline 744 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.and_disagree_transferline 748 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.andRejectline 755Source documentation
Six oracle queries, using three independent self-correction masks.
def andReject (F : Cube A → Bool) : ℝ := …
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.unitRejectline 760 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.inputRejectline 766Source documentation
One original input query and two proof-oracle queries.
def inputReject (label : A → K → Bool) (σ : K → Bool) (F : Cube A → Bool) : ℝ := …
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.testerRejectline 769 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.andReject_nonnegline 772 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.unitReject_nonnegline 785 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.inputReject_nonnegline 791 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.andReject_transferline 799 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_zeroline 823 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.unitReject_zero_parityline 828 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.parity_singleMask_evalline 841 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.inputReject_transferline 846 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.tester_proximity_soundnessline 865Source documentation
Proximity soundness of the actual four finite tests. The only promise is the property being tested: the queried input is δ-far from every legal label.
theorem tester_proximity_soundness (label : A → K → Bool) (σ : K → Bool) (F : Cube A → Bool) {δ : ℝ} (hδ : 0 < δ) (hδ' : δ ≤ 1 / 4) (hfar : ∀ a, δ ≤ distance σ (label a)) : δ / 256 ≤ testerReject label σ F := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AssignmentTester.distance, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.testerReject
- theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.selfCorrect_dictatorline 913 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.tester_perfect_completenessline 920Source documentation
Every legal assignment has an honest proof accepted on every test.
theorem tester_perfect_completeness (label : A → K → Bool) (a : A) : testerReject label (label a) (fun f => f a) = 0 := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AssignmentTester.testerReject
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventQueriesline 934Source documentation
The actual six oracle addresses for each test. Unused slots repeat an address already queried, so every event has the same fixed six-slot format.
def eventQueries (label : A → K → Bool) (kind : Fin 4) (k : K) (f g r₀ r₁ r₂ : Cube A) (slot : Fin 6) : K ⊕ Cube A := … - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventAcceptsline 950 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.oracleAnswerline 956 - def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventRejectline 959 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.truth_not_decide_eqline 964 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventReject_blrline 968 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventReject_andline 975 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventReject_unitline 984 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventReject_inputline 995 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.event_perfect_completenessline 1005Source documentation
The honest proof satisfies each explicit event separately, including all padding slots, so it supplies actual satisfying labels in the incidence graph.
theorem event_perfect_completeness (label : A → K → Bool) (a : A) (kind : Fin 4) (k : K) (f g r₀ r₁ r₂ : Cube A) : eventAccepts kind (fun slot => oracleAnswer (label a) (fun x => x a) (eventQueries label kind k f g r₀ r₁ r₂ slot)) = true := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventAccepts, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.oracleAnswer, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventQueries
- def
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.explicitTesterRejectline 1021Source documentation
One finite uniform sample space for the executable six-address test.
def explicitTesterReject (label : A → K → Bool) (σ : K → Bool) (F : Cube A → Bool) : ℝ := …
- theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.explicitTesterReject_eqline 1025 - theorem
OAI.MaxCutGames.Foundations.PCP.AssignmentTester.explicit_proximity_soundnessline 1032