Predicate Subtypes in VerCors
Logic in Computer Science
2026-04-09 v1
Abstract
Predicate subtypes provide an attractive mechanism to specify range constraints on variable declarations. This paper discusses how we add support for predicate subtypes to the VerCors program verifier. Our approach automatically generates appropriate specifications from predicate subtype declarations. It provides support to easily combine multiple subtypes for a single variable declaration. Moreover, in order to use predicate subtypes for overflow checking, a special strict mode is introduced, where every subexpression also has to stay within the declared subtype. A prototype implementation is integrated into the VerCors verifier.
Cite
@article{arxiv.2604.06877,
title = {Predicate Subtypes in VerCors},
author = {Tycho Dubbeling and Marieke Huisman and Ömer Şakar},
journal= {arXiv preprint arXiv:2604.06877},
year = {2026}
}
Comments
In Proceedings PLACES 2026, arXiv:2604.05737