Skip to content

Vekteur/plogic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proposition logic parser and solver

A propositional logic parser and solver made for fun. It can convert expressions to CNF and solve the SAT problem using the DPLL algorithm. It uses the Lark parser.

Example

$ py src\plogic.py examples\example2.txt --cnf --dpll
Parsed expression : (((((X1 & X2) => ((X2 & ~X3) | ((X4 & ~X2) <=> X3))) & X2) & True) | False)
CNF expression : ((~X1 | ~X2 | ~X3 | X4) & (~X1 | ~X2 | ~X3) & (X2))
DPLL solutions :
X1: False, X3: None, X4: None, X2: True
X1: True, X3: False, X4: None, X2: True

About

Simple propositional logic parser and solver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages