8 typedef struct Range Range;
11 predicate valid_range(struct Range range) =
12 range.lob <= range.upb + 1;
13 predicate empty_range(struct Range range) =
14 range.lob == range.upb + 1;
19 requires \valid_read(range);
20 requires valid_range(*range);
22 ensures \result <==> empty_range(*range);
24 static inline bool range_is_empty(const Range *range)
26 return range->lob > range->upb;