🤖 AI Summary
This work addresses the challenge that unrestricted combinations of nested data types and arrays often give rise to non-standard models, thereby undermining the reliability of automated reasoning. To resolve this issue, the paper proposes a carefully restricted yet sufficiently expressive theory of nested data types, which systematically eliminates non-standard models by constraining how such types may interact with arrays. Building upon this theoretical foundation, the authors design and implement a decision procedure that integrates SMT-solving techniques. The effectiveness and practicality of the approach are demonstrated through evaluations on both real-world and synthetic benchmarks, establishing a robust basis for verifying programs involving complex nested structures.
📝 Abstract
We introduce a theory of nested datatypes. The theory is obtained
by restricting the naive combination of datatypes and arrays, so as to prevent
non-standard models from emerging.
A decision procedure for the theory is given and proven correct.
Finally, we describe an implementation of the procedure,
as well as an evaluation over both real-world and crafted benchmarks.