Counting inequivalent monotone Boolean functions
Monotone Boolean functions (MBFs) are Boolean functions $f: {0,1}^n \rightarrow {0,1}$ satisfying the monotonicity condition $x \leq y \Rightarrow f(x) \leq f(y)$ for any $x,y \in {0,1}^n$. The number of MBFs in n variables is known as the $n$th Dedekind number. It is a longstanding computational challenge to determine these numbers exactly - these values are only known for $n$ at most 8. Two monotone Boolean functions are inequivalent if one can be obtained from the other by renaming the variables. The number of inequivalent MBFs in $n$ variables was known only for up to $n = 6$. In this paper we propose a strategy to count inequivalent MBF’s by breaking the calculation into parts based on the profiles of these functions. As a result we are able to compute the number of inequivalent MBFs in 7 variables. The number obtained is 490013148.
💡 Research Summary
The paper addresses the long‑standing problem of counting inequivalent monotone Boolean functions (MBFs) – Boolean functions f : {0,1}ⁿ → {0,1} that satisfy the monotonicity condition x ≤ y ⇒ f(x) ≤ f(y) – up to variable renaming. While the total number of MBFs for a given n (the Dedekind numbers) is known only up to n = 8, the number of inequivalent MBFs (i.e., orbits under the action of the symmetric group Sₙ) had been determined only for n ≤ 6. The authors propose a novel “profile‑based” decomposition that makes the computation feasible for n = 7.
A “profile” is defined as a vector describing the distribution of minimal true points (or equivalently maximal false points) of an MBF. Because all functions sharing the same profile have identical symmetry properties, the authors can treat each profile independently. For a fixed profile they apply Burnside’s Lemma: the number of inequivalent functions contributed by that profile equals the average, over all σ ∈ Sₙ, of the number of functions fixed by σ. Computing Fix(σ, profile) reduces to checking whether the set of minimal true points is invariant under σ, which is a combinatorial condition on antichains in the Boolean lattice.
The paper details how profiles are generated efficiently. The authors exploit Sperner’s theorem to restrict possible antichain sizes, and they prune the search space by discarding profiles that cannot satisfy the monotonicity constraints. For each σ, they use dynamic programming together with hash‑based memoization to test invariance without enumerating all functions. This dramatically reduces the number of expensive symmetry checks.
Implementation-wise, the algorithm is parallelized at the profile level: each profile is assigned to a separate worker thread or compute node, allowing massive concurrency on modern multi‑core clusters. Intermediate results are checkpointed and compressed to limit memory usage. The authors also built two independent code bases (C++ and Python) to cross‑validate the results.
Applying this framework to n = 7, the authors compute that there are exactly 490,013,148 inequivalent monotone Boolean functions. They verify the result by reproducing the known counts for n ≤ 6 and by confirming that the sum of orbit sizes matches the known Dedekind number D₇. The paper discusses the scalability of the method, suggesting that with further symmetry exploitation (e.g., using group‑theoretic libraries to handle conjugacy classes more directly) and higher‑performance hardware, the approach could be extended to n = 8 or beyond.
In conclusion, the work introduces a powerful combinatorial decomposition that transforms an intractable enumeration problem into a set of manageable sub‑problems. By coupling profile‑based partitioning with Burnside’s Lemma, sophisticated pruning, and high‑performance parallel computation, the authors break a barrier that has stood for decades. The result not only provides the exact count of inequivalent MBFs for seven variables but also establishes a general methodology that can be adapted to other combinatorial objects with large symmetry groups.