OAI/Computability/MaxCut/Machines/AlphabetGraph.lean
125 declarations, 0 contain sorry, 0 declared as axioms
Explicit orders for the alphabet-reduction table
All executable maps use Boolean digits, finite sums, and division/remainder. No enumeration is chosen from a cardinality proof. Cube coordinate zero is the least significant bit; pairs of coordinates use row-major order. Event blocks are ordered by their original dart, followed by the local event. Vertices put events before vertex addresses before edge addresses. Each event has twelve ordered darts: six slots, with false then true orientation at each slot.
- abbrev
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Addressline 14 - abbrev
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.LocalEventline 16 - abbrev
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Eventline 19 - abbrev
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.legalline 23 - instance
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.legalDecidableline 26 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.restrictTapeline 30 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.extendTapeline 33 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.globalizeQueryline 37 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.verifierline 42 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.vertexBlockline 49 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.edgeOracleline 52 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.oracleAnswer_globalizeline 57 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.response_eq_localline 69 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.eventRejectline 82 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.eventReject_eq_localline 87 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.expect_prodline 100 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.localAverageline 105 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.expect_restrict_fiveline 109Source documentation
Iterating the checked one-tape restriction identity preserves independence.
theorem expect_restrict_five {B : Type*} [Fintype B] [DecidableEq B] (p : B → Prop) [DecidablePred p] (h : ({b // p b} → Bool) → ({b // p b} → Bool) → ({b // p b} → Bool) → ({b // p b} → Bool) → ({b // p b} → Bool) → ℝ) : (𝔼 f : B → Bool, 𝔼 g : B → Bool, 𝔼 r₀ : B → Bool, 𝔼 r₁ : B → Bool, 𝔼 r₂ : B → Bool, h (UniformRestriction.restrict p f) (UniformRestriction.restrict p g) (UniformRestriction.restrict p r₀) (UniformRestriction.restrict p r₁) (UniformRestriction.restrict p r₂)) = 𝔼 f : {b // p b} → Bool, 𝔼 g : {b // p b} → Bool, 𝔼 r₀ : {b // p b} → Bool, 𝔼 r₁ : {b // p b} → Bool, 𝔼 r₂ : {b // p b} → Bool, h f g r₀ r₁ r₂ := by …Mentions: OAI.MaxCutGames.Foundations.PCP.UniformRestriction.restrict
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.localAverage_eq_testerline 147Source documentation
Five independent full tapes restrict to five independent uniform legal tapes.
theorem localAverage_eq_tester (G : ConstraintGraph V E A) (assignment : Address V E A → Bool) (e : E) : localAverage G assignment e = AlphabetReduction.edgeTesterReject (G.accepts e) (vertexBlock assignment (G.tail e)) (vertexBlock assignment (G.head e)) (edgeOracle G assignment e) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Address, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.localAverage, OAI.MaxCutGames.Foundations.PCP.AlphabetReduction.edgeTesterReject, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.vertexBlock, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.edgeOracle
- def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.averageline 165 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.average_eq_testersline 170 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.decodedLabelingline 179 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.local_gapline 182 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.average_gapline 199 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.expect_rejection_eq_countline 207 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.average_eq_countline 220 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.card_eventline 227 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.card_localEventline 233Source documentation
This factor depends only on the old alphabet, never on a dart predicate.
theorem card_localEvent : Fintype.card (LocalEvent A) = 4 * (2 * 2 ^ Fintype.card A) * (2 ^ (Fintype.card A * Fintype.card A)) ^ 5 := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.LocalEvent
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.card_addressline 240 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.rejection_count_boundline 248Source documentation
The actual event count has a uniform loss of 2048, with no edge-dependent sample multiplicities. This count statement also permits an empty dart type.
theorem rejection_count_bound [Fintype E] (G : ConstraintGraph V E A) (assignment : Address V E A → Bool) : Fintype.card (LocalEvent A) * G.rejectionCount (decodedLabeling assignment) ≤ 2048 * QueryIncidence.verifierRejectionCount (verifier G) assignment := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Address, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.LocalEvent, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.decodedLabeling, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.verifierRejectionCount, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.verifier
- def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.honestAssignmentline 275 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.honest_vertexBlockline 280 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.honest_edgeOracleline 284 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.honest_eventline 293 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.graphline 305 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.perfect_completenessline 310 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.gap_transferline 317Source documentation
The combined tester and incidence losses are 2048 × 6 = 12288.
theorem gap_transfer [Fintype E] [DecidableEq V] [DecidableEq E] (G : ConstraintGraph V E A) (a b : Nat) (source : ∀ labeling : V → A, a * Fintype.card E ≤ b * G.rejectionCount labeling) (labeling : QueryIncidence.Vertex (Event E A) (Address V E A) → QueryIncidence.Label 6) : a * Fintype.card (QueryIncidence.Dart (Event E A) 6) ≤ (b * 12288) * (graph G).rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Vertex, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Event, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Address, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Label, OAI.MaxCutGames.Foundations.PCP.QueryIncidence.Dart, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.graph
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.alphabet_cardline 343 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.bitValueline 365 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.boolEquivline 367 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.boolEquiv_valline 369 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.productEquivline 373Source documentation
Left component first, with the right component varying fastest.
def productEquiv {A B : Type*} {a b : Nat} (left : A ≃ Fin a) (right : B ≃ Fin b) : A × B ≃ Fin (a * b) := … - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.productEquiv_valline 377 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.sumEquivline 384Source documentation
The complete left block precedes the complete right block.
def sumEquiv {A B : Type*} {a b : Nat} (left : A ≃ Fin a) (right : B ≃ Fin b) : A ⊕ B ≃ Fin (a + b) := … - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.sumEquiv_inl_valline 388 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.sumEquiv_inr_valline 392 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.tapeCountline 396 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairTapeCountline 397 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.fiveTapeCountline 398 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localCountline 399 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.eventCountline 400 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.addressCountline 401 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.vertexCountline 402 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.dartCountline 403 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeEquivline 407Source documentation
Explicit binary rank/unrank; the inverse extracts digits by division and remainder, as supplied by the executable
finFunctionFinEquiv.def cubeEquiv (q : Nat) : Cube (Fin q) ≃ Fin (tapeCount q) := …
Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.tapeCount
- def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeRankline 410 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeUnrankline 411 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeUnrank_cubeRankline 414 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeRank_cubeUnrankline 417 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeUnrank_digitline 420 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.cubeEquiv_valline 428 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairIndexline 434 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairIndex_valline 436 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairCubeEquivline 441 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairCubeRankline 444 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairCubeUnrankline 447 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairCubeUnrank_pairCubeRankline 450 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairCubeRank_pairCubeUnrankline 453 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.pairCubeEquiv_valline 456 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.inputCoordinateEquivline 461 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.fivePairTapesEquivline 465 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localEventEquivline 474 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.eventEquivline 479 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.addressEquivline 483 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.vertexEquivline 488 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.dartEquivline 493 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.labelEquivline 498 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.labelEquiv_valline 500 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.inputCoordinateEquiv_valline 504 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.fivePairTapesEquiv_valline 509 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localEventEquiv_valline 517 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.eventEquiv_valline 526 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.addressEquiv_inl_valline 533 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.addressEquiv_inr_valline 540 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv_event_valline 547 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv_vertexAddress_valline 551 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv_edgeAddress_valline 558 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv_valline 566 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv_reverse_valline 574 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.orderedline 581Source documentation
A reusable explicit increasing-index enumeration.
def ordered {A : Type*} {count : Nat} (order : A ≃ Fin count) : List A := … - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_lengthline 584 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.mem_orderedline 587 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_nodupline 592 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_reflline 597 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_boolline 599 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_trans_finCongrline 601 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_productline 608Source documentation
Product enumeration visits the right factor completely at each left index.
theorem ordered_product {A B : Type*} {a b : Nat} (left : A ≃ Fin a) (right : B ≃ Fin b) : ordered (productEquiv left right) = (ordered left).flatMap (fun x => (ordered right).map (fun y => (x, y))) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.productEquiv
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_sumline 625Source documentation
Sum enumeration puts the whole left block before the whole right block.
theorem ordered_sum {A B : Type*} {a b : Nat} (left : A ≃ Fin a) (right : B ≃ Fin b) : ordered (sumEquiv left right) = (ordered left).map Sum.inl ++ (ordered right).map Sum.inr := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.sumEquiv
- def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localEventsline 645 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localEvents_lengthline 648 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_eventline 651 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered_dartline 660Source documentation
Exact serialized occurrence order, including both orientations and every repeated local query: edge, local event, slot, then false and true.
theorem ordered_dart (m q : Nat) : ordered (dartEquiv m q) = (List.finRange m).flatMap (fun edge => (localEvents q).flatMap (fun event => (List.finRange 6).flatMap (fun slot => [(((edge, event), slot), false), (((edge, event), slot), true)]))) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.ordered, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localEvents
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_cubeline 671 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_pairCubeline 674 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_localEventline 678 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_eventline 682 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_addressline 686 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_vertexline 690 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.card_dartline 695 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Enumeration.localCount_formulaline 700 - abbrev
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.RawQueryline 714 - abbrev
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.LocalEventline 717 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.maskline 720Source documentation
Canonical full-cube proof address: every illegal coordinate is false.
def mask {q : Nat} (P : Fin q → Fin q → Bool) (f : Cube (Fin q × Fin q)) : Cube (Fin q × Fin q) := fun p => if P p.1 p.2 then f p else false - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.xorTapeline 723 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.andTapeline 725 - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.inputPairTapeline 728Source documentation
The coordinate value of the paired input codeword before masking.
def inputPairTape {q : Nat} (k : Bool × Cube (Fin q)) : Cube (Fin q × Fin q) := … - def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.queryline 733Source documentation
Actual six queries, computed directly from fixed full tapes and P. Padding slots repeat precisely the addresses used by
eventQueries.def query {q : Nat} (P : Fin q → Fin q → Bool) (event : LocalEvent q) (slot : Fin 6) : RawQuery q := …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.LocalEvent, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.RawQuery
- def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.globalizeline 755Source documentation
Attach the actual endpoints and edge identifier to a local raw address.
def globalize {q : Nat} {V E : Type*} (tail head : V) (edge : E) : RawQuery q → AlphabetGraph.Address V E (Fin q) | .inl (side, tape) => .inl ((if side then head else tail), tape) | .inr tape => .inr (edge, tape)Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.RawQuery, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.Address
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.mask_idempotentline 760 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.mask_of_emptyline 765 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.query_is_maskedline 772Source documentation
Every joint-table query is already a canonical masked full tape.
theorem query_is_masked {q : Nat} (P : Fin q → Fin q → Bool) (event : LocalEvent q) (slot : Fin 6) : match query P event slot with | .inl _ => True | .inr tape => mask P tape = tape := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.LocalEvent, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.query, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.mask
- def
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.extendQueryline 784Source documentation
Proof-only comparison map: extend the original legal-coordinate addresses. The executable
queryfunction above never calls this map.def extendQuery {q : Nat} (P : Fin q → Fin q → Bool) : AlphabetReduction.InputCoordinate (Fin q) ⊕ Cube (AlphabetReduction.LegalPair P) → RawQuery q | .inl k => .inl k | .inr tape => .inr (UniformRestriction.extend (fun p : Fin q × Fin q => P p.1 p.2 = true) tape) /-- Pointwise equality with the existing tester after restricting all five full input tapes and canonically extending the resulting query. The statement does not require any legal pair to exist. -/Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetReduction.InputCoordinate, OAI.MaxCutGames.Foundations.PCP.AlphabetReduction.LegalPair, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.RawQuery, OAI.MaxCutGames.Foundations.PCP.UniformRestriction.extend
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.query_eq_extend_eventQueriesline 793Source documentation
Pointwise equality with the existing tester after restricting all five full input tapes and canonically extending the resulting query. The statement does not require any legal pair to exist.
theorem query_eq_extend_eventQueries {q : Nat} (P : Fin q → Fin q → Bool) (kind : Fin 4) (k : AlphabetReduction.InputCoordinate (Fin q)) (f g r₀ r₁ r₂ : Cube (Fin q × Fin q)) (slot : Fin 6) : query P (kind, k, f, g, r₀, r₁, r₂) slot = extendQuery P (AssignmentTester.eventQueries (AlphabetReduction.pairEncoding P) kind k (UniformRestriction.restrict (fun p : Fin q × Fin q => P p.1 p.2 = true) f) (UniformRestriction.restrict (fun p : Fin q × Fin q => P p.1 p.2 = true) g) (UniformRestriction.restrict (fun p : Fin q × Fin q => P p.1 p.2 = true) r₀) (UniformRestriction.restrict (fun p : Fin q × Fin q => P p.1 p.2 = true) r₁) (UniformRestriction.restrict (fun p : Fin q × Fin q => P p.1 p.2 = true) r₂) slot) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AlphabetReduction.InputCoordinate, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.query, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.extendQuery, OAI.MaxCutGames.Foundations.PCP.AssignmentTester.eventQueries, OAI.MaxCutGames.Foundations.PCP.AlphabetReduction.pairEncoding, OAI.MaxCutGames.Foundations.PCP.UniformRestriction.restrict
- theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.globalize_extendQueryline 808 - theorem
OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.globalize_queryline 821Source documentation
The executable raw queries are exactly the actual verifier queries after attaching the endpoints and edge tag. This includes self-loops, duplicate queries, empty legal relations, and every original five-tape event.
theorem globalize_query {q : Nat} {V E : Type*} (G : ConstraintGraph V E (Fin q)) (e : E) (event : LocalEvent q) (slot : Fin 6) : globalize (G.tail e) (G.head e) e (query (G.accepts e) event slot) = (AlphabetGraph.verifier G).query (e, event) slot := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.LocalEvent, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.globalize, OAI.MaxCutGames.Foundations.PCP.AlphabetTable.Queries.query, OAI.MaxCutGames.Foundations.PCP.AlphabetGraph.verifier