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

The values of #3-Colorability, counting all independent sets, and counting all vertex covers

Lax859101.AllSetsValues · concepts/Lax859101/AllSetsValues.lean · lax-859101

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 #3-Colorability, counting all independent sets, and counting all vertex covers is invariant under isomorphism of instances, so the value of each problem on an instance is the number it counts.

    Concept map
    22 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 sharpAllIndependentSets_count_iso proven

    3 sharpAllVertexCovers_count_iso proven

    5 sharpThreeCol_count_iso proven

    Lean source view on GitHub

    1import Lax904597.Problems
    2import Lax904597.Sat
    3import Mathlib.ModelTheory.Graph
    4import Lax799700.SetFamily
    5import Lax366625.CountingProblems
    6import Lax366625.CountingClasses
    7import Lax366625.WitnessCounting
    8import Lax366625.CountingSat
    9import Lax859101.OneCallReductions
    10import Lax859101.SubtractiveReductions
    11import Lax859101.CountingDnf
    12import Lax859101.CountingNaeSat
    13import Lax859101.CountingRestrictedSat
    14import Lax859101.CountingAllSets
    15import Lax859101.CountingBipartite
    16
    17/-!
    18---
    19title: The values of #3-Colorability, counting all independent sets, and counting all vertex covers
    20type: lemma
    21---
    22The number counted by each of #3-Colorability, counting all independent
    23sets, and counting all vertex covers is invariant under isomorphism of
    24instances, so the value of each problem on an instance is the number it
    25counts.
    26-/
    27
    28namespace Lax859101.AllSetsValues
    29
    30open FirstOrder FirstOrder.Language FirstOrder.Language.Structure
    31open Lax904597.Problems Lax904597.Sat Lax799700.SetFamily
    32open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    33 Lax366625.CountingSat
    34open Lax859101.OneCallReductions Lax859101.SubtractiveReductions Lax859101.CountingDnf
    35 Lax859101.CountingNaeSat Lax859101.CountingRestrictedSat Lax859101.CountingAllSets
    36 Lax859101.CountingBipartite
    37
    38/-- The number counted by #3-Colorability is isomorphism-invariant. -/
    39axiom sharpThreeCol_count_iso :
    40 ∀ {A B : Type} [FirstOrder.Language.graph.Structure A] [FirstOrder.Language.graph.Structure B],
    41 (A ≃[FirstOrder.Language.graph] B) → Nat.card
    42 {χ : A → Fin 3 // ∀ x y : A, RelMap Language.adj ![x, y] → χ x ≠ χ y} = Nat.card
    43 {χ : B → Fin 3 // ∀ x y : B, RelMap Language.adj ![x, y] → χ x ≠ χ y}
    44
    45/-- The value of #3-Colorability is the number it counts. -/
    46axiom sharpThreeCol_eq :
    47 ∀ (A : Type) [FirstOrder.Language.graph.Structure A], SharpThreeCol A = Nat.card
    48 {χ : A → Fin 3 // ∀ x y : A, RelMap Language.adj ![x, y] → χ x ≠ χ y}
    49
    50/-- The number counted by counting all independent sets is isomorphism-invariant. -/
    51axiom sharpAllIndependentSets_count_iso :
    52 ∀ {A B : Type} [FirstOrder.Language.graph.Structure A] [FirstOrder.Language.graph.Structure B],
    53 (A ≃[FirstOrder.Language.graph] B) → Nat.card {S : A → Prop // IndepSet (fun x y : A =>
    54 RelMap Language.adj ![x, y]) S} = Nat.card {S : B → Prop // IndepSet (fun x y : B =>
    55 RelMap Language.adj ![x, y]) S}
    56
    57/-- The value of counting all independent sets is the number it counts. -/
    58axiom sharpAllIndependentSets_eq :
    59 ∀ (A : Type) [FirstOrder.Language.graph.Structure A], SharpAllIndependentSets A = Nat.card
    60 {S : A → Prop // IndepSet (fun x y : A => RelMap Language.adj ![x, y]) S}
    61
    62/-- The number counted by counting all vertex covers is isomorphism-invariant. -/
    63axiom sharpAllVertexCovers_count_iso :
    64 ∀ {A B : Type} [FirstOrder.Language.graph.Structure A] [FirstOrder.Language.graph.Structure B],
    65 (A ≃[FirstOrder.Language.graph] B) → Nat.card {C : A → Prop // GVertexCover A C} = Nat.card
    66 {C : B → Prop // GVertexCover B C}
    67
    68/-- The value of counting all vertex covers is the number it counts. -/
    69axiom sharpAllVertexCovers_eq :
    70 ∀ (A : Type) [FirstOrder.Language.graph.Structure A], SharpAllVertexCovers A = Nat.card
    71 {C : A → Prop // GVertexCover A C}
    72
    73end Lax859101.AllSetsValues
    74
    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…