Predicting and Detecting Symmetries in FOL Finite Model Search - Audemard, Gilles; Benhamou, Belaïd; Henocque, Laurent (Journal of automated reasoning, 2006)
Symmetries abound in logically formulated problems where many axioms are universally quantified, as this is the case in equational theories. Two complementary approaches have been used so far to dynamically tackle those symmetries: prediction and detection. The best-known predictive symmetry elimination method is the least number heuristic (lnh). A more recent predictive method, the extended least number heuristic (xlnh), focuses first on the enumeration of a bijection in the problem and easily exploits in the sequel the remaining isomorphisms. On the other hand, dynamic symmetry detection is costly in the general case (the problem is Graph Iso complete) but allows one to exploit more symmetries, and efficient (polytime) yet incomplete detection algorithms can be used on each node. This paper presents a generalization of xlnh that focuses on the enumeration of a unary function that does not require the function to be bijective, a general notion of symmetry for finite-model search in first-order logic together with an efficient symmetry detection algorithm, and a function-ordering heuristic that exploits the inherent structure of first-order logic theories to improve the search when using function-centric methods. A comprehensive study of the compared efficiency of all methods, in isolation and in combination, demonstrates the acceleration that can be expected in all cases. These ideas are implemented by using the known system SEM as an experimentation framework, to allow for accurate comparisons.[PUBLICATION ABSTRACT]