🤖 AI Summary
This work addresses the challenges in combinatorial counting arising from intricate structural and arithmetic constraints, which hinder manual derivation and cause existing methods to break problem symmetries. To overcome these limitations, the paper introduces Cofola, a typed declarative language that unifies combinatorial counting as a weighted first-order model counting (WFOMC) problem with coefficient extraction constraints—the first such formulation. Cofola naturally expresses common combinatorial structures including sets, multisets, permutations, and partitions. Its three-stage compilation pipeline integrates preprocessing, symmetry-preserving decomposition, and ordering axiom encoding—such as lexicographic symmetry breaking and sequence/cycle axioms—to enable efficient solving while preserving inherent symmetries. Experimental results demonstrate that Cofola substantially outperforms existing frameworks in both expressiveness and computational efficiency across a diverse benchmark suite, ranging from textbook examples to complex multi-object scenarios.
📝 Abstract
Combinatorial counting problems pervade artificial intelligence, statistics, and discrete mathematics. Whether the task is enumerating subsets, multisets, permutations, partitions, or compositions under structural and arithmetic constraints, solving it remains a stubbornly manual exercise. Closed-form derivations are powerful but brittle, while naive encodings to propositional model counting or constraint satisfaction destroy the exchangeability that makes counting tractable in the first place. We present Cofola (COmbinatorial counting LAnguage with First-Order logic), a typed declarative language whose primitives are the combinatorial objects that recur in everyday counting questions, including sets, bags, tuples, sequences, circles, partitions, and compositions, together with natural relational and arithmetic constraints over them. A denotational semantics maps every Cofola program to a well-defined combinatorial counting problem, and a three-phase compilation pipeline (preprocessing, decomposition, and symmetry-preserving encoding) reduces this problem to a weighted first-order model counting (WFOMC) instance augmented with coefficient-extraction constraints. To stay inside known domain-liftable fragments whenever possible, the encoding groups indistinguishable entities, breaks the symmetry of unordered groupings lexicographically, and encodes sequences and circles via order axioms. On a suite of representative combinatorial counting problems, ranging from textbook math problems to multi-object scenarios that the closest prior framework cannot express, Cofola produces concise specifications and a uniform solving pipeline that is practical end-to-end.