OAI/Computability/MaxCut/PCP/PoweringTableSemantics.lean
82 declarations, 0 contain sorry, 0 declared as axioms
Exact semantics of the executable powering tables
The explicit label and dart bijections preserve every actual edge test and every rejected directed occurrence. The inverse label map covers all encoded assignments, so satisfiability and uniform rejection-count bounds transport without any consistency restriction on padded labels.
- abbrev
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.RawLabelingline 20 - abbrev
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.EncodedLabelingline 23 - def
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.encodeLabelingline 26 - def
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.decodeLabelingline 30 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.decodeLabeling_encodeLabelingline 34 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.encodeLabeling_decodeLabelingline 40 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.edgeSatisfied_encodedline 49Source documentation
Each enumerated directed occurrence evaluates its actual powering test.
theorem edgeSatisfied_encoded {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (labels : RawLabeling vertices d n) (e : PoweringTest.Dart (Fin vertices) (Fin d) n) : (GenericGraphTables.semantics (table input n)).edgeSatisfied (encodeLabeling d n labels) (encodeDart vertices d n e) = (mathematicalGraph input n).edgeSatisfied labels e := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.RawLabeling, OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dart, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.encodeLabeling
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.edgeSatisfied_decodedline 62Source documentation
The equality also holds for every encoded assignment and every stored row.
theorem edgeSatisfied_decoded {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (labels : EncodedLabeling vertices d n) (i : Fin (dartCount vertices d n)) : (GenericGraphTables.semantics (table input n)).edgeSatisfied labels i = (mathematicalGraph input n).edgeSatisfied (decodeLabeling d n labels) (decodeDart vertices d n i) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.EncodedLabeling, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.decodeLabeling
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.edgeSatisfied_eq_pathline 74Source documentation
The stored Boolean test is exactly the path test at the recorded endpoints.
theorem edgeSatisfied_eq_path {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (labels : EncodedLabeling vertices d n) (direction : Bool) (w : Walk (Fin vertices) (Fin d) (n + 1)) : (GenericGraphTables.semantics (table input n)).edgeSatisfied labels (encodeDart vertices d n (direction, w)) = PoweringTest.pathAccepts (PortTables.portGraph input) (PortTables.accepts input) n (finitePortSelector (PortTables.portGraph input) (n + 1)) w (decodeLabeling d n labels w.1) (decodeLabeling d n labels (endpoint (PortTables.portGraph input) w)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.EncodedLabeling, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics, OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts, OAI.MaxCutGames.Foundations.PCP.PortTables.portGraph, OAI.MaxCutGames.Foundations.PCP.PortTables.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.decodeLabeling
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.rejectionCount_encodedline 90Source documentation
Exact rejected-dart counting, retaining both orientations and repeated walks.
theorem rejectionCount_encoded {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (labels : RawLabeling vertices d n) : (GenericGraphTables.semantics (table input n)).rejectionCount (encodeLabeling d n labels) = (mathematicalGraph input n).rejectionCount labels := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.RawLabeling, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.encodeLabeling
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.rejectionCount_decodedline 100 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.card_darts_eq_tableline 109Source documentation
The denominator equality comes from the same explicit dart bijection.
theorem card_darts_eq_table {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) : Fintype.card (PoweringTest.Dart (Fin vertices) (Fin d) n) = (table input n).darts := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dart
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.satisfiable_iffline 117Source documentation
The table has a satisfying encoded assignment exactly when the powered graph does.
theorem satisfiable_iff {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) : (GenericGraphTables.semantics (table input n)).Satisfiable ↔ (mathematicalGraph input n).Satisfiable := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.preserves_satisfiabilityline 135Source documentation
Perfect completeness from the actual stored base predicates.
theorem preserves_satisfiability {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (h : (PortTables.baseGraph input).Satisfiable) : (GenericGraphTables.semantics (table input n)).Satisfiable := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PortTables.baseGraph, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.path_rejection_mean_eq_table_fractionline 144Source documentation
The path rejection average equals the encoded table's actual rejection fraction.
theorem path_rejection_mean_eq_table_fraction {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (labels : EncodedLabeling vertices d n) : SpectralReturn.mean (fun w : Walk (Fin vertices) (Fin d) (n + 1) => PoweringMoment.bit (PoweringTest.pathAccepts (PortTables.portGraph input) (PortTables.accepts input) n (finitePortSelector (PortTables.portGraph input) (n + 1)) w (decodeLabeling d n labels w.1) (decodeLabeling d n labels (endpoint (PortTables.portGraph input) w)) = false)) = ((GenericGraphTables.semantics (table input n)).rejectionCount labels : ℝ) / ((table input n).darts : ℝ) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.EncodedLabeling, OAI.MaxCutGames.Foundations.PCP.SpectralReturn.mean, OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bit, OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts, OAI.MaxCutGames.Foundations.PCP.PortTables.portGraph, OAI.MaxCutGames.Foundations.PCP.PortTables.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.decodeLabeling, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.uniform_count_gap_iffline 160Source documentation
Uniform actual rejection-count gaps are invariant under the executable encoding.
theorem uniform_count_gap_iff {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (epsilon : ℝ) : (∀ labels : EncodedLabeling vertices d n, epsilon * ((table input n).darts : ℝ) ≤ ((GenericGraphTables.semantics (table input n)).rejectionCount labels : ℝ)) ↔ (∀ labels : RawLabeling vertices d n, epsilon * (Fintype.card (PoweringTest.Dart (Fin vertices) (Fin d) n) : ℝ) ≤ ((mathematicalGraph input n).rejectionCount labels : ℝ)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.EncodedLabeling, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.RawLabeling, OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dart
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.uniform_count_gapline 180Source documentation
Apply an established powering count bound to every encoded table labeling.
theorem uniform_count_gap {vertices d : Nat} (input : PortTables.Table vertices d) (n : Nat) (epsilon : ℝ) (hgap : ∀ labels : RawLabeling vertices d n, epsilon * (Fintype.card (PoweringTest.Dart (Fin vertices) (Fin d) n) : ℝ) ≤ ((mathematicalGraph input n).rejectionCount labels : ℝ)) : ∀ labels : EncodedLabeling vertices d n, epsilon * ((table input n).darts : ℝ) ≤ ((GenericGraphTables.semantics (table input n)).rejectionCount labels : ℝ) := …Mentions: OAI.MaxCutGames.Foundations.PCP.PortTables.Table, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.RawLabeling, OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dart, OAI.MaxCutGames.Foundations.PCP.PoweringTableSemantics.EncodedLabeling, OAI.MaxCutGames.Foundations.PCP.GenericGraphTables.semantics
- structure
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Verifierline 210 - abbrev
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Labelline 214 - abbrev
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Vertexline 215 - abbrev
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Dartline 216 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.responseline 220 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.zeroSlotline 223 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.decodeRightline 225 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.encodeRightline 227 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.decode_encodeRightline 229 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.canonicalSlotline 232 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.canonicalSlot_queryline 235 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.RepeatedConsistentline 239 - instance
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.repeatedConsistentDecidableline 242 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.LeftValidline 248 - instance
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.leftValidDecidableline 251 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.incidenceAcceptline 257 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.reverseline 262 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.reverse_involutiveline 264 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.reverseEquivline 268 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.tailline 274 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.predicateline 278 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.graphline 283 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.edgeSatisfied_eq_incidenceline 293 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.honestLabelingline 301 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.honest_leftValidline 305 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.honest_incidenceline 312 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.perfect_completenessline 323 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.satisfiable_of_verifier_satisfiableline 331 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.decodedAssignmentline 339 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.incidenceAccept_trueline 342 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.all_incidences_imply_eventline 351 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.rejected_event_forces_slotline 366 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.rejectedEventsline 384 - def
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.verifierRejectionCountline 387 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.rejection_count_boundline 392Source documentation
Every rejected event contributes two distinct rejected darts, one in each orientation. A classical witness is used only in this counting proof.
theorem rejection_count_bound [Fintype E] [DecidableEq X] (T : Verifier E X q) (positive : 0 < q) (labeling : Vertex E X → Label q) : 2 * verifierRejectionCount T (decodedAssignment positive labeling) ≤ (graph T positive).rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Verifier, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Vertex, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Label, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.verifierRejectionCount, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.decodedAssignment, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.graph
- theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.card_labelline 421 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.card_vertexline 424 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.card_dartline 428 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.gap_transferline 432 - theorem
OAI.MaxCutGames.Foundations.PCP.QueryIncidence.six_query_alphabetline 447 - def
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreementline 461 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreement_selfline 463 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreement_nonnegativeline 466 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreement_le_oneline 469 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreement_commline 472 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreement_triangleline 475 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.disagreement_eq_signline 479 - def
OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistanceline 483 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistance_selfline 486 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistance_nonnegativeline 490 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistance_commline 494 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistance_triangleline 498 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistance_eq_signline 504 - def
OAI.MaxCutGames.Foundations.PCP.CodeComposition.codewordline 512Source documentation
The encoding is a literal coordinate read from a finite Boolean truth table.
def codeword {A : Type*} (a : A) : Cube A → Bool := fun x => x a - def
OAI.MaxCutGames.Foundations.PCP.CodeComposition.singletonMask_inline_CodeCompositionline 514 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.walsh_singletonMask_inline_CodeCompositionline 517 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.singletonMask_ne_inline_CodeCompositionline 527 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.codeword_distanceline 533 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.exists_nearestline 544 - def
OAI.MaxCutGames.Foundations.PCP.CodeComposition.nearestline 553Source documentation
Classical choice is used only for the soundness analysis, not the output algorithm.
def nearest {A : Type*} [Fintype A] [DecidableEq A] [Nonempty A] (f : Cube A → Bool) : A := … - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.nearest_minimalline 556 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.distance_from_other_codewordline 561 - def
OAI.MaxCutGames.Foundations.PCP.CodeComposition.pairWordline 570Source documentation
Two equal-sized blocks, indexed by a side bit and a common coordinate.
def pairWord {X : Type*} (left right : X → Bool) : Bool × X → Bool := … - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.pairWord_distanceline 573 - theorem
OAI.MaxCutGames.Foundations.PCP.CodeComposition.rejected_pair_farline 583Source documentation
Every satisfying encoded pair is far from a pair whose nearest decoding rejects.
theorem rejected_pair_far {A : Type*} [Fintype A] [DecidableEq A] [Nonempty A] (accepts : A → A → Bool) (left right : Cube A → Bool) (hbad : accepts (nearest left) (nearest right) = false) (a b : A) (hgood : accepts a b = true) : 1 / 8 ≤ relativeDistance (pairWord left right) (pairWord (codeword a) (codeword b)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.CodeComposition.nearest, OAI.MaxCutGames.Foundations.PCP.CodeComposition.relativeDistance, OAI.MaxCutGames.Foundations.PCP.CodeComposition.pairWord, OAI.MaxCutGames.Foundations.PCP.CodeComposition.codeword