The Legacy of George Boole: from Boolean Satisfiability to Constraint Programming
There are many problems in computer hardware design, production scheduling, timetabling, product configuration, planning, diagnosis, etc. that can be stated in propositional logic. Determining whether there exists a design that is bug free, or finding an acceptable schedule, timetable, configuration, etc., corresponds to determining whether the statement in propositional logic is true or false. These are some of the many applications of Boolean satisfiabiliity and the software tools, the solvers, that have been developed over the past few decades. In this talk we will give examples of how Boole’s work leaves a legacy in solving extremely challenging and important problems. We will see how quickly this field has advanced, and how it relates to other fundamental problem-solving technologies such as constraint programming. It has often been said that constraint programming is the closest that computer science has come towards the ‘holy grail’ of programming.