Decision Procedures for Linear Arithmetic - Inria - Institut national de recherche en sciences et technologies du numérique
Thèse Année : 2019

Decision Procedures for Linear Arithmetic

Quelques procédures de décision pour l'arithmétique linéaire

Résumé

In this thesis, we present new decision procedures for linear arithmetic in the context of SMT solvers and theorem provers: 1) CutSat++, a calculus for linear integer arithmetic that combines techniques from SAT solving and quantifier elimination in order to be sound, terminating, and complete. 2) The largest cube test and the unit cube test, two sound (although incomplete) tests that find integer and mixed solutions in polynomial time. The tests are especially efficient on absolutely unbounded constraint systems, which are difficult to handle for many other decision procedures. 3) Techniques for the investigation of equalities implied by a constraint system. Moreover, we present several applications for these techniques. 4) The Double-Bounded reduction and the Mixed-Echelon-Hermite transformation, two transformations that reduce any constraint system in polynomial time to an equisatisfiable constraint system that is bounded. The transformations are beneficial because they turn branch-and-bound into a complete and efficient decision procedure for unbounded constraint systems. We have implemented the above decision procedures (except for CutSat++) as part of our linear arithmetic theory solver SPASS-IQ and as part of our CDCL(LA) solver SPASS-SATT. We also present various benchmark evaluations that confirm the practical efficiency of our new decision procedures.
Nous introduisons dans cette thèse quelques procédures de décision nouvelles pour l'arithmétique linéaire adaptées à une utilisation dans le cadre de la résolution de contraintes modulo théories (SMT) ou d'outils de déduction automatique. 1) CutSat++ est un calcul pour l'arithmétique linéaire sur les entiers qui intègre des techniques issues de la résolution SAT et de l'élimination de quantificateurs afin de garantir sa correction, terminaison et complétude. 2) Les tests du cube le plus grand et du cube unitaire sont deux méthodes correctes (quoique incomplètes) afin de déceler des solutions entières et mixtes en un temps polynomial. Ces tests sont particulièrement efficaces pour des systèmes de contraintes absolument non-bornées qui s'avèrent difficiles pour d'autres procédures de décision. 3) Nous présentons des techniques pour la détection d'égalités qui sont des conséquences d'un système de contraintes, et nous décrivons plusieurs cas d'application pour ces techniques. 4) Nous introduisons deux techniques supplémentaires, à savoir la réduction à la double borne et la transformation Echelon-Hermite mixte, afin de réduire en un temps polynomial un système de contraintes quelconque en un système borné et équisatisfiable. Ces transformations sont bénéfiques car elles garantissent que des procédures par séparation et évaluation sont des procédures de décision complètes et efficaces pour des systèmes de contraintes non-bornés. Nous avons implanté ces procédures (exceptée CutSat++) au sein de notre outil de résolution SPASS-IQ pour la théorie de l'arithmétique linéaire, ainsi que dans notre outil SPASS-SAT pour la résolution de contraintes SMT. Nous présentons plusieurs évaluations empiriques qui confirment l'efficacité en pratique de nos nouvelles procédures de décision.
Fichier principal
Vignette du fichier
thesis_v20191212.pdf (6.03 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-02427371 , version 1 (03-01-2020)

Identifiants

  • HAL Id : tel-02427371 , version 1

Citer

Martin Bromberger. Decision Procedures for Linear Arithmetic. Logic in Computer Science [cs.LO]. Saarland University, 2019. English. ⟨NNT : ⟩. ⟨tel-02427371⟩
262 Consultations
481 Téléchargements

Partager

More