SMLP: Symbolic Machine Learning Prover (User Manual)
Franz Brauße, Zurab Khasidashvili, Konstantin Korovin
TL;DR
SMLP presents a principled framework for symbolic ML-driven design space exploration under verification and stability constraints. It formalizes stability via the Gear framework, linking knob constraints, model behavior, and exploration-mode conditions through a GEAR fragment solved by GearSAT$_\delta$/-BO solvers, while enabling practical ML modeling (NNs, polynomials, trees) and DOE-driven data generation. The system supports certification, querying, verification, synthesis, optimization, and optimized synthesis with robust, region-based guarantees, plus a targeted model refinement loop and root-cause analysis. This combination enables robust design of parameterized systems (notably analog hardware) under environmental and adversarial perturbations, with open-source tooling and integration with standard ML libraries for training, evaluation, and prediction."
Abstract
SMLP: Symbolic Machine Learning Prover an open source tool for exploration and optimization of systems represented by machine learning models. SMLP uses symbolic reasoning for ML model exploration and optimization under verification and stability constraints, based on SMT, constraint and NN solvers. In addition its exploration methods are guided by probabilistic and statistical methods. SMLP is a general purpose tool that requires only data suitable for ML modelling in the csv format (usually samples of the system's input/output). SMLP has been applied at Intel for analyzing and optimizing hardware designs at the analog level. Currently SMLP supports NNs, polynomial and tree models, and uses SMT solvers for reasoning and optimization at the backend, integration of specialized NN solvers is in progress.
