https://1library.org/document/zpnr14dr-a-polynomial-algorithm-for-sat.html