Z3, Constraint Satisfaction, Boolean Satisfiability, Theorem Proving, Mathematical Optimization