Principles and Practice of Constraint Programming – CP 2011

Volume 6876 of the series Lecture Notes in Computer Science pp 591-605

Proving Symmetries by Model Transformation

  • Christopher MearsAffiliated withFaculty of IT, Monash University
  • , Todd NivenAffiliated withFaculty of IT, Monash University
  • , Marcel JacksonAffiliated withDepartment of Mathematics, La Trobe University
  • , Mark WallaceAffiliated withFaculty of IT, Monash University

* Final gross prices may vary according to local VAT.

Get Access


The presence of symmetries in a constraint satisfaction problem gives an opportunity for more efficient search. Within the class of matrix models, we show that the problem of deciding whether some well known permutations are model symmetries (solution symmetries on every instance) is undecidable. We then provide a new approach to proving the model symmetries by way of model transformations. Given a model M and a candidate symmetry σ, the approach first syntactically applies σ to M and then shows that the resulting model σ(M) is semantically equivalent to M. We demonstrate this approach with an implementation that reduces equivalence to a sentence in Presburger arithmetic, using the modelling language MiniZinc and the term re-writing language Cadmium, and show that it is capable of proving common symmetries in models.