Independent Set Reduces to Multicoloured Clique

Lax496464.WH_F4_IndependentSetToMcc · concepts/Lax496464/WH_F4_IndependentSetToMcc.lean · lax-496464

proven

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Theorem

    Independent Set, parameterized by kk, fpt-reduces to Multicoloured Clique, parameterized by the number of colours [FHRV09, Lemma 1], [CFK+15, Theorem 13.7]. The reduction reducereduce of WHF2MccConstructionWH_F2_MccConstruction maps an instance with parameter kk to an instance with kk colours. It is computable in time c (k+1)2 (∣x∣+1)c\,(k+1)^2\,(|x|+1) on the words of instances and in polynomial time on all words, so it is also a polynomial-time many-one reduction.

    Correctness. An independent set {v0,…,vk−1}\{v_0, \dots, v_{k-1}\} of GG gives the multicoloured clique {(c,vc):c<k}\{(c, v_c) : c < k\}: its vertices have distinct colours, copy distinct vertices, and copy non-adjacent ones. Conversely, a multicoloured clique {(c,vc):c<k}\{(c, v_c) : c < k\} yields kk distinct vertices vcv_c, pairwise non-adjacent in GG.

    Running time. The multicoloured graph has knkn vertices, and the program tests each of the k2n2k^2 n^2 ordered pairs; the word of the instance has at least n2n^2 entries.

    The statements are:

    statement content
    constructcorrectconstruct_correct correctness of the construction on graphs
    wordencodesword_encodes the word of the construction encodes the multicoloured graph
    reducewordreduce_word, reduceoffdomainreduce_off_domain reducereduce on the words of instances and on other words
    reducemapsdomainreduce_maps_domain, reducecorrectreduce_correct instances go to instances, yes to yes and no to no
    parameterpreservedparameter_preserved the parameter is preserved, k′=kk' = k
    reducefptTimereduce_fptTime time c (k+1)2 (∣x∣+1)c\,(k+1)^2\,(\lvert x\rvert+1) on the word RAM
    independentSetisFptReductionindependentSet_isFptReduction, independentSetfptReducesmccindependentSet_fptReduces_mcc a strict fpt-reduction of Lax888481Lax888481
    reducepolyTimereduce_polyTime, independentSetpolyReducesmccindependentSet_polyReduces_mcc polynomial time on every word; a polynomial-time reduction
    independentSetlemccindependentSet_le_mcc an fpt-reduction in the sense of WHA2FptReductionsWH_A2_FptReductions
    Concept map
    19 concepts; 1 descendant hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

    This concept declares 13 statements. Each proof establishes one of them relative to its assumptions.

    Lean source view on GitHub

    1import Lax496464.WH_F2_MccConstruction
    2import Lax496464.WH_A2_FptReductions
    3import Lax762056.GraphProblems
    4import Lax759944.RamPolytime
    5import Lax888481.PolynomialReduction
    6
    7/-!
    8---
    9title: Independent Set Reduces to Multicoloured Clique
    10type: theorem
    11---
    12**Independent Set, parameterized by kk, fpt-reduces to Multicoloured Clique, parameterized by the
    13number of colours** [FHRV09, Lemma 1], [CFK+15, Theorem 13.7]. The reduction `reduce` of
    14`WH_F2_MccConstruction` maps an instance with parameter kk to an instance with kk colours. It is
    15computable in time c (k+1)2 (∣x∣+1)c\,(k+1)^2\,(|x|+1) on the words of instances and in polynomial time on all
    16words, so it is also a polynomial-time many-one reduction.
    17
    18**Correctness.** An independent set {v0,…,vk−1}\{v_0, \dots, v_{k-1}\} of GG gives the multicoloured
    19clique {(c,vc):c<k}\{(c, v_c) : c < k\}: its vertices have distinct colours, copy distinct vertices, and copy
    20non-adjacent ones. Conversely, a multicoloured clique {(c,vc):c<k}\{(c, v_c) : c < k\} yields kk distinct
    21vertices vcv_c, pairwise non-adjacent in GG.
    22
    23**Running time.** The multicoloured graph has knkn vertices, and the program tests each of the
    24k2n2k^2 n^2 ordered pairs; the word of the instance has at least n2n^2 entries.
    25
    26The statements are:
    27
    28| statement | content |
    29|---|---|
    30| `construct_correct` | correctness of the construction on graphs |
    31| `word_encodes` | the word of the construction encodes the multicoloured graph |
    32| `reduce_word`, `reduce_off_domain` | `reduce` on the words of instances and on other words |
    33| `reduce_maps_domain`, `reduce_correct` | instances go to instances, yes to yes and no to no |
    34| `parameter_preserved` | the parameter is preserved, k′=kk' = k |
    35| `reduce_fptTime` | time c (k+1)2 (∣x∣+1)c\,(k+1)^2\,(\lvert x\rvert+1) on the word RAM |
    36| `independentSet_isFptReduction`, `independentSet_fptReduces_mcc` | a strict fpt-reduction of `Lax888481` |
    37| `reduce_polyTime`, `independentSet_polyReduces_mcc` | polynomial time on every word; a polynomial-time reduction |
    38| `independentSet_le_mcc` | an fpt-reduction in the sense of `WH_A2_FptReductions` |
    39
    40# Formalization Notes
    41
    42**Independent Set** is `WH_F1_IndependentSetMatrix.problem`, the archive's `Lax762056` Independent
    43Set on adjacency-matrix words; its threshold is a lower bound, and a set of at least kk independent
    44vertices contains one of exactly kk. For k=0k = 0 both sides hold, the empty choice being a
    45multicoloured clique with no colours.
    46
    47**Words.** `word_encodes` states that the word of the construction satisfies the compressed sparse
    48row format of `Lax888481.MulticolouredClique`, with strictly increasing adjacency lists and the
    49colours of the construction. The parameter of a Multicoloured Clique word is its last entry, which
    50is kk.
    51
    52**Two notions of fpt-reduction.** `independentSet_isFptReduction` is the strict fpt-reduction of
    53`Lax888481.ParameterizedComplexity`, with time c g(k) (∣x∣+1)c\,g(k)\,(|x|+1) for g(k)=(k+1)2g(k) = (k+1)^2 and new
    54parameter at most h(k)=kh(k) = k. `independentSet_le_mcc` is the fpt-reduction of `WH_A2_FptReductions`.
    55
    56**Polynomial time.** `reduce_polyTime` is `Lax759944.RamPolytime.RamPolytime` on every word,
    57malformed words included; the program first checks in one pass that the word is the encoding of an
    58instance: a run of ones and a zero, a symmetric 0/10/1 matrix with zero diagonal whose side is the
    59length of that run, and a run of ones and a zero.
    60-/
    61
    62namespace Lax496464.WH_F4_IndependentSetToMcc
    63
    64open Lax762056.GraphEncoding (Instance)
    65
    66-- The construction
    67
    68/-- **Correctness of the construction.** `G` has an independent set of size at least `k` if
    69and only if the multicoloured graph has a multicoloured clique. -/
    70axiom construct_correct (I : Instance) :
    71 Lax762056.GraphProblems.IndependentSet I ↔
    72 (WH_F2_MccConstruction.construct I).HasMulticolouredClique
    73
    74/-- **The word encodes the construction.** -/
    75axiom word_encodes (I : Instance) :
    76 Lax888481.MulticolouredClique.EncodesInstance (WH_F2_MccConstruction.word I)
    77 (WH_F2_MccConstruction.construct I)
    78
    79-- The reduction on words
    80
    81section Words
    82
    83open Lax496464.WH_F1_IndependentSetMatrix (problem)
    84open Lax496464.WH_F2_MccConstruction (reduce)
    85
    86/-- On the word of an instance, `reduce` is the word of the construction. -/
    87axiom reduce_word (I : Instance) :
    88 reduce (WH_F1_IndependentSetMatrix.word I) = WH_F2_MccConstruction.word I
    89
    90/-- On a word that presents no instance, `reduce` is the empty word. -/
    91axiom reduce_off_domain (x : List ℕ) (hx : x ∉ problem.Domain) : reduce x = []
    92
    93/-- **Instances go to instances.** -/
    94axiom reduce_maps_domain :
    95 ∀ x ∈ problem.Domain, reduce x ∈ Lax888481.MulticolouredClique.problem.Domain
    96
    97/-- **The answer is preserved.** -/
    98axiom reduce_correct :
    99 ∀ x ∈ problem.Domain, (problem.Yes x ↔ Lax888481.MulticolouredClique.problem.Yes (reduce x))
    100
    101/-- **The parameter is preserved**: `k' = k`. -/
    102axiom parameter_preserved :
    103 ∀ x ∈ problem.Domain,
    104 Lax888481.MulticolouredClique.problem.param (reduce x) = problem.param x
    105
    106end Words
    107
    108-- Running time and the reductions
    109
    110section Time
    111
    112open Lax808846.Ram Lax808846.RamComputes Lax888481.ParameterizedComplexity
    113open Lax496464.WH_F1_IndependentSetMatrix (problem)
    114open Lax496464.WH_F2_MccConstruction (reduce)
    115
    116/-- **Running time in the parameter `k`.** At every word length, on every word of an instance whose
    117image fits, one program computes `reduce` within `c * (k + 1) ^ 2 * (|x| + 1)` instructions. -/
    118axiom reduce_fptTime :
    119 ∃ (prog : Program) (c : ℕ), ∀ w : ℕ,
    120 ComputesInTime w prog
    121 {x | x ∈ problem.Domain ∧ Fits c w x ∧ Fits c w (reduce x)}
    122 reduce (fun x => c * (problem.param x + 1) ^ 2 * (x.length + 1))
    123
    124/-- **The strict fpt-reduction**, with `g k = (k + 1) ^ 2` and `h k = k`. -/
    125axiom independentSet_isFptReduction :
    126 ∃ (prog : Lax808846.Ram.Program) (c : ℕ),
    127 Lax888481.ParameterizedComplexity.IsFptReduction problem
    128 Lax888481.MulticolouredClique.problem reduce prog c (fun k => (k + 1) ^ 2) (fun k => k)
    129
    130/-- **Independent Set strictly fpt-reduces to Multicoloured Clique.** -/
    131axiom independentSet_fptReduces_mcc :
    132 Lax888481.ParameterizedComplexity.FptReduces problem Lax888481.MulticolouredClique.problem
    133
    134/-- **Polynomial running time**, on every word. -/
    135axiom reduce_polyTime : Lax759944.RamPolytime.RamPolytime reduce
    136
    137/-- **Independent Set reduces to Multicoloured Clique in polynomial time.** -/
    138axiom independentSet_polyReduces_mcc :
    139 Lax888481.PolynomialReduction.PolyReduces {x | problem.Yes x}
    140 {x | Lax888481.MulticolouredClique.problem.Yes x}
    141
    142end Time
    143
    144-- The fpt-reduction of the library
    145
    146section Library
    147
    148open Lax496464.WH_A2_FptReductions
    149
    150/-- **`p-Independent-Set ≤fpt Multicoloured Clique`**, on adjacency-matrix words. -/
    151axiom independentSet_le_mcc :
    152 WH_F1_IndependentSetMatrix.problem ≤ᶠᵖᵗ Lax888481.MulticolouredClique.problem
    153
    154end Library
    155
    156end Lax496464.WH_F4_IndependentSetToMcc
    157
    Show ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow ProofShow Proof
    Formalization Notes

    Independent Set is WHF1IndependentSetMatrix.problemWH_F1_IndependentSetMatrix.problem, the archive's Lax762056Lax762056 Independent Set on adjacency-matrix words; its threshold is a lower bound, and a set of at least kk independent vertices contains one of exactly kk. For k=0k = 0 both sides hold, the empty choice being a multicoloured clique with no colours.

    Words. wordencodesword_encodes states that the word of the construction satisfies the compressed sparse row format of Lax888481.MulticolouredCliqueLax888481.MulticolouredClique, with strictly increasing adjacency lists and the colours of the construction. The parameter of a Multicoloured Clique word is its last entry, which is kk.

    Two notions of fpt-reduction. independentSetisFptReductionindependentSet_isFptReduction is the strict fpt-reduction of Lax888481.ParameterizedComplexityLax888481.ParameterizedComplexity, with time c g(k) (∣x∣+1)c\,g(k)\,(|x|+1) for g(k)=(k+1)2g(k) = (k+1)^2 and new parameter at most h(k)=kh(k) = k. independentSetlemccindependentSet_le_mcc is the fpt-reduction of WHA2FptReductionsWH_A2_FptReductions.

    Polynomial time. reducepolyTimereduce_polyTime is Lax759944.RamPolytime.RamPolytimeLax759944.RamPolytime.RamPolytime on every word, malformed words included; the program first checks in one pass that the word is the encoding of an instance: a run of ones and a zero, a symmetric 0/10/1 matrix with zero diagonal whose side is the length of that run, and a run of ones and a zero.

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…