Skip to content

An OCaml implementation of the DPLL algorithm for solving SAT instances. Uses nothing beyond the OCaml List library.

Notifications You must be signed in to change notification settings

ric-almeida/OCaml-SAT-Solvers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

A fully functional set of OCaml modules to solve satisfiability problems represented in conjunctive normal form using only the OCaml list library. Specifically, uses the DPLL algorithm to solve (or attempt to solve) satisfiability problems. Written by Charles Marsh.

cnf.ml: contains representations for literals, symbols, cnf statements, clauses, etc.; also includes utility methods for generalized operations on cnf statements, including satisfiability checkers.

dpll.ml: contains an OCaml list-only implementation of the Davis-Putnam-Logemann-Loveland algorithm for solving satisfiability problems.

random_generator.ml: contains methods for generating random cnf statements of a specified size, as well as a method to print and solve said statements, all with a single call.

About

An OCaml implementation of the DPLL algorithm for solving SAT instances. Uses nothing beyond the OCaml List library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published