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. Computing with an SMT Solver
 
conference paper not in proceedings

Computing with an SMT Solver

Amin, Nada  
•
Leino, Rustan
•
Rompf, Tiark  
2014

Satisfiability modulo theories (SMT) solvers that support quantifier instantiations via matching triggers can be programmed to give practical support for user-defined theories. Care must be taken to avoid so-called matching loops, which may prevent termination of the solver. By design, such avoidance limits the extent to which the SMT solver is able to apply the definitions of user-defined functions. For some inputs to these functions, however, it is instead desireable to allow unadulterated use of the functions; in particular, if it is known that evaluation will terminate. This paper describes the program verifier Dafny’s SMT encoding of recursive user-defined functions. It then describes a novel encoding that, drawing on ideas from offline partial evaluation systems, lets the SMT solver evaluate “safe” function applications while guarding against matching loops for others.

  • Details
  • Metrics
Type
conference paper not in proceedings
DOI
10.1007/978-3-319-09099-3_2
Author(s)
Amin, Nada  
Leino, Rustan
Rompf, Tiark  
Date Issued

2014

URL

URL

https://www.microsoft.com/en-us/research/publication/computing-smt-solver
Editorial or Peer reviewed

REVIEWED

Written at

OTHER

EPFL units
LAMP1  
Available on Infoscience
March 31, 2017
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/136181
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