OAI/Computability/UniqueGames/PCP/QueriesLemmas.lean
40 declarations, 0 contain sorry, 0 declared as axioms
Executable six-query generation on fixed full Boolean cubes. The event
type is exactly AlphabetGraph.LocalEvent, including all five full tapes.
Only the returned joint-table addresses are masked outside the input relation;
no legal-pair enumeration or change of sample multiplicities occurs.
- abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.RawQueryline 17 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.LocalEventline 20 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.maskline 23Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.xorTapeline 26 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.andTapeline 28 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.inputPairTapeline 31Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.queryline 36Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.LocalEvent, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.RawQuery
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.globalizeline 58Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.RawQuery, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.Address
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.mask_idempotentline 63 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.mask_of_emptyline 68 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.query_is_maskedline 75Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.LocalEvent, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.query, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.mask
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.extendQueryline 87Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetReduction.InputCoordinate, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetReduction.LegalPair, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.RawQuery, OAI.UniqueGamesTheorem.Foundations.PCP.UniformRestriction.extend
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.query_eq_extend_eventQueriesline 96Source 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.UniqueGamesTheorem.Foundations.PCP.AlphabetReduction.InputCoordinate, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.query, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.extendQuery, OAI.UniqueGamesTheorem.Foundations.PCP.AssignmentTester.eventQueries, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetReduction.pairEncoding, OAI.UniqueGamesTheorem.Foundations.PCP.UniformRestriction.restrict
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.globalize_extendQueryline 111 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.globalize_queryline 124Source 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.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.LocalEvent, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.globalize, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Queries.query, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.verifier
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.sameAddressline 147Source documentation
Exact local address comparison. A loop identifies the two endpoint tables; the joint edge table is always disjoint from every endpoint table.
def sameAddress (selfLoop : Bool) : RawQuery q → RawQuery q → Bool | .inl (side, f), .inl (side', g) => ((side == side') || selfLoop) && decide (f = g) | .inr f, .inr g => decide (f = g) | _, _ => false
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.sameAddress_reflline 152 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.globalize_eq_iffline 156 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.eqProfileline 172 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.eqProfile_reflline 175 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.canonicalSlotline 179Source documentation
Search the fixed six positions for the least occurrence of an address.
def canonicalSlot (selfLoop : Bool) (queries : Fin 6 → RawQuery q) (i : Fin 6) : Fin 6 := …
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.canonicalSlot_profileline 182 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.canonicalSlot_leline 188 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.RepeatedConsistentline 193 - instance
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.repeatedConsistentDecidableline 197 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.incidenceAcceptline 202 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.predicateline 208 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relationline 215Source documentation
A complete 64-by-64 Boolean relation in the shared row-major table format.
def relation (P : Fin q → Fin q → Bool) (selfLoop : Bool) (event : AlphabetGraph.LocalEvent (Fin q)) (slot : Fin 6) (orientation : Bool) : GraphTables.RelationTable := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.LocalEvent, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.RelationTable
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relationAt_relationline 222 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relation_reverseline 230 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.oldPredicateline 239Source documentation
The old predicate is read in the same row-major order as a graph row.
def oldPredicate (old : Vector Bool (q * q)) (a b : Fin q) : Bool := …
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relationFromTableline 242 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.oldPredicate_relationAtline 246 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relationFromTable_eqline 249 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.eqProfile_query_iffline 259 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.canonicalSlot_eqline 267 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.repeatedConsistent_iffline 276 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.verifier_acceptsline 287 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.incidenceAccept_eqline 294 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relationAt_relation_graphline 308Source documentation
Every stored bit is the actual six-query incidence predicate under the canonical explicit six-bit label enumeration, including loops and repeats.
theorem relationAt_relation_graph (G : ConstraintGraph V E (Fin q)) (e : E) (event : AlphabetGraph.LocalEvent (Fin q)) (slot : Fin 6) (orientation : Bool) (a b : GraphTables.Label) : GraphTables.relationAt (relation (G.accepts e) (decide (G.tail e = G.head e)) event slot orientation) a b = (AlphabetGraph.graph G).accepts (((e, event), slot), orientation) (Enumeration.labelEquiv.symm a) (Enumeration.labelEquiv.symm b) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.LocalEvent, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.Label, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.relationAt, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Relations.relation, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.graph, OAI.UniqueGamesTheorem.Foundations.PCP.accepts