OAI/Computability/MaxCut/Estimates/Dictator.lean
38 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.OptimalMaxCut.LongCode.bitSign_notline 15 - theorem
OAI.OptimalMaxCut.LongCode.corrAverage_coordinateline 18 - def
OAI.OptimalMaxCut.LongCode.Game.dictatorline 36Source documentation
The honest assignment is an actual Boolean cut (coordinate dictators).
def dictator (lx : X → Fin q) (x : X) (z : Cube (Fin q)) : ℝ := bitSign (z (lx x))
- theorem
OAI.OptimalMaxCut.LongCode.Game.testCut_completeline 38 - def
OAI.OptimalMaxCut.LongCode.Law.pushline 97Source documentation
Exact aggregation of rational masses; all collisions are added, not silently treated as different edges.
def push (p : Law I) (f : I → J) : Law J where …
Mentions: OAI.OptimalMaxCut.LongCode.Law
- theorem
OAI.OptimalMaxCut.LongCode.Law.push_averageline 104 - def
OAI.OptimalMaxCut.LongCode.aggregateline 116Source documentation
A general finite rational law of ordered test endpoints becomes an ordinary symmetric rational graph by adding both orientations and deleting loops.
def aggregate {N : ℕ} (p : Law (Fin N × Fin N)) (u v : Fin N) : ℚ := …Mentions: OAI.OptimalMaxCut.LongCode.Law
- theorem
OAI.OptimalMaxCut.LongCode.aggregate_symmline 119 - theorem
OAI.OptimalMaxCut.LongCode.aggregate_nonnegline 124 - theorem
OAI.OptimalMaxCut.LongCode.upper_triangle_symmetrizeline 131 - theorem
OAI.OptimalMaxCut.LongCode.aggregate_cutline 148 - theorem
OAI.OptimalMaxCut.LongCode.aggregate_totalline 164 - def
OAI.OptimalMaxCut.LongCode.Game.edgeDistributionline 191Source documentation
Fixed explicit vertex enumeration, supplied as a finite equivalence. The semantic theorem does not hide an unweighted conversion or an edge multiset.
def edgeDistribution (G : Game X Y E q) (t : ℚ) (ht : t ∈ Set.Icc (-1 : ℚ) 1) (enum : X × Cube (Fin q) ≃ Fin N) : Law (Fin N × Fin N) := …Mentions: OAI.OptimalMaxCut.LongCode.Game, OAI.OptimalMaxCut.LongCode.Law
- def
OAI.OptimalMaxCut.LongCode.Game.weightsline 195 - theorem
OAI.OptimalMaxCut.LongCode.Game.weightedCut_testCutline 199 - theorem
OAI.OptimalMaxCut.LongCode.Game.weightedMax_completeline 209 - theorem
OAI.OptimalMaxCut.LongCode.Game.exists_weighted_soundnessline 221 - def
OAI.OptimalMaxCut.LongCode.Game.outputline 248Source documentation
The actual simple, unweighted output. Its common integer scale is printed; loops and both orientations have already been handled by exact aggregation.
def output (G : Game X Y E q) (t : ℚ) (ht : t ∈ Set.Icc (-1 : ℚ) 1) (enum : X × Cube (Fin q) ≃ Fin N) (K : ℕ) : ScaledGraph := …Mentions: OAI.OptimalMaxCut.LongCode.Game, OAI.OptimalMaxCut.ScaledGraph
- theorem
OAI.OptimalMaxCut.LongCode.Game.output_errorline 252 - theorem
OAI.OptimalMaxCut.LongCode.Game.output_completeline 259 - theorem
OAI.OptimalMaxCut.LongCode.Game.output_vertex_boundline 268 - theorem
OAI.OptimalMaxCut.LongCode.Game.exists_unweighted_gap_parametersline 276Source documentation
All constants for the Max-Cut gap, and the fixed deterministic graph transformation, are selected before the input game. This is the semantic component, not the still-required machine-level reduction certificate.
theorem exists_unweighted_gap_parameters (α : ℝ) (hα : alphaGW < α) (hα1 : α ≤ 1) : ∃ (t ε y n : ℚ) (δ : ℝ) (K : ℕ) (ht : t ∈ Set.Icc (-1 : ℚ) 1), 0 < t ∧ t < 1 ∧ 0 < ε ∧ (ε : ℝ) < 1 / 2 ∧ 0 < δ ∧ δ < 1 / 2 ∧ 0 < K ∧ 0 < y ∧ 0 ≤ n ∧ (n : ℝ) < α * (y : ℝ) ∧ (∀ {X Y E : Type} [Fintype X] [Fintype Y] [Fintype E] {q N : ℕ} (G : Game X Y E q) (enum : X × Cube (Fin q) ≃ Fin N), (∃ lx ly, 1 - (ε : ℝ) ≤ G.satisfied lx ly) → (y : ℝ) ≤ ((G.output t ht enum K).graph.maxCut : ℝ) / (G.output t ht enum K).scale) ∧ (∀ {X Y E : Type} [Fintype X] [Fintype Y] [Fintype E] {q N : ℕ} (_hq : 0 < q) (G : Game X Y E q) (enum : X × Cube (Fin q) ≃ Fin N), G.Sound δ → ((G.output t ht enum K).graph.maxCut : ℝ) / (G.output t ht enum K).scale ≤ (n : ℝ)) := by …Mentions: OAI.OptimalMaxCut.alphaGW, OAI.OptimalMaxCut.LongCode.Game
- def
OAI.OptimalMaxCut.LongCode.Law.fiberSizeline 330 - theorem
OAI.OptimalMaxCut.LongCode.Law.fiberSize_eq_sumline 335 - theorem
OAI.OptimalMaxCut.LongCode.Law.sum_fiberSizeline 341 - theorem
OAI.OptimalMaxCut.LongCode.Law.fiberSize_posline 348 - def
OAI.OptimalMaxCut.LongCode.Law.fiberMarginalline 352 - def
OAI.OptimalMaxCut.LongCode.Law.fiberConditionalline 359 - theorem
OAI.OptimalMaxCut.LongCode.Law.fiber_jointline 374 - theorem
OAI.OptimalMaxCut.LongCode.Law.fiber_averageline 389 - def
OAI.OptimalMaxCut.LongCode.InstanceAdapter.ofInstanceline 410 - theorem
OAI.OptimalMaxCut.LongCode.InstanceAdapter.satisfaction_formulaline 419 - theorem
OAI.OptimalMaxCut.LongCode.InstanceAdapter.count_as_sumline 432Source documentation
Occurrences retain their list identity: no parallel edge or denominator is silently discarded in the adapter.
theorem count_as_sum {n : ℕ} (cs : List (Constraint n q)) (l : Fin n → Fin q) : (countSatisfied l cs : ℝ) = ∑ e : Fin cs.length, if cs[e].permutation.images[l cs[e].source] = l cs[e].target then (1 : ℝ) else 0 := by … - theorem
OAI.OptimalMaxCut.LongCode.InstanceAdapter.satisfaction_diagonalline 446 - def
OAI.OptimalMaxCut.LongCode.InstanceAdapter.mergeline 450 - theorem
OAI.OptimalMaxCut.LongCode.InstanceAdapter.satisfaction_mergeline 454 - theorem
OAI.OptimalMaxCut.LongCode.InstanceAdapter.completeline 464 - theorem
OAI.OptimalMaxCut.LongCode.InstanceAdapter.soundline 470