Master SAT/SMT tools for solving complex problems in computer science. Learn theory and applications of automated reasoning techniques.
Master SAT/SMT tools for solving complex problems in computer science. Learn theory and applications of automated reasoning techniques.
This course teaches how to use satisfiability (SAT) and satisfiability modulo theories (SMT) tools to solve a wide range of problems. Students will learn to apply these techniques to practical issues like fitting rectangles for poster printing, scheduling, puzzle solving, and program correctness. The course covers the underlying theory, including resolution for propositional satisfiability, the CDCL framework for large formulas, and the simplex method for linear inequalities. Hands-on applications and honor's assignments provide practical experience in using SAT/SMT solvers.
4.8
(43 ratings)
4,598 already enrolled
Instructors:
English
What you'll learn
Apply SAT and SMT tools to solve complex problems in various domains
Understand the basic theory of propositional satisfiability and resolution
Use the CDCL framework to solve large-scale satisfiability problems
Apply the simplex method to handle linear inequalities in SMT
Transform arbitrary propositional formulas to CNF using the Tseitin transformation
Implement SAT/SMT techniques to solve practical issues like scheduling and program correctness
Skills you'll gain
This course includes:
201 Minutes PreRecorded video
19 quizzes
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by
Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.
There are 4 modules in this course
This course provides a comprehensive introduction to automated reasoning using satisfiability (SAT) and satisfiability modulo theories (SMT) tools. It is structured into four modules covering SAT/SMT basics and applications, theory and algorithms for CNF-based SAT, and advanced topics in SAT/SMT. Students will learn how to apply these powerful tools to solve a variety of real-world problems, including scheduling, puzzle solving, and program verification. The course balances theoretical foundations with practical applications, offering both lightweight and in-depth approaches to learning. Through lectures, quizzes, and hands-on assignments, students will gain proficiency in using SAT/SMT solvers and understanding their underlying mechanisms.
SAT/SMT basics, SAT examples
Module 1 · 2 Hours to complete
SMT applications
Module 2 · 18 Hours to complete
Theory and algorithms for CNF-based SAT
Module 3 · 2 Hours to complete
Theory and algorithms for SAT/SMT
Module 4 · 54 Minutes to complete
Fee Structure
Payment options
Financial Aid
Instructor
Acclaimed Academic Specializing in Algorithms and Automated Reasoning
Hans Zantema is an esteemed Associate Professor in the Department of Mathematics and Computer Science at Eindhoven University of Technology (TU/e) and also serves as a part-time Full Professor at Radboud University in Nijmegen. His research expertise spans algorithms, automated reasoning, term rewriting systems, automata theory, and constraint solving systems. He is particularly focused on the theoretical aspects of these fields, exploring how various problems can be transformed into formulas that can be solved automatically through computer programs. Notably, Hans has made significant contributions to term rewriting systems, especially in the area of automatically proving termination, and he is recognized for "Zantema's problem," which questions whether the string rewrite system 0011 → 111000 terminates. Hans earned his PhD in algebraic number theory from the University of Amsterdam in 1983, with a thesis titled "Integer Valued Polynomials in Algebraic Number Theory." Following his graduation, he worked at Philips Data Systems before transitioning to academia. From 1987 to 2000, he was affiliated with Utrecht University, and in 2000, he joined TU/e. He also took on a position at Radboud University in Nijmegen in 2007.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
4.8 course rating
43 ratings
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.