OAI/Computability/MaxCut/PCP/Overlay.lean
72 declarations, 0 contain sorry, 0 declared as axioms
Overlay a regular constraint graph with an actual regular port graph whose new constraints always accept. The port sets are disjoint, so all original rejected darts are retained exactly. The averaging operator is the actual degree-weighted mixture of the two graph averages.
- def
OAI.MaxCutGames.Foundations.PCP.Overlay.originalPortGraphline 23 - def
OAI.MaxCutGames.Foundations.PCP.Overlay.rotateline 27 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.rotate_involutiveline 32 - def
OAI.MaxCutGames.Foundations.PCP.Overlay.portGraphline 41 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.portGraph_rot_inlline 49 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.portGraph_rot_inrline 54 - def
OAI.MaxCutGames.Foundations.PCP.Overlay.constraintGraphline 60Source documentation
Keep the original tests and add always-accepting tests on the overlay ports.
def constraintGraph (G : ConstraintGraph V (V × D) A) (H : PortGraph V E) : ConstraintGraph V (V × (D ⊕ E)) A where … - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.constraintGraph_tailline 74 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.constraintGraph_portGraphline 77 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.edgeSatisfied_inlline 81 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.edgeSatisfied_inrline 91 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.completeline 95 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.satisfiable_iffline 105 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.rejectionCount_eqline 118Source documentation
Every labeling rejects exactly the same number of darts before and after overlay.
theorem rejectionCount_eq [Fintype V] [Fintype D] [Fintype E] (G : ConstraintGraph V (V × D) A) (H : PortGraph V E) (htail : G.tail = Prod.fst) (labeling : V → A) : (constraintGraph G H).rejectionCount labeling = G.rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Overlay.constraintGraph
- theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.card_portsline 127 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.card_dartsline 130 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.operator_mixline 139Source documentation
The normalized graph average weights the components by their actual port counts.
theorem operator_mix [Nonempty D] [Nonempty E] (G : PortGraph V D) (H : PortGraph V E) (f : V → ℝ) (v : V) : averagingOperator (portGraph G H) f v = (Fintype.card D : ℝ) / ((Fintype.card D : ℝ) + Fintype.card E) * averagingOperator G f v + (Fintype.card E : ℝ) / ((Fintype.card D : ℝ) + Fintype.card E) * averagingOperator H f v := by … - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.energy_convex_mixline 159Source documentation
Convexity of the squared energy, proved pointwise before taking the finite mean.
theorem energy_convex_mix (a b : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) (f g : V → ℝ) : energy (fun v => a * f v + b * g v) ≤ a * energy f + b * energy g := by … - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.energy_boundline 176Source documentation
Actual overlay contraction from the supplied graph's spectral bound and the proved energy contraction of an arbitrary reversible regular graph.
theorem energy_bound [Nonempty V] [Nonempty D] [Nonempty E] (G : PortGraph V D) (H : PortGraph V E) (lambda : ℝ) (certificate : SpectralCertificate H lambda) (f : V → ℝ) (hf : mean f = 0) : energy (averagingOperator (portGraph G H) f) ≤ ((Fintype.card D : ℝ) + (Fintype.card E : ℝ) * lambda ^ 2) / ((Fintype.card D : ℝ) + Fintype.card E) * energy f := by … - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.energy_bound_three_quartersline 213Source documentation
With one more original port than overlay ports, a half-spectral overlay has squared contraction at most three quarters.
theorem energy_bound_three_quarters [Nonempty V] (G : PortGraph V D) (H : PortGraph V E) (hdegree : Fintype.card D = Fintype.card E + 1) (hpositive : 1 ≤ Fintype.card E) (certificate : SpectralCertificate H (1 / 2 : ℝ)) (f : V → ℝ) (hf : mean f = 0) : energy (averagingOperator (portGraph G H) f) ≤ (3 / 4 : ℝ) * energy f := by … - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.spectralCertificate_seven_eighthsline 232 - theorem
OAI.MaxCutGames.Foundations.PCP.Overlay.constraintGraph_spectralCertificateline 246Source documentation
The certificate belongs to the exact underlying graph of the overlaid constraints.
theorem constraintGraph_spectralCertificate [Nonempty V] (G : ConstraintGraph V (V × D) A) (H : PortGraph V E) (hdegree : Fintype.card D = Fintype.card E + 1) (hpositive : 1 ≤ Fintype.card E) (certificate : SpectralCertificate H (1 / 2 : ℝ)) : SpectralCertificate (originalPortGraph (constraintGraph G H)) (7 / 8 : ℝ) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.Overlay.originalPortGraph, OAI.MaxCutGames.Foundations.PCP.Overlay.constraintGraph
- def
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.bitCountline 266 - def
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMeanline 269 - def
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.splitTapeline 272 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.bitCount_succline 280 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_congrline 284 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_constline 289 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_addline 292 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_subline 296 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_mulline 300 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_zeroline 304 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.expect_boolline 307 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_succline 311 - def
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.scoreline 322 - def
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.scoreMeanline 324 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.scoreMean_zeroline 327 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.scoreMean_succline 330 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.score_identityline 350Source documentation
Exact finite integration by parts for the fair Boolean-tape law.
theorem score_identity (n : ℕ) (g : ℕ → ℝ) : scoreMean (n + 1) g = ((n : ℝ) + 1) / 2 * (binomialMean n g - binomialMean n (fun k => g (k + 1))) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.LazySmoothing.scoreMean, OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMean
- theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.score_mean_zeroline 360 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.score_second_momentline 368Source documentation
The score variance is proved from the actual tape distribution.
theorem score_second_moment (n : ℕ) : binomialMean n (fun k => score n k ^ 2) = (n : ℝ) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMean, OAI.MaxCutGames.Foundations.PCP.LazySmoothing.score
- theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.score_differenceline 387 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.adjacent_difference_sqline 395Source documentation
Cauchy--Schwarz yields an adjacent-length bound without any support or small-parameter caveat. The square form avoids introducing square roots.
theorem adjacent_difference_sq (n : ℕ) (g : ℕ → ℝ) (hg : ∀ k, 0 ≤ g k ∧ g k ≤ 1) : 4 * ((n : ℝ) + 1) * (binomialMean n g - binomialMean (n + 1) g) ^ 2 ≤ 1 := by …Mentions: OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMean
- theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.adjacent_difference_leline 429 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_shift_leline 442 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_ordered_difference_leline 461 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.mean_window_leline 467 - theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.square_window_leline 490Source documentation
A convenient square center for a fixed alphabet.
theorem square_window_le (q M m : ℕ) (hq : 1 ≤ q) (hM : 1 ≤ M) (hlo : (4 * q * M) ^ 2 - M ≤ m) (hhi : m ≤ (4 * q * M) ^ 2 + M) (g : ℕ → ℝ) (hg : ∀ k, 0 ≤ g k ∧ g k ≤ 1) : |binomialMean m g - binomialMean ((4 * q * M) ^ 2) g| ≤ 1 / (4 * (q : ℝ)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMean
- theorem
OAI.MaxCutGames.Foundations.PCP.LazySmoothing.modal_transferline 518Source documentation
A modal event of probability at least
1/qretains probability1/(2q)throughout the middle window used in lazy-walk powering.theorem modal_transfer (q M m : ℕ) (hq : 1 ≤ q) (hM : 1 ≤ M) (hlo : (4 * q * M) ^ 2 - M ≤ m) (hhi : m ≤ (4 * q * M) ^ 2 + M) (g : ℕ → ℝ) (hg : ∀ k, 0 ≤ g k ∧ g k ≤ 1) (hmodal : 1 / (q : ℝ) ≤ binomialMean ((4 * q * M) ^ 2) g) : 1 / (2 * (q : ℝ)) ≤ binomialMean m g := by …Mentions: OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMean
- def
OAI.MaxCutGames.Foundations.PCP.PoweringWalks.lazyRotateline 545 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringWalks.lazyRotate_involutiveline 549 - def
OAI.MaxCutGames.Foundations.PCP.PoweringWalks.lazyGraphline 557 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringWalks.lazyGraph_rot_falseline 565 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringWalks.lazyGraph_rot_trueline 568 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringLazy.operator_binomialMeanline 579 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringLazy.averagingOperator_lazyline 587 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringLazy.iterate_lazy_eq_binomialMeanline 600Source documentation
The exact Boolean-tape mixture for the actual lazy transition operator.
theorem iterate_lazy_eq_binomialMean [Fintype D] [Nonempty D] (G : PortGraph V D) (n : Nat) (f : V → ℝ) : iterateOperator (lazyGraph G) n f = fun v => LazySmoothing.binomialMean n (fun k => iterateOperator G k f v) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.LazySmoothing.binomialMean
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringLazy.iterate_mem_Iccline 614 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringLazy.lazy_endpoint_modal_transferline 630Source documentation
The modal lower bound survives every allowed nearby actual lazy length.
theorem lazy_endpoint_modal_transfer [Fintype D] [Nonempty D] (G : PortGraph V D) (q M m : Nat) (hq : 1 ≤ q) (hM : 1 ≤ M) (hlo : (4 * q * M) ^ 2 - M ≤ m) (hhi : m ≤ (4 * q * M) ^ 2 + M) (f : V → ℝ) (hf : ∀ w, f w ∈ Set.Icc (0 : ℝ) 1) (v : V) (hmodal : 1 / (q : ℝ) ≤ iterateOperator (lazyGraph G) ((4 * q * M) ^ 2) f v) : 1 / (2 * (q : ℝ)) ≤ iterateOperator (lazyGraph G) m f v := by … - def
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.constraintGraphline 653 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.constraintGraph_tailline 665 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.constraintGraph_reverseline 668 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.constraintGraph_portGraphline 671 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.edgeSatisfied_falseline 675 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.edgeSatisfied_trueline 679 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.completeline 688 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.complete_iffline 698 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.satisfiable_iffline 709 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.rejectionCount_eqline 718Source documentation
The equality holds for every labeling, including nonsatisfying ones.
theorem rejectionCount_eq [Fintype V] [Fintype D] (G : ConstraintGraph V (V × D) A) (htail : G.tail = Prod.fst) (labeling : V → A) : (constraintGraph G).rejectionCount labeling = G.rejectionCount labeling := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.LazyConstraint.constraintGraph
- theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.card_portsline 727 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.card_dartsline 731 - theorem
OAI.MaxCutGames.Foundations.PCP.LazyConstraint.rejection_density_eq_halfline 737Source documentation
The actual normalized rejection probability is halved. The identity also holds for empty dart types, using the field's totalized division.
theorem rejection_density_eq_half [Fintype V] [Fintype D] (G : ConstraintGraph V (V × D) A) (htail : G.tail = Prod.fst) (labeling : V → A) : ((constraintGraph G).rejectionCount labeling : ℝ) / (Fintype.card (V × (Bool × D)) : ℝ) = ((G.rejectionCount labeling : ℝ) / (Fintype.card (V × D) : ℝ)) / 2 := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.LazyConstraint.constraintGraph