SyMT: finding symmetries in SMT formulas (Work in progress) Carlos Areces, David Déharbe, Pascal Fontaine , and Ezequiel Orbe UFRN (Natal, Brazil) Loria, INRIA, Université de Nancy (France) FaMaF (Córdoba, Argentina) SMT, July 8-9, 2013 SMT, July 8-9, 2013 1 / 17
Introduction Outline Introduction 1 Symmetry breaking: previous technique 2 Finding symmetries with graph isomorphism tools 3 Teaser 4 Conclusion 5 SMT, July 8-9, 2013 2 / 17
Introduction Introduction Satisfiability solving: problem encoding of primal importance doing many times the same thing is a waste of time Previously (CADE 2011): breaking symmetries on QF_UF gives impressive results In this talk: beyond tailored heuristics generalize symmetry finding SMT, July 8-9, 2013 3 / 17
Symmetry breaking: previous technique Outline Introduction 1 Symmetry breaking: previous technique 2 Finding symmetries with graph isomorphism tools 3 Teaser 4 Conclusion 5 SMT, July 8-9, 2013 4 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 , p 3 = B 3 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 , p 3 = B 3 , p 4 =? p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 , p 3 = B 3 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 , p 4 = B 3 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 , p 4 = B 3 , p 3 =? p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 , p 4 = B 3 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 , p 2 = B 2 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Symmetry breaking: previous technique Symmetry breaking: break a factorial 4 distinct pigeons: p 1 � = p 2 ∧ p 1 � = p 3 ∧ p 1 � = p 4 ∧ p 2 � = p 3 ∧ p 2 � = p 4 ∧ p 3 � = p 4 every pigeon in a hole: p 1 = B 1 ∨ p 1 = B 2 ∨ p 1 = B 3 p 2 = B 1 ∨ p 2 = B 2 ∨ p 2 = B 3 Let’s satisfy every clause: p 3 = B 1 ∨ p 3 = B 2 ∨ p 3 = B 3 p 1 = B 1 p 4 = B 1 ∨ p 4 = B 2 ∨ p 4 = B 3 Whatever the colors, there will always be one pigeon out symmetries imply many similar reasoning paths detecting symmetries a priori : search one path out of many large decrease of search space, large decrease in solving times SMT, July 8-9, 2013 5 / 17
Recommend
More recommend