This course introduces the fundamentals of model checking techniques based on using SAT (Propositional Satisfiability) solving and SMT (Satisfiability Modulo Theories) solving. You will learn basic concepts of propositional SAT solving, including conflict-driven clause learning (CDCL), proof methods, and theory-specific solvers, and concepts of encoding a model checking problem as a SAT solving problem. Topics include introduction to modern propositional SAT solving techniques, encoding Boolean circuits to Conjunctive Normal Form (CNF), bounded and unbounded model checking, and basic introduction to SMT solving. This course is Ideal for those seeking to understand SAT-based model checking and apply it in practical scenarios.
This course can be taken for academic credit as part of CU Boulder’s Master of Science in Electrical and Computer Engineering (MS-ECE) degree offered on the Coursera platform. The degree offers targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:
MS in Electrical and Computer Engineering: https://www.coursera.org/degrees/msee-boulder
This module introduces basic concepts and core techniques and procedures within modern propositional satisfiability solving, including resolution, Conflict-Driven Clause Learning (CDCL), Fast Deduction, and some features of SAT useful for problem solving. By examining these strategies, students will gain a foundational understanding of how modern SAT solvers analyze, deduce, and verify propositional formulae. Each lesson builds on practical examples to demonstrate how these methods contribute to modern SAT solver efficiency, reliability, and scalability.
Das ist alles enthalten
16 Videos3 Lektüren3 Aufgaben
Infos zu Modulinhalt anzeigen
16 Videos•Insgesamt 125 Minuten
Introduction to Boolean Satisfiability Problem•9 Minuten
Conjunctive Normal Form (CNF)•7 Minuten
Basic Concepts of Resolution•11 Minuten
Finding Satisfying Assignments•11 Minuten
Introduction to the CDCL Algorithm•10 Minuten
Overview of CDCL Algorithm•8 Minuten
CDCL Illustration•11 Minuten
Learned Clause Minimization•7 Minuten
Fast Deduction - Introduction•5 Minuten
Two Matched Literals•6 Minuten
Computing UNSAT Cores: Part 1•6 Minuten
Computing UNSAT Cores: Part 2
•6 Minuten
Enumerating Satisfying Assignments: Part 1•7 Minuten
Enumerating Satisfying Assignments: Part 2•4 Minuten
Enumerating Satisfying Assignments: Part 3•6 Minuten
Tseitin's Transformation•13 Minuten
3 Lektüren•Insgesamt 21 Minuten
Course Updates and Accessibility Support•1 Minute
Non-Credit Students: Welcome and Where to Find Help•10 Minuten
Supplemental Reading•10 Minuten
3 Aufgaben•Insgesamt 45 Minuten
Motivation of Verification•15 Minuten
Formal Verification and Model Checking•15 Minuten
SAT-based Problem Solving•15 Minuten
SAT-Based Model Checking
Modul 2•4 Stunden abzuschließen
Moduldetails
This module dives into SAT-based model checking techniques. Lessons cover basic concepts of bounded model checking including bounded encodings of models and LTL formulas, and methods to complement BMC to make it complete.
Das ist alles enthalten
12 Videos1 Lektüre3 Aufgaben
Infos zu Modulinhalt anzeigen
12 Videos•Insgesamt 121 Minuten
Introduction to Bounded Model Checking•11 Minuten
Basic BMC Workflow•8 Minuten
Symbolic Representation of Transition Systems: Refreshment•9 Minuten
Symbolic Encoding of BMC•7 Minuten
Example of Symbolic BMC•9 Minuten
Bounded LTL Semantics Without a Loop•17 Minuten
Encoding of LTL on Bounded Path Without a Loop•7 Minuten
Encoding of LTL on Bounded Path With a Loop•14 Minuten
Completeness Thresholds•9 Minuten
Inductive Invariants and K-Induction•10 Minuten
Interpolation-Based Model Checking•9 Minuten
Preimage Computation Using SAT Enumeration•9 Minuten
1 Lektüre•Insgesamt 45 Minuten
Supplemental Reading•45 Minuten
3 Aufgaben•Insgesamt 45 Minuten
Bounded Model Checking•15 Minuten
LTL for Bounded Model Checking•15 Minuten
Completeness for Bounded Model Checking•15 Minuten
Introduction to Satisfiability Modulo Theories (SMT)
Modul 3•3 Stunden abzuschließen
Moduldetails
This module introduces the fundamental concepts and techniques of Satisfiability Modulo Theories (SMT), an extension of satisfiability solving to more expressive logical domains such as Integer Difference Logic (IDL) and Equality with Uninterpreted Functions (EUF). It also covers methods for combining different theories, including the Nelson-Oppen procedure used in SMT solving. The lessons emphasize how SMT solvers handle diverse theories to efficiently solve complex logical and mathematical problems.
Das ist alles enthalten
18 Videos1 Lektüre4 Aufgaben
Infos zu Modulinhalt anzeigen
18 Videos•Insgesamt 118 Minuten
Introduction to SMT Solving•4 Minuten
Approaches to SMT Solving•8 Minuten
Generic Architecture of Lazy SMT Solving•4 Minuten
Example of SMT Solving•6 Minuten
Features of Lazy SMT Solving•7 Minuten
Introduction to SMT Solver Z3•8 Minuten
An Example of Bounded Model Checking Using Z3•20 Minuten
Introduction to Integer Difference Logic•8 Minuten
Example: Integer Difference Logic•5 Minuten
Introduction to Linear Integer Arithmetic •8 Minuten
Example: Linear Integer Arithmetic •7 Minuten
Introduction to Equality and Uninterpreted Functions•6 Minuten
EUF Theory Solving•5 Minuten
Introduction to Theory of Arrays•5 Minuten
Example: Introduction to Theory of Arrays•2 Minuten
Introduction to Combining Theories•6 Minuten
Applying Nelson-Oppen to Combined Theories•4 Minuten
Practical Considerations and Optimizations•6 Minuten
1 Lektüre•Insgesamt 10 Minuten
Supplemental Reading•10 Minuten
4 Aufgaben•Insgesamt 60 Minuten
Satisfiability Modulo Theories•15 Minuten
Linear Integer Arithmetic•15 Minuten
Theory of Equality and Uninterpreted Functions•15 Minuten
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.