The Picat-SAT Compiler [chapter]

Neng-Fa Zhou, Håkan Kjellerstrand
2016 Lecture Notes in Computer Science  
SAT has become the backbone of many software systems. In order to make full use of the power of SAT solvers, a SAT compiler must encode domain variables and constraints into an efficient SAT formula. Despite many proposals for SAT encodings, there are few working SAT compilers. This paper presents Picat-SAT, the SAT compiler in the Picat system. Picat-SAT employs the sign-and-magnitude log encoding for domain variables. Log-encoding for constraints resembles the binary representation of numbers
more » ... used in computer hardware, and many algorithms and optimization opportunities have been exploited by hardware design systems. This paper gives the encoding algorithms for constraints, and attempts to experimentally justify the choices of the algorithms for the addition and multiplication constraints. This paper also presents preliminary, but quite encouraging, experimental results.
doi:10.1007/978-3-319-28228-2_4 fatcat:nzcmuorgvnb7hor2eoyhyyk6mq