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

The value of #SAT

Lax366625.SharpSatValue · concepts/Lax366625/SharpSatValue.lean · lax-366625

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 of models of a CNF instance is invariant under isomorphism, so the value of #SAT on an instance is its number of models.

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

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

    1 sharpSat_count_iso proven

    Lean source view on GitHub

    1import Lax904597.Problems
    2import Lax904597.Interpretations
    3import Lax904597.Relativized
    4import Lax904597.SecondOrder
    5import Lax904597.Classes
    6import Lax904597.Sat
    7import Lax904597.Machines
    8import Lax535992.HornSat
    9import Lax535992.CircuitValue
    10import Lax535992.DeterministicMachines
    11import Lax535992.ClassPTIME
    12import Lax366625.CountingProblems
    13import Lax366625.CountingClasses
    14import Lax366625.WitnessCounting
    15import Lax366625.SecondOrderCounting
    16import Lax366625.QuantitativeLogic
    17import Lax366625.CountingSat
    18import Lax366625.MachineNumbers
    19import Lax366625.CountingRuns
    20import Lax366625.NumberedCircuits
    21import Lax366625.HornNumbers
    22
    23/-!
    24---
    25title: The value of #SAT
    26type: lemma
    27---
    28The number of models of a CNF instance is invariant under isomorphism, so the
    29value of #SAT on an instance is its number of models.
    30-/
    31
    32namespace Lax366625.SharpSatValue
    33
    34open FirstOrder FirstOrder.Language
    35open Lax904597.Problems Lax904597.Interpretations Lax904597.Relativized Lax904597.SecondOrder
    36open Lax904597.Classes Lax904597.Sat Lax904597.Machines
    37open Lax535992.ClassPTIME
    38open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    39open Lax366625.SecondOrderCounting
    40open Lax366625.QuantitativeLogic Lax366625.CountingSat Lax366625.MachineNumbers
    41open Lax366625.CountingRuns
    42open Lax366625.NumberedCircuits Lax366625.HornNumbers
    43
    44/-- The number of models is isomorphism-invariant. -/
    45axiom sharpSat_count_iso : ∀ {A B : Type} [sat.Structure A] [sat.Structure B],
    46 (A ≃[sat] B) → Nat.card {ν : A → Prop // SatModel A ν} = Nat.card {ν : B → Prop // SatModel B ν}
    47
    48/-- The value of the problem is the number it is defined by. -/
    49axiom sharpSat_eq :
    50 ∀ (A : Type) [sat.Structure A], SharpSAT A = Nat.card {ν : A → Prop // SatModel A ν}
    51
    52end Lax366625.SharpSatValue
    53
    Show ProofShow Proof

    Discussion

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

    Loading discussion…