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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Towards High-Level SMT Program Modeling: Bounded Integers, Simplified Structs, and Metaprogramming

  • Xiangyu Li

摘要

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.