OAI/Computability/UniqueGames/PCP/AlphabetTableBoundsLemmas.lean
94 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.gap_transfer_realline 18Source documentation
The actual table output obeys the real gap bound, with no rational approximation and with empty input dart sets allowed.
theorem gap_transfer_real (hq : 0 < q) (input : GenericGraphTables.Table q) (eps : ℝ) (eps_nonnegative : 0 ≤ eps) (source : ∀ labeling : Fin input.vertices → Fin q, eps * (input.darts : ℝ) ≤ ((GenericGraphTables.semantics input).rejectionCount labeling : ℝ)) (labeling : Fin (Table.build input).vertices → GraphTables.Label) : (eps / 12288) * ((Table.build input).darts : ℝ) ≤ ((GraphTables.semantics (Table.build input)).rejectionCount labeling : ℝ) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.Label, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.semantics
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.build_verticesline 47Source documentation
Exact output vertex count; this arithmetic identity also permits
q = 0.theorem build_vertices (input : GenericGraphTables.Table q) : (Table.build input).vertices = input.vertices * 2 ^ q + input.darts * AlphabetGraphBounds.vertexFactor q := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraphBounds.vertexFactor
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.build_dartsline 58Source documentation
Exact output dart count, including orientation and query multiplicity.
theorem build_darts (input : GenericGraphTables.Table q) : (Table.build input).darts = input.darts * AlphabetGraphBounds.dartFactor q := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraphBounds.dartFactor
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.build_totalline 66 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.build_total_leline 74Source documentation
A fixed alphabet gives one linear bound on the actual output table size.
theorem build_total_le (input : GenericGraphTables.Table q) : (Table.build input).vertices + (Table.build input).darts ≤ AlphabetGraphBounds.sizeFactor q * (input.vertices + input.darts) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraphBounds.sizeFactor
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.build_vertices_leline 91 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.build_darts_leline 96 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTableBounds.sizeFactor_positiveline 101 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.BoolTripleline 114 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.tripleValueline 116 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.chainViewline 118 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.fillBitsline 123 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.chainView_lengthline 131 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.chainView_soundline 155 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.fillBits_lengthline 182 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.fillBits_correctline 198 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.zero_false_count_iff_allline 217 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.chainView_failedline 223 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.Patternline 235 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.patternsline 238Source documentation
The enumeration visits only the fixed-size truth table, never proof assignments.
def patterns : (q : Nat) → List (Pattern q) | 0 => [Fin.elim0] | q + 1 => (patterns q).flatMap (fun p => [Fin.cases false p, Fin.cases true p])
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.Pattern
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.flatMap_pair_lengthline 242 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.patterns_lengthline 251 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mem_patternsline 258 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.PatternIndexline 279 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.patternAtline 280 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.patternAt_surjectiveline 282 - structure
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.FiniteVerifierline 288Source documentation
Finite test data, with no soundness or complexity assumption.
structure FiniteVerifier (q : Nat) where …
- def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.eventValueline 294 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.rejectedEventCountline 297 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.auxiliaryCountline 300 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.outputVariablesline 303 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.oldIndexline 305 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.freshIndexline 308 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.freshIndex_valueline 312 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.liftLiteralline 318 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.forbiddenLiteralline 321 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.forbiddenClauseline 325 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.auxiliaryNamesline 329 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.splitLongline 333 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.tautologyline 339 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.blockline 344 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.eventBlockline 349 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.convertline 353 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.clauseFailuresline 357 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.splitLong_valuesline 360 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.splitLong_lengthline 383 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.restrictAssignmentline 392 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mismatchBitsline 396 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mismatchBits_lengthline 400 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.forbiddenLiteral_falseline 404 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.forbiddenClause_valuesline 410 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mismatchBits_falseline 417 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mismatchBits_trueline 427 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mismatchFill_lengthline 446 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.mismatchFillline 453 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.extendAssignmentline 462Source documentation
A computable assignment extension: finite-sum splitting and quotient/remainder decoding recover the event, pattern, and auxiliary-bit indices.
def extendAssignment {q : Nat} (V : FiniteVerifier q) (hq : 3 ≤ q) (A : Fin V.variables → Bool) : Fin (outputVariables V) → Bool := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.FiniteVerifier, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.outputVariables
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.extend_oldline 469 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.extend_freshline 474 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.restrict_extendline 482 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.ofFn_getElem_of_lengthline 487 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.extended_auxiliary_valuesline 492 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.tautology_satisfiedline 498 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.block_lengthline 503 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.block_honestline 516 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.length_flatMap_constantline 532 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.eventBlock_lengthline 543 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.convert_clause_countline 548 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.convert_nonemptyline 554 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.convert_completenessline 563 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.clauseFailures_appendline 571 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.clauseFailures_le_flatMapline 575 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.block_failedline 591Source documentation
The actual answer pattern forces a failed chain, even when queried names repeat and regardless of the labels on all allocated auxiliary variables.
theorem block_failed {q : Nat} (V : FiniteVerifier q) (hq : 3 ≤ q) (B : Fin (outputVariables V) → Bool) (e : Fin V.events) (p : PatternIndex q) (rejected : V.accepts e (patternAt q p) = false) (actual : ∀ i, restrictAssignment V B (V.query e i) = patternAt q p i) : 1 ≤ clauseFailures (block V hq e p) B := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.FiniteVerifier, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.outputVariables, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.PatternIndex, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.patternAt, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.restrictAssignment, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.clauseFailures, OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.block
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.eventBlock_failedline 608 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.count_false_map_sumline 620 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.clauseFailures_flatMapline 626 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.nat_sum_map_leline 634 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.convert_count_bridgeline 642 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.convert_gapline 655 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.twelve_query_factorline 670 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.twelve_query_clause_countline 672 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padLiteralline 676 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padClauseline 679 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padTautologyline 682 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padInputline 686 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padClause_evalline 690 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padTautology_satisfiedline 693 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padInput_satisfiable_iffline 697 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padInput_clause_countline 718 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.padInput_nonemptyline 721 - def
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.prepareInputline 727 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.prepareInput_satisfiable_iffline 729 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.prepareInput_clause_countline 733 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.prepareInput_nonemptyline 737 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.VerifierToCNF.prepareInput_variable_boundline 743