OAI/Computability/MaxCut/PCP/SpectralCut.lean
96 declarations, 0 contain sorry, 0 declared as axioms
Actual directed-cut expansion from the graph's zero-mean spectral certificate. Parallel edges and loops retain their indexed port multiplicities.
- def
OAI.MaxCutGames.Foundations.PCP.SpectralCut.indicatorline 18 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.mean_indicatorline 20 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.energy_indicatorline 28 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.indicator_nonnegativeline 36 - def
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cutline 43 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut_density_eqline 51Source documentation
The normalized cut count is exactly mean minus one-step correlation.
theorem cut_density_eq (S : Finset V) : ((cut G S).card : ℝ) / (Fintype.card (V × D) : ℝ) = mean (indicator S) - correlation (indicator S) (averagingOperator G (indicator S)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut, OAI.MaxCutGames.Foundations.PCP.SpectralCut.indicator
- theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut_density_ge_varianceline 73 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut_density_ge_quarterline 92 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut_card_ge_quarter_degreeline 109Source documentation
The real cardinal estimate before removing denominators.
theorem cut_card_ge_quarter_degree (certificate : SpectralCertificate G (1/2)) (S : Finset V) (hsmall : 2 * S.card ≤ Fintype.card V) : (Fintype.card D : ℝ) * (S.card : ℝ) / 4 ≤ ((cut G S).card : ℝ) := by … - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.degree_mul_card_le_four_cutline 127 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut_card_ge_quarter_degree_of_card_le_halfline 136 - theorem
OAI.MaxCutGames.Foundations.PCP.SpectralCut.cut_card_ge_twiceline 145Source documentation
The natural-number expansion used in cloud rounding. Empty vertex sets are included; a degree of at least eight supplies the nonempty port type.
theorem cut_card_ge_twice (G : PortGraph V D) (certificate : SpectralCertificate G (1/2)) (hdegree : 8 ≤ Fintype.card D) (S : Finset V) (hsmall : 2 * S.card ≤ Fintype.card V) : 2 * S.card ≤ (cut G S).card := by … - abbrev
OAI.MaxCutGames.Foundations.PCP.Regularization.Vertexline 179 - abbrev
OAI.MaxCutGames.Foundations.PCP.Regularization.Portline 180 - def
OAI.MaxCutGames.Foundations.PCP.Regularization.degreeline 183Source documentation
The degree is one absolute constant, independent of the input graph.
def degree : Nat := Fintype.card Port
Mentions: OAI.MaxCutGames.Foundations.PCP.Regularization.Port
- theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.degree_eqline 185 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.degree_positiveline 188 - def
OAI.MaxCutGames.Foundations.PCP.Regularization.cloudEquivline 191Source documentation
A positive padded cloud has exactly the size of one explicit family member.
def cloudEquiv (G : ConstraintGraph V E A) (v : V) (hk : 0 < Fintype.card (Cloud G v)) : ExpanderFamily.Vertex (ExpanderFamily.level (Fintype.card (Cloud G v))) ≃ Cloud (paddedGraph G (CloudPadding.dummy G)) v := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.ExpanderFamily.Vertex, OAI.MaxCutGames.Foundations.PCP.ExpanderFamily.level, OAI.MaxCutGames.Foundations.PCP.CloudPadding.dummy
- def
OAI.MaxCutGames.Foundations.PCP.Regularization.cloudGraphline 198Source documentation
Empty clouds use the empty rotation; every other cloud uses the proved family.
def cloudGraph (G : ConstraintGraph V E A) (v : V) : PortGraph (Cloud (paddedGraph G (CloudPadding.dummy G)) v) ExpanderFamily.Port := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.CloudPadding.dummy, OAI.MaxCutGames.Foundations.PCP.ExpanderFamily.Port
- theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.cloudGraph_of_posline 209 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.cloudGraph_certificate_of_posline 217 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.cloud_expansionline 226Source documentation
The exact expansion premise required by the checked finite rounding theorem.
theorem cloud_expansion (G : ConstraintGraph V E A) (v : V) (S : Finset (Cloud (paddedGraph G (CloudPadding.dummy G)) v)) (hsmall : S.card ≤ Fintype.card (Cloud (paddedGraph G (CloudPadding.dummy G)) v) / 2) : 2 * S.card ≤ (CloudRounding.directedCut (fun ed => ((cloudGraph G v).rot ed).1) S).card := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.CloudPadding.dummy, OAI.MaxCutGames.Foundations.PCP.CloudRounding.directedCut, OAI.MaxCutGames.Foundations.PCP.Regularization.cloudGraph
- def
OAI.MaxCutGames.Foundations.PCP.Regularization.portGraphline 241 - def
OAI.MaxCutGames.Foundations.PCP.Regularization.graphline 245Source documentation
The actual constraint graph, with its equality and inherited original tests.
def graph (G : ConstraintGraph V E A) : ConstraintGraph (Vertex G) (Vertex G × Port) A := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Regularization.Vertex, OAI.MaxCutGames.Foundations.PCP.Regularization.Port
- theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.graph_tailline 250 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.graph_reverseline 254 - def
OAI.MaxCutGames.Foundations.PCP.Regularization.degreeEquivline 258Source documentation
The outgoing darts at each new vertex are exactly its fixed port alphabet.
def degreeEquiv (G : ConstraintGraph V E A) (v : Vertex G) : Cloud (graph G) v ≃ Port where …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Regularization.Vertex, OAI.MaxCutGames.Foundations.PCP.Regularization.graph, OAI.MaxCutGames.Foundations.PCP.Regularization.Port
- theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.fixed_degreeline 270 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.vertex_count_leline 275 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.dart_countline 280 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.dart_count_leline 285 - def
OAI.MaxCutGames.Foundations.PCP.Regularization.liftLabelline 295 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.lift_rejectionCountline 300Source documentation
Completeness preserves the absolute rejection count exactly.
theorem lift_rejectionCount (G : ConstraintGraph V E A) (labeling : V → A) : (graph G).rejectionCount (liftLabel G labeling) = G.rejectionCount labeling := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Regularization.graph, OAI.MaxCutGames.Foundations.PCP.Regularization.liftLabel
- theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.completenessline 305 - def
OAI.MaxCutGames.Foundations.PCP.Regularization.roundLabelsline 310 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.soundnessline 314Source documentation
Actual regularization soundness with no remaining expansion or rounding premise.
theorem soundness [Nonempty A] (G : ConstraintGraph V E A) (ell : Vertex G → A) : G.rejectionCount (roundLabels G ell) ≤ (graph G).rejectionCount ell := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Regularization.Vertex, OAI.MaxCutGames.Foundations.PCP.Regularization.roundLabels, OAI.MaxCutGames.Foundations.PCP.Regularization.graph
- theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.exists_roundingline 319 - theorem
OAI.MaxCutGames.Foundations.PCP.Regularization.soundness_of_uniform_lower_boundline 323 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySpectral.half_sum_sq_leline 344 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySpectral.lazy_energy_le_averageline 349Source documentation
Lazification averages the input and one actual graph step, so its energy is at most the corresponding average of the two energies.
theorem lazy_energy_le_average [Fintype V] [Fintype D] [Nonempty D] (G : PortGraph V D) (f : V → ℝ) : energy (averagingOperator (lazyGraph G) f) ≤ (energy f + energy (averagingOperator G f)) / 2 := by … - theorem
OAI.MaxCutGames.Foundations.PCP.LazySpectral.lazy_energy_boundline 373Source documentation
The concrete lazy graph inherits a squared-energy bound from an actual certificate for its underlying graph.
theorem lazy_energy_bound [Fintype V] [Fintype D] [Nonempty D] (G : PortGraph V D) (lambda : ℝ) (hG : SpectralCertificate G lambda) (f : V → ℝ) (hf : mean f = 0) : energy (averagingOperator (lazyGraph G) f) ≤ ((1 + lambda ^ 2) / 2) * energy f := by … - theorem
OAI.MaxCutGames.Foundations.PCP.LazySpectral.lazy_certificate_31_32line 388Source documentation
An actual
7/8certificate gives the stated31/32certificate after lazification: its intermediate squared-energy factor is113/128.theorem lazy_certificate_31_32 [Fintype V] [Fintype D] [Nonempty D] (G : PortGraph V D) (hG : SpectralCertificate G (7 / 8)) : SpectralCertificate (lazyGraph G) (31 / 32) where … - abbrev
OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertexline 411 - abbrev
OAI.MaxCutGames.Foundations.PCP.Preprocessing.OverlayPortline 412 - abbrev
OAI.MaxCutGames.Foundations.PCP.Preprocessing.Portline 413 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.degreeline 415 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.sizeFactorline 416 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.card_lazy_sum_inline_Preprocessingline 418 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.doubled_add_inline_Preprocessingline 423 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.degree_eq_cardline 425 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.degree_positiveline 434 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.sizeFactor_positiveline 438 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.paddedGraphline 444Source documentation
Whole-graph padding retains each original regularized constraint.
def paddedGraph (G : ConstraintGraph V E A) : ConstraintGraph (Vertex G) (Vertex G × Regularization.Port) A := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.Regularization.Port
- def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.overlayExpanderline 449Source documentation
The overlay expander is transported to this exact padded vertex set.
def overlayExpander (G : ConstraintGraph V E A) : PortGraph (Vertex G) ExpanderFamily.Port := …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.ExpanderFamily.Port
- theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.overlayExpander_certificateline 456 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.overlayGraphline 460 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.graphline 464 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.portGraphline 468 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.graph_tailline 472 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.graph_reverseline 475 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.accepts_reverseline 479 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.portGraph_eq_lazyGraphline 484 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.overlayGraph_certificateline 488 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.spectral_certificateline 498Source documentation
The actual output operator has one fixed spectral contraction factor.
theorem spectral_certificate (G : ConstraintGraph V E A) : SpectralCertificate (portGraph G) (31 / 32 : ℝ) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.portGraph
- theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.vertex_count_leline 505 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.dart_countline 515 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.dart_count_leline 521 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.liftLabelline 529 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.lift_rejectionCountline 535Source documentation
Lifting any original assignment preserves its absolute rejection count.
theorem lift_rejectionCount (G : ConstraintGraph V E A) (labeling : V → A) : (graph G).rejectionCount (liftLabel G labeling) = G.rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.graph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.liftLabel
- theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.completenessline 547 - def
OAI.MaxCutGames.Foundations.PCP.Preprocessing.roundLabelsline 554 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.soundnessline 560Source documentation
Rounding an arbitrary output assignment gives an original assignment with no more rejected darts. There are no expansion or rounding hypotheses.
theorem soundness (G : ConstraintGraph V E A) (labeling : Vertex G → A) : G.rejectionCount (roundLabels G labeling) ≤ (graph G).rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.Preprocessing.roundLabels, OAI.MaxCutGames.Foundations.PCP.Preprocessing.graph
- theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.satisfiable_iffline 573 - theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.gap_transferline 587Source documentation
The quantitative lower bound used by each amplification iteration. The single constant
sizeFactoris independent of the alphabet and input graph.theorem gap_transfer (G : ConstraintGraph V E A) (epsilon : ℚ) (he : 0 ≤ epsilon) (lower : ∀ labeling : V → A, epsilon * Fintype.card E ≤ (G.rejectionCount labeling : ℚ)) (labeling : Vertex G → A) : (epsilon / sizeFactor) * Fintype.card (Vertex G × Port) ≤ ((graph G).rejectionCount labeling : ℚ) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.Preprocessing.sizeFactor, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Port, OAI.MaxCutGames.Foundations.PCP.Preprocessing.graph
- theorem
OAI.MaxCutGames.Foundations.PCP.Preprocessing.gap_transfer_realline 605Source documentation
The same actual counting guarantee in the real normalization used for walk amplification. No rational approximation premise is needed.
theorem gap_transfer_real (G : ConstraintGraph V E A) (epsilon : ℝ) (he : 0 ≤ epsilon) (lower : ∀ labeling : V → A, epsilon * Fintype.card E ≤ (G.rejectionCount labeling : ℝ)) (labeling : Vertex G → A) : (epsilon / sizeFactor) * Fintype.card (Vertex G × Port) ≤ ((graph G).rejectionCount labeling : ℝ) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Vertex, OAI.MaxCutGames.Foundations.PCP.Preprocessing.sizeFactor, OAI.MaxCutGames.Foundations.PCP.Preprocessing.Port, OAI.MaxCutGames.Foundations.PCP.Preprocessing.graph
- abbrev
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.BaseTableline 638 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.degreeline 640 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.degree_eqline 642 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.regularVerticesline 647 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.verticesline 648 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.paddedline 650 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.overlayFamilyline 655 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.preprocessline 660 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.outputline 665 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.graphTableline 668 - def
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.outputBitsline 671 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.regularVertices_ge_dartsline 674 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.regularVertices_leline 678 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.vertices_positiveline 681 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.vertices_le_of_positiveline 684 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.vertices_eq_one_of_no_dartsline 694 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.vertices_leline 700Source documentation
The total algorithm also has a uniform data bound on empty inputs.
theorem vertices_le (t : GraphTables.Table) : vertices t ≤ ExpanderFamily.growth ^ 2 * (t.darts + 1) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.GraphTables.Table, OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.vertices, OAI.MaxCutGames.Foundations.PCP.ExpanderFamily.growth
- theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.darts_eqline 710 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.darts_leline 713 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.vertices_le_inputBitsline 721 - theorem
OAI.MaxCutGames.Foundations.PCP.PreprocessingTables.darts_le_inputBitsline 726