<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Nuts and Bolts of Yices</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bruno Dutertre</string-name>
          <email>Bruno.Dutertre@sri.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Laboratory SRI International</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p />
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>At a high-level, the architecture of many SMT solvers is well known. It is the combination of
a SAT solver and one or more decision procedures called theory solvers. But how to e ectively
implement such a combination is rarely discussed in the literature. This talk will focus on
implementation issues. We will discuss the practical integration of CDCL-based SAT solvers
and theory solvers. We will present data structures and algorithms employed by the Yices SMT
solver, and examine preprocessing and formula simpli cation, which have a signi cant impact
on a solver's performance.</p>
      <p>Yices is developed and distributed by SRI International. It is free for non-commercial use.
Source and binaries are available at http://yices.csl.sri.com.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>