OAI/Computability/UniqueGames/PCP/InitialGraphLemmas.lean
126 declarations, 0 contain sorry, 0 declared as axioms
The initial finite constraint graph of an arbitrary concrete 3CNF formula.
Clause and variable vertices use one eight-element alphabet. Variable labels
are the canonical triples (bit, false, false); clause labels are arbitrary
triples. Every incidence has two directed darts, including repeated names.
A tautological dummy loop keeps the graph nonempty for empty formulas.
Name compaction precedes the public construction. The resulting vertex count
is at most 4*m+1, and the dart count is exactly 6*m+1. Unsatisfiability gives
an inverse-size gap, not a constant gap. No PCP theorem is assumed or claimed.
- abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.Labelline 37 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.Vertexline 38 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.Dartline 39 - instance
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.slotFintypeline 41 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.card_slotline 45 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.card_labelline 46 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.variableVertexline 49 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.clauseVertexline 50 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.dummyVertexline 51 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.dummyDartline 52 - instance
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.vertexNonemptyline 54 - instance
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.dartNonemptyline 55 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.reverseline 57 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.reverse_involutiveline 61 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.reverseEquivline 67 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.tailline 73 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.toClauseAnswerline 78 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.fromClauseAnswerline 79 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.variableLabelline 80 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.to_fromClauseAnswerline 82 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.variableValidline 86 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.incidenceAcceptline 89 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.predicateline 95 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.rawline 100 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.raw_forwardline 111 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.incidenceAccept_trueline 116 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.honestLabelingline 123 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.incidence_honestline 128 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.raw_completenessline 136 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.clauseAnswer_eq_of_slotsline 145 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.raw_reflectsline 154 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.raw_satisfiable_iffline 173 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.card_vertexline 176 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.card_dartline 180 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.CompactVertexline 185 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.CompactDartline 186 - def
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.buildline 188 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.build_satisfiable_iffline 191 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.build_vertex_boundline 195 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.build_dart_countline 201 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.build_initial_gapline 207Source documentation
The initial inverse-size gap follows from the original unsatisfiability, without a PCP, bounded-degree, or constant-gap premise.
theorem build_initial_gap (F : Formula) (unsat : ¬ F.Satisfiable) (labeling : CompactVertex F → Label) : 1 ≤ (build F).rejectionCount labeling := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.CompactVertex, OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.Label, OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.build
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.InitialGraph.build_inverse_size_gapline 213 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.bitline 237 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.hitsline 241 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.meanline 244 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.bit_nonnegline 246 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.bit_sqline 250 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.bit_mulline 254 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.bit_monoline 258 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.hits_nonnegline 266 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.mean_nonnegline 269 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.mean_hitsline 272 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.second_moment_eqline 276 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.mean_witness_sq_leline 284 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringMoment.rejection_lower_boundline 316 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringNumeric.min_density_ratioline 353Source documentation
A bounded nonnegative coefficient gives the required ratio bound both below and above the cutoff
1/t.theorem min_density_ratio (ε C k t : ℝ) (hε : 0 < ε) (hC : 0 < C) (hk : 0 ≤ k) (ht : 0 < t) (hkt : k ≤ t) : min ε (1 / t) / (C + 1) ≤ ε / (C + k * ε) := by … - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringNumeric.count_moment_ratio_lowerline 382Source documentation
A positive natural count supplies
0 ≤ m - 1. After cancelling the positive massm*ε, the ratio of moments dominates a constant timesmin ε (1/t). No sign condition onαis needed for its fourth power.theorem count_moment_ratio_lower (α ε C t : ℝ) (m : ℕ) (hm : 0 < m) (hε : 0 < ε) (hC : 0 < C) (ht : 0 < t) (hmt : (m : ℝ) - 1 ≤ t) : (α ^ 4 * (m : ℝ) / (C + 1)) * min ε (1 / t) ≤ (α ^ 2 * (m : ℝ) * ε) ^ 2 / ((m : ℝ) * ε * (C + ((m : ℝ) - 1) * ε)) := by … - structure
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.PortGraphline 417 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Edgeline 421 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walkline 422 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.nextline 426 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rot_rotline 428 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.walkEndline 431 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.walkEnd_nilline 435 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.walkEnd_consline 437 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.walkEnd_appendline 440 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.splitHeadline 447Source documentation
Exposes the first dart and the independent remaining port word.
def splitHead (V D : Type*) (n : Nat) : Walk V D (n + 1) ≃ ((V × D) × (Fin n → D)) where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk
- def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rotateHeadline 459Source documentation
Advance across the first edge while retaining its reverse port.
def rotateHead (G : PortGraph V D) (n : Nat) : Walk V D (n + 1) ≃ Walk V D (n + 1) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.PortGraph, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rotateHead_vertexline 463 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rotateHead_zeroline 466 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rotateHead_succline 469 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.permutePortsline 474Source documentation
Relabeling time coordinates is a bijection on actual port words.
def permutePorts {t : Nat} (σ : Fin t ≃ Fin t) : Walk V D t ≃ Walk V D t where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk
- def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.wordEndline 488 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.endpointline 492 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.natCard_walkline 495 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.headTailEquivline 499 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.advanceTailline 510 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.edgeAtline 514Source documentation
The dart at the indicated time, computed by the actual preceding steps.
def edgeAt (G : PortGraph V D) : (n : Nat) → Walk V D (n + 1) → Fin (n + 1) → Edge V D | 0, w, _ => (w.1, w.2 0) | n + 1, w, k => Fin.cases (w.1, w.2 0) (fun j => edgeAt G n (advanceTail G w) j) k /-- Isolate any actual path edge. Previously traversed ports are replaced by their arrival ports, so the change of coordinates remains invertible. -/Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.PortGraph, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Edge, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.advanceTail
- def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.pivotEquivline 522Source documentation
Isolate any actual path edge. Previously traversed ports are replaced by their arrival ports, so the change of coordinates remains invertible.
def pivotEquiv (G : PortGraph V D) : (n : Nat) → Fin (n + 1) → (Walk V D (n + 1) ≃ (Edge V D × (Fin n → D))) | 0, _ => splitHead V D 0 | n + 1, k => Fin.cases (splitHead V D (n + 1)) (fun j => (rotateHead G (n + 1)).trans ((headTailEquiv V D (n + 1)).trans ((Equiv.prodCongr (pivotEquiv G n j) (Equiv.refl D)).trans (headTailEquiv (Edge V D) D n).symm))) kMentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.PortGraph, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Edge, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.splitHead, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rotateHead, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.headTailEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.pivotEquiv_fstline 532 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.edgeAt_portline 546 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.pivotEquiv_zero_applyline 562 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.pivotEquiv_succ_applyline 566 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.projectedFiberEquivline 573 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.projectedEventEquivline 585 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.natCard_edgeAt_fiberline 604Source documentation
Every fixed dart has exactly the same number of path realizations.
theorem natCard_edgeAt_fiber (G : PortGraph V D) (n : Nat) (k : Fin (n + 1)) (a : Edge V D) : Nat.card {w : Walk V D (n + 1) // edgeAt G n w k = a} = Nat.card D ^ n := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.PortGraph, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Edge, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.edgeAt
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.natCard_edgeAt_eventline 614Source documentation
The exact event count underlying the uniform-pivot probability law.
theorem natCard_edgeAt_event (G : PortGraph V D) (n : Nat) (k : Fin (n + 1)) (P : Edge V D → Prop) : Nat.card {w : Walk V D (n + 1) // P (edgeAt G n w k)} = Nat.card {a : Edge V D // P a} * Nat.card D ^ n := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.PortGraph, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Edge, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.Walk, OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.edgeAt
- def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.leftFromPivotline 624 - def
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rightFromPivotline 630 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.leftFromPivot_zeroline 637 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rightFromPivot_zeroline 641 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.leftFromPivot_actualline 646 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.PoweringWalks.rightFromPivot_actualline 665 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.Cloudline 707Source documentation
The darts departing a specified vertex.
abbrev Cloud (G : ConstraintGraph V E A) (v : V) := {e : E // G.tail e = v}Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph
- def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.cloudIndexEquivline 709 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.cloudRotationline 719 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.cloudRotation_involutiveline 724 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.innerRotationline 732Source documentation
Conjugate the disjoint union of cloud rotations into global dart coordinates.
def innerRotation (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) : (E × D) ≃ (E × D) := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.Cloud
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.innerRotation_involutiveline 736 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.innerRotation_tailline 744 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacementStepline 751Source documentation
Internal ports rotate inside a cloud; the extra port reverses an old dart.
def replacementStep (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) : E × (D ⊕ Unit) → E × (D ⊕ Unit) | (e, Sum.inl d) => let p := innerRotation G H (e, d) …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.Cloud, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.innerRotation
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacementStep_involutiveline 758 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacementPortGraphline 770 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacementGraphline 780Source documentation
The equality constraints and inherited original constraints on the actual rotation.
def replacementGraph [DecidableEq A] (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) : ConstraintGraph E (E × (D ⊕ Unit)) A where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.Cloud
- def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.liftLabelline 796 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacement_satisfied_inlline 799 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacement_satisfied_inrline 809 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacement_completeline 815 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacement_satisfiableline 825 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.rejectionCount_eq_sumline 831 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacement_rejectionCountline 840Source documentation
Lifted labels reject precisely one external dart for each rejected original dart.
theorem replacement_rejectionCount [Fintype E] [Fintype D] [DecidableEq A] (G : ConstraintGraph V E A) (H : ∀ v, PortGraph (Cloud G v) D) (labeling : V → A) : (replacementGraph G H).rejectionCount (liftLabel G labeling) = G.rejectionCount labeling := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.Cloud, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.replacementGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.liftLabel
- abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.PaddedDartline 852Source documentation
Additional darts are attached to their specified original vertex.
abbrev PaddedDart (_G : ConstraintGraph V E A) (dummy : V → Type*) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph
- def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedOwnerline 855 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedReverseline 860 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedReverse_involutiveline 864 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedGraphline 874Source documentation
Dummy darts are self-reversing loops with an always-accepting constraint.
def paddedGraph (G : ConstraintGraph V E A) (dummy : V → Type*) : ConstraintGraph V (PaddedDart G dummy) A where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.PaddedDart
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.padded_satisfied_inlline 888 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.padded_satisfied_inrline 893 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.padded_completeline 897 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.padded_satisfiableline 905 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.card_paddedDartline 910 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.padded_rejectionCountline 916 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedReplacementPortGraphline 926 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedReplacementGraphline 931 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.paddedReplacement_rejectionCountline 937 - def
OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.noDummyEquivline 947Source documentation
Omitting all dummy darts recovers exactly the original dart set.
def noDummyEquiv (G : ConstraintGraph V E A) : PaddedDart G (fun _ : V => Empty) ≃ E where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.DegreeReplacement.PaddedDart