OAI/Computability/MaxCut/PCP/RoundGap.lean
78 declarations, 0 contain sorry, 0 declared as axioms
Size of the actual fixed amplification round
All constants below depend only on the fixed port alphabet and walk length.
The round itself is the checked preprocessing, powering, and alphabet graph
construction in AmplificationRound; no second graph constructor is introduced.
Closed constants are kept symbolic rather than evaluated.
- def
OAI.MaxCutGames.Foundations.PCP.RoundGap.poweredLowerline 16 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundGap.poweredLower_nonnegativeline 20 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundGap.powered_count_gapline 28 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundGap.amplifiesline 56 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.card_padded_alphabetline 88 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.card_powered_dartline 95 - opaque
OAI.MaxCutGames.Foundations.PCP.RoundSize.lockedNatline 106Source comment
An opaque value with a checked equality prevents the kernel's closed-numeral evaluator from expanding the astronomical powers. Its body is proved once for an arbitrary natural number; no axiom or trusted evaluator is introduced. Only size bounds use these constants, not the graph's algorithm definitions.private opaque lockedNat (n : Nat) : {m : Nat // m = n} := ⟨n, rfl⟩ - def
OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredAlphabetSizeline 108 - def
OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredDartFactorline 112 - def
OAI.MaxCutGames.Foundations.PCP.RoundSize.sizeFactorline 115 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredAlphabetSize_eqline 119 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredDartFactor_eqline 123 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.sizeFactor_eqline 127 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.coefficient_positive_inline_RoundSizeline 131 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredAlphabet_cardline 136 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.sizeFactor_positiveline 145 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.factor_total_inline_RoundSizeline 151 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.nat_card_output_vertex_inline_RoundSizeline 154 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.nat_card_output_dart_inline_RoundSizeline 162 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.nat_card_output_total_le_inline_RoundSizeline 169 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredDart_cardline 181 - theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.output_vertex_cardline 192Source documentation
The exact cardinality of the round's output vertex type.
theorem output_vertex_card (G : ConstraintGraph V E AmplificationRound.Label) : Fintype.card (AmplificationRound.Vertex G) = Fintype.card (Preprocessing.Vertex G) * 2 ^ poweredAlphabetSize + (Fintype.card (Preprocessing.Vertex G) * poweredDartFactor) * AlphabetGraphBounds.vertexFactor poweredAlphabetSize := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Label, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Vertex, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredAlphabetSize, OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredDartFactor, OAI.MaxCutGames.Foundations.PCP.AlphabetGraphBounds.vertexFactor
- theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.output_dart_cardline 207Source documentation
The exact cardinality of the round's output dart type.
theorem output_dart_card (G : ConstraintGraph V E AmplificationRound.Label) : Fintype.card (AmplificationRound.Dart G) = (Fintype.card (Preprocessing.Vertex G) * poweredDartFactor) * AlphabetGraphBounds.dartFactor poweredAlphabetSize := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Label, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Dart, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredDartFactor, OAI.MaxCutGames.Foundations.PCP.AlphabetGraphBounds.dartFactor, OAI.MaxCutGames.Foundations.PCP.RoundSize.poweredAlphabetSize
- theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.output_total_le_dartsline 219Source documentation
The actual round has linear total size, even in the old dart count alone.
theorem output_total_le_darts (G : ConstraintGraph V E AmplificationRound.Label) : Fintype.card (AmplificationRound.Vertex G) + Fintype.card (AmplificationRound.Dart G) ≤ sizeFactor * Fintype.card E := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Label, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Vertex, OAI.MaxCutGames.Foundations.PCP.AmplificationRound.Dart, OAI.MaxCutGames.Foundations.PCP.RoundSize.sizeFactor
- theorem
OAI.MaxCutGames.Foundations.PCP.RoundSize.output_total_leline 245 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceNonempty.real_clause_gap_of_countline 260Source documentation
Convert an actual natural-number clause-count inequality to the real inequality used by the clause-variable game.
theorem real_clause_gap_of_count (F : Formula) (a b : ℕ) (hb : 0 < b) (hgap : ∀ assignment : Fin F.«variables» → Bool, a * F.clauses.length ≤ b * NameCompaction.failedCount F assignment) (assignment : Fin F.«variables» → Bool) : (a : ℝ) / (b : ℝ) * F.clauses.length ≤ (failureCount F assignment (allIndices F) : ℝ) := by … - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceNonempty.clauseGap_of_countline 274 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceNonempty.cnf_nonempty_of_nonempty_dartsline 287Source documentation
The actual final graph bundle carries a nonempty dart type, so its explicitly numbered Boolean CNF is nonempty even before using any gap.
theorem cnf_nonempty_of_nonempty_darts [Fintype E] [Nonempty E] (G : ConstraintGraph V E FinalBooleanVerifier.Label) (vertices : V ≃ Fin n) (edges : E ≃ Fin m) : (FinalBooleanVerifier.cnf G vertices edges).clauses ≠ [] := by … - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceNonempty.cnf_clauseGapline 298Source documentation
The checked final Boolean-verifier count bound produces exactly the nonempty clause-gap premise of SourceGap, with denominator
40960 * b.theorem cnf_clauseGap [Fintype E] [Nonempty E] (G : ConstraintGraph V E FinalBooleanVerifier.Label) (vertices : V ≃ Fin n) (edges : E ≃ Fin m) (a b : ℕ) (hb : 0 < b) (hgap : ∀ labeling : V → FinalBooleanVerifier.Label, a * Fintype.card E ≤ b * G.rejectionCount labeling) : SourceGap.ClauseGap (FinalBooleanVerifier.cnf G vertices edges) ((a : ℚ) / ((b : ℚ) * 40960)) := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceGap.ClauseGap
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceNonempty.cnf_clauseGap_unitline 312Source documentation
The unit-numerator gap supplied by the final powering stage has the fixed rational clause gap
1 / (40960 * walkLength).theorem cnf_clauseGap_unit [Fintype E] [Nonempty E] (G : ConstraintGraph V E FinalBooleanVerifier.Label) (vertices : V ≃ Fin n) (edges : E ≃ Fin m) (walkLength : ℕ) (hwalk : 0 < walkLength) (hgap : ∀ labeling : V → FinalBooleanVerifier.Label, Fintype.card E ≤ walkLength * G.rejectionCount labeling) : SourceGap.ClauseGap (FinalBooleanVerifier.cnf G vertices edges) (1 / (40960 * (walkLength : ℚ))) := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceGap.ClauseGap
- abbrev
OAI.MaxCutGames.Foundations.PCP.PCPIteration.Labelline 343 - abbrev
OAI.MaxCutGames.Foundations.PCP.PCPIteration.Graphline 344 - abbrev
OAI.MaxCutGames.Foundations.PCP.PCPIteration.Addressesline 345 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.stepline 347 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.runline 351 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.initialline 354 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.iterationCountline 356 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.outputline 358 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.polynomialDegreeline 362Source documentation
Fixed exponent; the enormous fixed graph constants remain unevaluated.
def polynomialDegree : Nat := AmplificationIteration.rounds RoundSize.sizeFactor
Mentions: OAI.MaxCutGames.Foundations.PCP.AmplificationIteration.rounds, OAI.MaxCutGames.Foundations.PCP.RoundSize.sizeFactor
- def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalClauseGapline 364 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalClauseGap_positiveline 366 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.sizeFactor_le_powerline 370 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.initial_satisfiable_iffline 373 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.initial_size_positiveline 377 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.initial_size_boundline 380 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.step_completenessline 388 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.step_gapline 392 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.step_sizeline 396 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.run_completenessline 400 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.run_gapline 406 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.run_sizeline 412 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.output_completenessline 418 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.output_gapline 426Source documentation
The actual graph reaches the fixed positive gap after the concrete number of rounds determined by its initial total size.
theorem output_gap (addresses : List Addresses) (complete : ∀ w, w ∈ addresses) (F : Target.Formula) (unsat : ¬ F.Satisfiable) : FinalConstants.cap ≤ (output addresses complete F).gap := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PCPIteration.Addresses, OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.PCP.FinalConstants.cap, OAI.MaxCutGames.Foundations.PCP.PCPIteration.output
- theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.output_satisfiable_iffline 436 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.output_size_polynomialline 446 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.output_size_clause_boundline 453 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.output_count_gapline 461 - def
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNFline 485 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_satisfiable_iffline 488 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_clause_countline 493 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_variable_countline 497 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_nonemptyline 501 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_gapline 508 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_clauseGapline 520 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_total_sizeline 526 - theorem
OAI.MaxCutGames.Foundations.PCP.PCPIteration.finalCNF_polynomial_sizeline 543 - def
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.outputline 563 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.satisfiable_iffline 566 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.variable_countline 573 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.clause_countline 577 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.nonemptyline 581 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.tableGraph_rejectionCountline 586Source documentation
Boolean labels and numeric labels have exactly the same rejected darts.
theorem tableGraph_rejectionCount (table : GraphTables.Table) (labeling : Fin table.vertices → FinalBooleanVerifier.Label) : (FinalCNFPattern.tableGraph table).rejectionCount labeling = (GraphTables.semantics table).rejectionCount (fun v => FinalCNFPattern.labelEquiv (labeling v)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.GraphTables.Table, OAI.MaxCutGames.Foundations.PCP.FinalBooleanVerifier.Label, OAI.MaxCutGames.Foundations.PCP.GraphTables.semantics
- theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.tableGraph_count_lowerline 597Source documentation
A uniform numeric-label count bound transfers to the machine's Boolean-label graph.
theorem tableGraph_count_lower (table : GraphTables.Table) (walkLength : Nat) (hgap : ∀ labeling : Fin table.vertices → GraphTables.Label, table.darts ≤ walkLength * (GraphTables.semantics table).rejectionCount labeling) (labeling : Fin table.vertices → FinalBooleanVerifier.Label) : Fintype.card (Fin table.darts) ≤ walkLength * (FinalCNFPattern.tableGraph table).rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.GraphTables.Table, OAI.MaxCutGames.Foundations.PCP.GraphTables.Label, OAI.MaxCutGames.Foundations.PCP.GraphTables.semantics, OAI.MaxCutGames.Foundations.PCP.FinalBooleanVerifier.Label
- theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.clauseGapline 606 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.total_size_leline 616 - def
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.sizePolynomialline 624Source documentation
A fixed quadratic in the full serialized input length.
noncomputable def sizePolynomial : Polynomial Nat := …
- theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.sizePolynomial_evalline 629 - theorem
OAI.MaxCutGames.Foundations.PCP.FinalTableFormula.formulaBits_length_le_polynomialline 633