Skip to content

JohnLyu2/SAT_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This is a Programming Project that Prof. Vijay Ganesh and I designed for the course Methods and Tools for Software Engineering (ECE650 Fall2022, UWaterloo). The project asks the students to build a SAT solver in C++. The project consists of three parts:

Programming Assignment 1

(1) Build a parser that parses Boolean formulas. (2) Build a Boolean evaluator that evaluates the satisfiability of a formula under an assignment.

Programming Assignment 2

Implement Tseitin Transoformation that transforms a Boolean formula into an equisatisfiable formula in CNF.

Bonus

Implement a DPLL/CDCL SAT solver.

The detailed assignment requirements, skeleton/testing codes, makefiles, and sample executables are provided in the respective folder (the Bonus description is included in PA2). Contact me if you need my complete code (the ones used to compile the sample executables) for teaching/learning purposes. Have fun coding!

About

A Programming Project that I designed for a course. The project asks students to build a SAT solver in C++. Specifications, skeleton codes, and sample executable are provided!

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages