Documentation

FormalConjectures.Wikipedia.DedekindNumber

Dedekind Numbers #

A Dedekind number M(n) counts the number of monotone Boolean functions on n variables, or equivalently, the number of antichains (Sperner families) in the Boolean lattice 2^[n].

For example, $$M ( 0 ) = 2 , M ( 1 ) = 3 , M ( 2 ) = 6 , and M ( 3 ) = 20 .$$ The first few values grew slowly: $$M ( 4 ) = 168 , M ( 5 ) = 7581$$, but then rapidly: $$M ( 6 ) = 7828354 , M ( 7 ) = 2414682040998 , M ( 8 ) = 56130437228687557907788$$, and $$M ( 9 ) = 286386577668298411128469151667598498812366$$ (computed in 2023).

We formalize two definitions:

We prove their values for small n and show that the two definitions agree for all n.

The problem is to determine the exact values of $M(n)$ for $n ≥ 10$. In particular, the value of $M(10)$ is currently unknown.

References:

$M(n)$ is the number of monotone Boolean functions on $n$ variables.

Equations
Instances For

    A Sperner family (antichain) of subsets of Fin n: a family of sets such that no member is a subset of another.

    Equations
    Instances For

      $M'(n)$ is the number of antichains (Sperner families) of subsets of Fin n.

      Equations
      Instances For

        Values for small n

        def DedekindNumber.χ {n : } (s : Finset (Fin n)) :
        Fin nBool

        The indicator function of a finset: χ s i = true ↔ i ∈ s.

        Equations
        Instances For
          def DedekindNumber.supp {n : } (v : Fin nBool) :

          The support of a Boolean-valued function: supp v = {i | v i = true}.

          Equations
          Instances For
            def DedekindNumber.toSperner {n : } (f : (Fin nBool)Bool) :

            Forward map: monotone function → Sperner family (the minimal true sets).

            Equations
            Instances For
              def DedekindNumber.fromSperner {n : } (A : Finset (Finset (Fin n))) (v : Fin nBool) :

              Backward map: Sperner family → monotone Boolean function.

              Equations
              Instances For
                theorem DedekindNumber.χ_supp {n : } (v : Fin nBool) :
                χ (supp v) = v
                theorem DedekindNumber.supp_χ {n : } (s : Finset (Fin n)) :
                supp (χ s) = s
                theorem DedekindNumber.χ_le_iff {n : } (s t : Finset (Fin n)) :
                χ s χ t s t
                theorem DedekindNumber.mem_supp_iff {n : } (v : Fin nBool) (i : Fin n) :
                i supp v v i = true
                theorem DedekindNumber.exists_minimal_true_subset {n : } {f : (Fin nBool)Bool} :
                Monotone f∀ {s : Finset (Fin n)} (hs : f (χ s) = true), ts, f (χ t) = true ut, f (χ u) = truet u

                The set of monotone Boolean functions on n variables is in bijection with the set of Sperner families of subsets of Fin n.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  No closed form for the Dedekind numbers are currently unknown.

                  theorem DedekindNumber.Dedekind_10 :
                  M 10 = sorry

                  In particular, the Dedekind number for n = 10 is currently unknown.