/*
* Do not access members directly, use the functions!
* A non-empty range has @lob <= @upb.
* An empty range has @lob == @upb + 1.
*/
/*@
predicate valid_range(struct Range range) =
range.lob <= range.upb + 1;
predicate empty_range(struct Range range) =
range.lob == range.upb + 1;
*/