The consistency graph as an approximation input
Lax323828.EncodedReduction · concepts/Lax323828/EncodedReduction.lean · lax-323828
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Numbering the vertices of the consistency graph produces an input to the clique approximation problem whose clique number is exactly the optimum acceptance count of the local tests.
An -approximation separates optimum acceptance counts at most from counts at least whenever , provided . The separating predicate compares the returned integer with . The same polynomial-time estimator works for every such system and gap.
This statement supplies the graph-theoretic and numerical transfer. Efficiently producing the accepting views and the numbered graph from a language input remains a separate machine-construction obligation.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax323828.CliqueCorrespondence |
| 2 | import Lax323828.GraphEncoding |
| 3 | import Lax323828.Approximation |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: The consistency graph as an approximation input |
| 8 | type: theorem |
| 9 | --- |
| 10 | Numbering the vertices of the consistency graph produces an input to the |
| 11 | clique approximation problem whose clique number is exactly the optimum |
| 12 | acceptance count of the local tests. |
| 13 | |
| 14 | An -approximation separates optimum acceptance counts |
| 15 | at most from counts at least whenever |
| 16 | , provided . The separating predicate compares |
| 17 | the returned integer with . The same polynomial-time estimator works |
| 18 | for every such system and gap. |
| 19 | |
| 20 | This statement supplies the graph-theoretic and numerical transfer. |
| 21 | Efficiently producing the accepting views and the numbered graph from a |
| 22 | language input remains a separate machine-construction obligation. |
| 23 | -/ |
| 24 | |
| 25 | namespace Lax323828.EncodedReduction |
| 26 | |
| 27 | open scoped Classical |
| 28 | |
| 29 | open LocalTests ConsistencyGraph Lax434930.PolynomialTime |
| 30 | |
| 31 | /-- The consistency graph with consecutively numbered vertices, in the approximation algorithm’s input format. -/ |
| 32 | noncomputable def output {r m : ℕ} (C : System r m) : |
| 33 | Graphs.Graph (Fintype.card (Vertex C)) := |
| 34 | GraphEncoding.numbered (graph C) (Fintype.equivFin (Vertex C)).symm |
| 35 | |
| 36 | axiom cliqueNumber_output {r m : ℕ} (C : System r m) : |
| 37 | (output C).cliqueNumber = C.optimum |
| 38 | |
| 39 | axiom approximation_separates (ε : ℝ) (hε : Approximation.Approximable ε) : |
| 40 | ∃ estimate : Word → ℕ, |
| 41 | Nonempty (Turing.TM2ComputableInPolyTime id Computability.encodeNat estimate) ∧ |
| 42 | ∀ (r m : ℕ) (C : System r m), 0 < Fintype.card (Vertex C) → |
| 43 | ∀ a b : ℕ, |
| 44 | Real.rpow (Fintype.card (Vertex C) : ℝ) (1 - ε) * (a : ℝ) < (b : ℝ) → |
| 45 | (C.optimum ≤ a → estimate (output C).encode ≤ a) ∧ |
| 46 | (b ≤ C.optimum → a < estimate (output C).encode) |
| 47 | |
| 48 | end Lax323828.EncodedReduction |
| 49 |
Used by
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments