The aim of the Sat4j library is to solve Boolean satisfaction and optimization problems. Those problems have received considerable attention in the last two decades, mainly due to its use in hardware verification.Sat4j started as a research project to experiment ideas about while providing an efficient Boolean reasoning engine to the Java community.