Composable Constraint Models for Permutation Enumeration
Ruth Hoffmann, Özgür Akgün, Christopher Jefferson
TL;DR
The paper addresses the problem of enumerating permutations under multiple, potentially conflicting pattern containment/avoidance constraints and structural properties. It adopts constraint programming, using Essence and Conjure to create modular, composable models that can be solved by various solvers (notably Minion), enabling solver-agnostic experimentation. The authors present a library of CP models for six pattern types, thirteen properties, and five statistics, and demonstrate how composing these models yields efficient, extensible exploration—extending results on the $1324$-avoiding class with inversions up to length $16$ and producing two new conjectures. The work highlights the practical impact of CP as a flexible toolkit for permutation pattern research, enabling rapid, large-scale enumeration and potential new mathematical discoveries, especially with parallel solver capabilities.
Abstract
Constraint programming (CP) is a powerful tool for modeling mathematical concepts and objects and finding both solutions or counter examples. One of the major strengths of CP is that problems can easily be combined or expanded. In this paper, we illustrate that this versatility makes CP an ideal tool for exploring problems in permutation patterns. We declaratively define permutation properties, permutation pattern avoidance and containment constraints using CP and show how this allows us to solve a wide range of problems. We show how this approach enables the arbitrary composition of these conditions, and also allows the easy addition of extra conditions. We demonstrate the effectiveness of our techniques by modelling the containment and avoidance of six permutation patterns, eight permutation properties and measuring five statistics on the resulting permutations. In addition to calculating properties and statistics for the generated permutations, we show that arbitrary additional constraints can also be easily and efficiently added. This approach enables mathematicians to investigate permutation pattern problems in a quick and efficient manner. We demonstrate the utility of constraint programming for permutation patterns by showing how we can easily and efficiently extend the known permutation counts for a conjecture involving the class of $1324$ avoiding permutations. For this problem, we expand the enumeration of $1324$-avoiding permutations with a fixed number of inversions to permutations of length 16 and show for the first time that in the enumeration there is a pattern occurring which follows a unique sequence on the Online Encyclopedia of Integer Sequences.
