I attended The Third Indian SAT+SMT School held at IIIT Hyderabad, this December.
SAT is short for boolean satisfiability. Consider the boolean formula . This formula will never be satisfied, regardless of whether is true or not. However, if you consider the formula , it can be satisfied by setting either or to true. The question is, Can we devise a method which when given an arbitrary boolean formula decides if it is satisfiable?. SMT (Satisfiability Modulo Theories) is a related question where instead of having just or or propositional letters, we have more complex objects like linear arithmetic formulae (, , etc) or statements about an array (
a[i]=b[j], etc), etc. As Vijay Ganesh says, "SMT Solvers are like uber SAT solvers".
The SAT problem is very interesting for Computer Scientists because an efficient solution to this problem would give us an efficient solution to a large class of interesting problems. This is known as the P vs NP problem. In a rather informal sense, this would mean that any problem whose solution can be verified easily can also be solved easily, which would be a rather surprising result!
Nonetheless, the interesting part is that although the theory suggests that these problems should be very hard; in practice, we solve SAT problems with thousands of variables in a matter of seconds for industrial purposes everyday. These techniques are useful for a number of real life applications. Here is a quote from the SAT+SMT website
SAT and SMT solvers are the backbone of a wide range of academic and industrial R&D activities today. These include software and hardware verification, logistics, planning, operations research, non-linear discrete optimization, model counting, etc. Recent developments in the field suggest that these solvers may soon be leveraged in an even wider range of applications that touch almost all aspects of computing. Unfortunately, in India, the technical study of these solvers is limited to a few individuals/groups. This has hampered the growth of research and development in this area, both in the Indian academia and in the Indian industry. Keeping in view of this gap, we are organizing a winter school series on SAT+SMT solvers.
If you wish to check out an online course related to practical applications of such technology, check out this course on Model Checking