Stronger SMT Solvers for Proof Assistants : Proofs, Quantifier Simplification, Strategy Schedules - Université de Lorraine
Thèse Année : 2022

Stronger SMT Solvers for Proof Assistants : Proofs, Quantifier Simplification, Strategy Schedules

Consolidation des solveurs SMT pour les assistants de preuve : preuves, simplification des quantificateurs, planification de stratégies

Résumé

This thesis presents three contributions that have the same underlying motivation: to improve the utility of SMT solvers as backends for proof assistants. SMT solvers are automated theorem provers that combine propositional reasoning with theories. Proof assistants are tools that empower users to write formally checked proofs. To help the user,proof assistants can provide automation by integrating with automated theorem provers. Proof assistants typically accept only proofs that are constructed in the trusted kernel of the assistant. The first contribution addresses the reconstruction of SMT proofs in a proof assistant. We present the Alethe proof format for SMT solvers. It improves and unifies previous work on proof generation from SMT solvers. The vast majority of these improvements were informed by the experience provided by a concrete effort of reconstructing Alethe proofs in the proof assistant Isabelle/HOL.SMT problems generated by proof assistants usually really heavily on quantifiers. Since SMT solvers excel on quantifier free problems, they use quantifier instantation to generate quantifier free formulas. The second contribution improves quantifier instantiation. It is aunification-based method that augments the problem with shallow quantified formulas obtained from assertions with nested quantifiers. These new formulas help unlocking the regular instantiation techniques, but parsimony is necessary since they might also be misguiding. The method allows the solver to prove more formulas, faster. The heuristics of an SMT solvers can be parameterized. A specific parameterization of the entire solver is called a strategy, and the best strategy usually differs from problem to problem. The third contributionis a toolbox to work with strategy schedules. A key component of the toolbox is a tool that uses integer programming to generate strategy schedules. Beyond this tool, the toolbox also contains tools for simulating and analyzing schedules. We used the toolbox to select strategies that solve many problems generated by Isabelle/HOL.
Cette thèse présente trois contributions qui ont pour objectif d'améliorer l'utilité des solveurs SMT comme backends pour les assistants de preuve. Les solveurs SMT sont des outils de démonstration automatique de théorèmes qui intègrent le raisonnement propositionnel avec des théories. Un assistant de preuve est un logiciel qui permet aux utilisateurs d'écrire des preuves vérifiées formellement. Pour aider l'utilisateur, les assistants de preuve proposent certaines automatisations utilisant des outils de démonstration automatiques. Les assistants de preuve n'acceptent généralement que les preuves qui utilisent le formalisme proposé par l'assistant. La première contribution traite de la reconstruction de preuves SMT dans un assistant de preuve. Nous présentons le format de preuve Alethe pour les solveurs SMT. Il améliore et unifie les travaux antérieurs sur la génération de preuves à partir de solveurs SMT. La grande majorité de ces améliorations a été inspirée par l'expérience acquise par un travail substantiel visant à la reconstruction de preuves Alethe dans l'assistant de preuve Isabelle/HOL. Les problèmes SMT générés par les assistants de preuve dépendent largement des quantificateurs. Puisque les solveurs SMT sont particulièrement adaptés aux problèmes sans quantificateurs, ils utilisent l'instantation des quantificateurs pour générer des formules sans quantificateurs. La deuxième contribution améliore l'instanciation des quantificateurs. Il s'agit d'une méthode basée sur l'unification qui enrichie le problème avec des formules quantifiées superficielles obtenues à partir d'assertions avec des quantificateurs imbriqués. Ces nouvelles formules aident à débloquer l'utilisation des techniques d'instanciation classiques, mais elles doivent être utilisées avec parcimonie car elles peuvent aussi être mal interprétées. Cette méthode permet au solveur de prouver plus de formules, plus rapidement. L'utilisation d'un solveur SMT est fortement paramétrable. Un paramétrage spécifique est appelé une stratégie, et la meilleure stratégie diffère généralement d'un problème à l'autre. La troisième contribution est une panoplie d'outils destinée à faciliter l'utilisation et le choix de ces stratégies. Un des outils majeurs propose d'utiliser l'optimisation linéaire en nombres entiers pour générer des planificateurs de stratégie. La panoplie d'outils proposée contient également des outils de simulation et d'analyse des planifications. Cet ensemble d'outils est utilisé pour determiner les stratégies permettant de résoudre certains problèmes générés par Isabelle/HOL.
Fichier principal
Vignette du fichier
DDOC_T_2022_0135_SCHURR.pdf (3.47 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-03845527 , version 1 (09-11-2022)

Identifiants

  • HAL Id : tel-03845527 , version 1

Citer

Hans-Jörg Schurr. Stronger SMT Solvers for Proof Assistants : Proofs, Quantifier Simplification, Strategy Schedules. Logic in Computer Science [cs.LO]. Université de Lorraine, 2022. English. ⟨NNT : 2022LORR0135⟩. ⟨tel-03845527⟩
150 Consultations
126 Téléchargements

Partager

More