While this submission is a draft, it cannot be used by other submissions.

The values of #Clique, #Independent Set, #Vertex Cover

Lax280166.CliquesValues · concepts/Lax280166/CliquesValues.lean · lax-280166

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

    Lemma

    The number counted by each of #Clique, #Independent Set, #Vertex Cover is invariant under isomorphism of instances, so the value of each problem on an instance is the number it counts.

    Concept map
    32 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

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

    1 sharpClique_count_iso proven

    3 sharpIndependentSet_count_iso proven

    5 sharpVertexCover_count_iso proven

    Lean source view on GitHub

    1import Lax904597.Problems
    2import Lax904597.Sat
    3import Lax799700.CliqueFamily
    4import Lax799700.DominatingSet
    5import Lax799700.Feedback
    6import Lax799700.Hamilton
    7import Lax799700.Knapsack
    8import Lax799700.OneInSat
    9import Lax799700.SetFamily
    10import Lax799700.Steiner
    11import Lax799700.ThreeSat
    12import Lax799700.ZeroOneIP
    13import Lax366625.CountingProblems
    14import Lax366625.CountingClasses
    15import Lax366625.WitnessCounting
    16import Lax366625.CountingSat
    17import Lax280166.CountingSatVariants
    18import Lax280166.CountingCliques
    19import Lax280166.CountingDominatingSets
    20import Lax280166.CountingFeedbackSets
    21import Lax280166.CountingHamiltonCircuits
    22import Lax280166.CountingSetFamilies
    23import Lax280166.CountingKnapsacks
    24import Lax280166.CountingSteinerTrees
    25
    26/-!
    27---
    28title: The values of #Clique, #Independent Set, #Vertex Cover
    29type: lemma
    30---
    31The number counted by each of #Clique, #Independent Set, #Vertex Cover is invariant under
    32 isomorphism of
    33instances, so the value of each problem on an instance is the number it
    34counts.
    35-/
    36
    37namespace Lax280166.CliquesValues
    38
    39open FirstOrder FirstOrder.Language
    40open Lax904597.Problems Lax904597.Sat
    41open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    42 Lax366625.CountingSat
    43open Lax799700.ThreeSat Lax799700.SetFamily
    44open Lax280166.CountingSatVariants Lax280166.CountingCliques Lax280166.CountingDominatingSets
    45 Lax280166.CountingFeedbackSets Lax280166.CountingHamiltonCircuits Lax280166.CountingSetFamilies
    46 Lax280166.CountingKnapsacks Lax280166.CountingSteinerTrees
    47
    48/-- The number counted by #Clique is isomorphism-invariant. -/
    49axiom sharpClique_count_iso :
    50 ∀ {A B : Type} [Lax799700.CliqueFamily.markedGraph.Structure A]
    51 [Lax799700.CliqueFamily.markedGraph.Structure B],
    52 (A ≃[Lax799700.CliqueFamily.markedGraph] B) → Nat.card {S : A → Prop // CliqueOfSize A S} =
    53 Nat.card {S : B → Prop // CliqueOfSize B S}
    54
    55/-- The value of #Clique is the number it counts. -/
    56axiom sharpClique_eq :
    57 ∀ (A : Type) [Lax799700.CliqueFamily.markedGraph.Structure A], SharpClique A = Nat.card {S : A →
    58 Prop // CliqueOfSize A S}
    59
    60/-- The number counted by #Independent Set is isomorphism-invariant. -/
    61axiom sharpIndependentSet_count_iso :
    62 ∀ {A B : Type} [Lax799700.CliqueFamily.markedGraph.Structure A]
    63 [Lax799700.CliqueFamily.markedGraph.Structure B],
    64 (A ≃[Lax799700.CliqueFamily.markedGraph] B) → Nat.card {S : A → Prop // IndepOfSize A S} =
    65 Nat.card {S : B → Prop // IndepOfSize B S}
    66
    67/-- The value of #Independent Set is the number it counts. -/
    68axiom sharpIndependentSet_eq :
    69 ∀ (A : Type) [Lax799700.CliqueFamily.markedGraph.Structure A], SharpIndependentSet A = Nat.card
    70 {S : A → Prop // IndepOfSize A S}
    71
    72/-- The number counted by #Vertex Cover is isomorphism-invariant. -/
    73axiom sharpVertexCover_count_iso :
    74 ∀ {A B : Type} [Lax799700.CliqueFamily.markedGraph.Structure A]
    75 [Lax799700.CliqueFamily.markedGraph.Structure B],
    76 (A ≃[Lax799700.CliqueFamily.markedGraph] B) → Nat.card {C : A → Prop // CoverOfSize A C} =
    77 Nat.card {C : B → Prop // CoverOfSize B C}
    78
    79/-- The value of #Vertex Cover is the number it counts. -/
    80axiom sharpVertexCover_eq :
    81 ∀ (A : Type) [Lax799700.CliqueFamily.markedGraph.Structure A], SharpVertexCover A = Nat.card {C :
    82 A → Prop // CoverOfSize A C}
    83
    84end Lax280166.CliquesValues
    85
    Show ProofShow ProofShow ProofShow ProofShow ProofShow Proof

    Discussion

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

    Loading discussion…