Satisfiability.jl: Satisfiability Modulo Theories inJulia

Theorem proving software is one of the core tools in formal verification, model checking, and synthesis.Modern provers solve satisfiability modulo theories (SMT) problems encompassing propositional logic, integer and real arithmetic, floating-point arithmetic, strings, and data structures such as bit vectors (De Moura & Bjrner, 2011).Additionally, new theories and heuristics are continually being developed, increasing the practical utility of SMT (Bjrner et al., 2023;Saouli et al., 2023).This paper introduces Satisfiability.jl,a package providing a high-level representation for SMT formulae including propositional logic, integer and real-valued arithmetic, and bit vectors in Julia (Bezanson et al., 2017).Satisfiability.jl is the first published package for SMT solving in idiomatic Julia, taking advantage of language features such as multiple dispatch and metaprogramming to simplify the process of specifying and solving an SMT problem.

Authors

Institutions

Publication Details

Journal
The Journal of Open Source Software
Published
2024-08-20
DOI
https://doi.org/10.21105/joss.06757
Primary Topic
Logic, programming, and type systems
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Satisfiability.jl: Satisfiability Modulo Theories inJulia

Mykel J. Kochenderfer, Emiko Soroka, Sanjay Lall
The Journal of Open Source Software
Logic, programming, and type systems
article

Satisfiability.jl: Satisfiability Modulo Theories inJulia

Mykel J. Kochenderfer, Emiko Soroka, Sanjay Lall
article en

Abstract

Theorem proving software is one of the core tools in formal verification, model checking, and synthesis.Modern provers solve satisfiability modulo theories (SMT) problems encompassing propositional logic, integer and real arithmetic, floating-point arithmetic, strings, and data structures such as bit vectors (De Moura & Bjrner, 2011).Additionally, new theories and heuristics are continually being developed, increasing the practical utility of SMT (Bjrner et al., 2023;Saouli et al., 2023).This paper introduces Satisfiability.jl,a package providing a high-level representation for SMT formulae including propositional logic, integer and real-valued arithmetic, and bit vectors in Julia (Bezanson et al., 2017).Satisfiability.jl is the first published package for SMT solving in idiomatic Julia, taking advantage of language features such as multiple dispatch and metaprogramming to simplify the process of specifying and solving an SMT problem.

The Journal of Open Source SoftwareVol. 9(100)
Vaughn College of Aeronautics and Technology (US), Stanford University (US)
Openalex Percentile: Top 88%
Logic, programming, and type systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.