Smt.ml: A Multi-Backend Frontend for SMT Solvers in OCaml - Laboratoire Méthodes Formelles
Pré-Publication, Document De Travail Année : 2024

Smt.ml: A Multi-Backend Frontend for SMT Solvers in OCaml

Résumé

SMT solvers are essential for applications in artificial intelligence, software verification, and optimisation. However, no single solver excels across all formula types, different applications may require the use of different solvers. While the SMT-LIB language enables multi-solver support, it incurs heavy I/O overhead. To address this, we introduce Smt.ml, an SMT solver frontend for OCaml that simplifies integration with various solvers through a consistent interface. Its parametric encoding facilitates the easy addition of new solver backends, while optimisations like formula simplification, result caching, and detailed error feedback enhance performance and usability. Our evaluation demonstrates that Smt.ml maintains correctness and performance comparable to individual solvers, with significant improvements in batched interactions.
Fichier principal
Vignette du fichier
main.pdf (624.49 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04761767 , version 1 (31-10-2024)

Licence

Identifiants

  • HAL Id : hal-04761767 , version 1

Citer

João Madeira Pereira, Filipe Marques, Pedro Adão, Hichem Rami Ait El Hara, Léo Andrès, et al.. Smt.ml: A Multi-Backend Frontend for SMT Solvers in OCaml. 2024. ⟨hal-04761767⟩
93 Consultations
61 Téléchargements

Partager

More