Towards High-Level SMT Program Modeling: Bounded Integers, Simplified Structs, and Metaprogramming
摘要
Formal SMT modeling of programs remains less intuitive than programming, despite shared logical foundations. This paper argues that three high-level features, (1) bounded arbitrary-precision integers, (2) simplified struct syntax, and (3) template metaprogramming, are essential to bridge this gap. Unlike shallow SMT-LIB wrappers or direct SMT-LIB usage, these features enable program-like modeling with automated constraint propagation and compile-time code generation, thereby lowering the learning curve and boosting productivity. We also identify key compiler challenges unique to implementing these features.