Satisfiability Modulo Theories: A Beginner’s Tutorial

Clark Barrett, Cesare Tinelli, Haniel Barbosa, Aina Niemetz, Mathias Preiner, Andrew Reynolds, Yoni Zohar

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Great minds have long dreamed of creating machines that can function as general-purpose problem solvers. Satisfiability modulo theories (SMT) has emerged as one pragmatic realization of this dream, providing significant expressive power and automation. This tutorial is a beginner’s guide to SMT. It includes an overview of SMT and its formal foundations, a catalog of the main theories used in SMT solvers, and illustrations of how to obtain models and proofs. Throughout the tutorial, examples and exercises are provided as hands-on activities for the reader. They can be run using either Python or the SMT-LIB language, using either the cvc5 or the Z3 SMT solver.

Original languageEnglish
Title of host publicationFormal Methods - 26th International Symposium, FM 2024, Proceedings
EditorsAndre Platzer, Kristin Yvonne Rozier, Matteo Pradella, Matteo Rossi
PublisherSpringer Science and Business Media Deutschland GmbH
Pages571-596
Number of pages26
ISBN (Print)9783031711763
DOIs
StatePublished - 2025
Event26th International Symposium on Formal Methods, FM 2024 - Milan, Italy
Duration: 9 Sep 202413 Sep 2024

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume14934 LNCS

Conference

Conference26th International Symposium on Formal Methods, FM 2024
Country/TerritoryItaly
CityMilan
Period9/09/2413/09/24

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Cite this