LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
solver [2013/04/09 12:03]
vkuncak
solver [2013/04/25 19:29]
regis.blanc
Line 4: Line 4:
   * http://​www.scala-lang.org/​gsoc2013   * http://​www.scala-lang.org/​gsoc2013
  
-The goal of this project is to develop a reasonably efficient constraint solver in Scala. You will build on a SAT solver we are currently releasing ​and will add incremental SAT solving capabilities as well as reasoning about functional data structures. The constraint solver can be used for constraint programming,​ automated testing, verification,​ and synthesis in Scala. ​+The goal of this project is to develop a reasonably efficient constraint solver in Scala. You will build on a SAT solver we are developing ​and will add incremental SAT solving capabilities as well as reasoning about functional data structures. The constraint solver can be used for constraint programming,​ automated testing, verification,​ and synthesis in Scala. 
 + 
 +The following report describes the SAT solver: 
 +  * https://​infoscience.epfl.ch/​record/​186129 
 + 
 +The solver is open source and available on GitHub: 
 +  * https://​github.com/​regb/​scabolic
  
 Constraints solvers are fast theorem provers for certain classes of constraints,​ including propositional logic, theories of algebraic data types, integer arithmetic, arrays, and other theories of interest. Many great tools currently use [[http://​combination.cs.uiowa.edu/​smtlib/​|off-the-shelf SMT solvers]]. Having a solver fully in Scala would open up further possibilities for integration and optimizations at the boundary between the solver and the system that uses it. It would also simplify the deployment of such tools. Constraints solvers are fast theorem provers for certain classes of constraints,​ including propositional logic, theories of algebraic data types, integer arithmetic, arrays, and other theories of interest. Many great tools currently use [[http://​combination.cs.uiowa.edu/​smtlib/​|off-the-shelf SMT solvers]]. Having a solver fully in Scala would open up further possibilities for integration and optimizations at the boundary between the solver and the system that uses it. It would also simplify the deployment of such tools.
Line 26: Line 32:
   * {{projects:​9_-_zhang01efficient.pdf|Efficient conflict driven learning in a boolean satisfiability solver}}   * {{projects:​9_-_zhang01efficient.pdf|Efficient conflict driven learning in a boolean satisfiability solver}}
   * {{projects:​minisat-anextensiblesatsolver.pdf|An Extensible SAT-solver}} (original MiniSat implementation description)   * {{projects:​minisat-anextensiblesatsolver.pdf|An Extensible SAT-solver}} (original MiniSat implementation description)
 +
  
 ===== SMT (Satisfiability Modulo Theories) ===== ===== SMT (Satisfiability Modulo Theories) =====
Line 34: Line 41:
   * {{model-based.pdf|Model-Based Theory Combination}}   * {{model-based.pdf|Model-Based Theory Combination}}
   * {{projects:​krstic-goel.pdf|Architecting Solvers for SAT Modulo Theories: Nelson-Oppen with DPLL}}   * {{projects:​krstic-goel.pdf|Architecting Solvers for SAT Modulo Theories: Nelson-Oppen with DPLL}}
 +  * [[http://​www.google.ch/​url?​sa=t&​rct=j&​q=&​esrc=s&​source=web&​cd=1&​ved=0CDMQFjAA&​url=http%3A%2F%2Fwww.math.uiowa.edu%2Fftp%2Ftinelli%2Fpapers%2FBarST-RR-05.pdf&​ei=9GZ5UZfTFsi0PKWpgPgJ&​usg=AFQjCNF6gUCgDuVNF2_lo2k7-KFsfAnMhQ&​sig2=0QV3IFjocYkEm-TKE8EgLA&​bvm=bv.45645796,​d.ZWU|An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types]]
  
 ===== Model Finding ===== ===== Model Finding =====