koen lindstr m claessen
play

Koen Lindstrm Claessen, WG2.8, Park City, Utah, June 2008 Chalmers - PowerPoint PPT Presentation

Koen Lindstrm Claessen, WG2.8, Park City, Utah, June 2008 Chalmers University of Technology SAT-solvers ... ... solve SAT-problems x v y v z boolean variables ~x v ~y ~x v ~z clauses : disjunctions of ~y v ~z literals


  1. Koen Lindström Claessen, WG2.8, Park City, Utah, June 2008 Chalmers University of Technology

  2.  SAT-solvers ...  ... solve SAT-problems  x v y v z boolean variables  ~x v ~y  ~x v ~z clauses : disjunctions of  ~y v ~z literals a possible solution: x=1, y=0, z=0

  3.  Dynamic software component  Incremental solvingAPI  Feedback  Used in algorithms as sub-component addClause(clause) yes (solution) SAT solver no (reason / proof) solve(assump)

  4. ” MiniSat ”, A Solver object implemented in C; HaskellAPI through FFI type Solver A Literal type Lit newSolver :: IO Solver newLit :: Solver -> IO Lit neg :: Lit -> Lit addClause :: Solver -> [Lit] -> IO () solve :: Solver -> [Lit] -> IO Bool modelValue :: Solver -> Lit -> IO Bool

  5.  Mixing up Lits from different Solvers  Create a literal in one solver...  ... use it in another solver  ... use literals from different solvers in one clause  Once in IO, you stay in IO  Calls to the API are imperative  ...but the SAT-solver is deterministic  ...and has no observable side effects  Want to create pure functions

  6.  A low-level API  Creating unbounded number of ” factory ” objects  A factory can create reference objects...  ... that are only valid if used with the original factory object  The challenge  Design a method for buildingAPIs that...  ...avoids mixing reference objects from different factories  ...with which pure functions can be created

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend