Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Scala to the Power of Z3: Integrating SMT and Programming
 
conference paper

Scala to the Power of Z3: Integrating SMT and Programming

Koeksal, Ali Sinan
•
Kuncak, Viktor  
•
Suter, Philippe  
Bjorner, N.
•
Sofroniestokkermans, V.
2011
Automated Deduction - Cada-23
23rd International Conference on Automated Deduction (CADE 23)

We describe a system that integrates the SMT solver Z3 with the Scala programming language. The system supports the use of the SMT solver for checking satisfiability, unsatisfiability, as well as solution enumeration. The embedding of formula trees into Scala uses the host type system of Scala to prevent the construction of certain ill-typed constraints. The solution enumeration feature integrates into the iteration constructions of Scala and supports writing non-deterministic programs. Using Z3's mechanism of theory extensions, our system also helps users construct custom constraint solvers where the interpretation of predicates and functions is given as Scala code. The resulting system preserves the productivity advantages of Scala while simplifying tasks such as combinatorial search.

  • Details
  • Metrics
Type
conference paper
DOI
10.1007/978-3-642-22438-6_30
Web of Science ID

WOS:000306293800030

Author(s)
Koeksal, Ali Sinan
Kuncak, Viktor  
Suter, Philippe  
Editors
Bjorner, N.
•
Sofroniestokkermans, V.
Date Issued

2011

Publisher

Springer-Verlag Berlin

Publisher place

Berlin

Published in
Automated Deduction - Cada-23
ISBN of the book

978-3-642-22437-9

Total of pages

7

Series title/Series vol.

Lecture Notes in Artificial Intelligence; 6803

Start page

400

End page

406

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LARA  
Event name
23rd International Conference on Automated Deduction (CADE 23)
Available on Infoscience
February 28, 2013
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/90005
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés