10.4 Abstraction Techniques and SAT/SMT-Based Optimizations