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

The values of #DNF

Lax859101.DnfValues · concepts/Lax859101/DnfValues.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 #DNF is invariant under isomorphism of instances, so the value of the 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 2 statements. Each proof establishes one of them relative to its assumptions.

    1 sharpDnf_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 #DNF
    20type: lemma
    21---
    22The number counted by #DNF is invariant under isomorphism of instances, so
    23the value of the problem on an instance is the number it counts.
    24-/
    25
    26namespace Lax859101.DnfValues
    27
    28open FirstOrder FirstOrder.Language FirstOrder.Language.Structure
    29open Lax904597.Problems Lax904597.Sat Lax799700.SetFamily
    30open Lax366625.CountingProblems Lax366625.CountingClasses Lax366625.WitnessCounting
    31 Lax366625.CountingSat
    32open Lax859101.OneCallReductions Lax859101.SubtractiveReductions Lax859101.CountingDnf
    33 Lax859101.CountingNaeSat Lax859101.CountingRestrictedSat Lax859101.CountingAllSets
    34 Lax859101.CountingBipartite
    35
    36/-- The number counted by #DNF is isomorphism-invariant. -/
    37axiom sharpDnf_count_iso :
    38 ∀ {A B : Type} [Lax904597.Sat.sat.Structure A] [Lax904597.Sat.sat.Structure B],
    39 (A ≃[Lax904597.Sat.sat] B) → Nat.card {ν : A → Prop // DnfModel A ν} = Nat.card
    40 {ν : B → Prop // DnfModel B ν}
    41
    42/-- The value of #DNF is the number it counts. -/
    43axiom sharpDnf_eq :
    44 ∀ (A : Type) [Lax904597.Sat.sat.Structure A], SharpDNF A = Nat.card {ν : A → Prop // DnfModel A ν}
    45
    46end Lax859101.DnfValues
    47
    Show ProofShow Proof

    Discussion

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

    Loading discussion…