6 goal test0 : forall x:int. not (0 < x < 1)
9 goal test1 : forall x:int. not (0 <= x <= 1)
11 use int.EuclideanDivision
14 goal test2 : forall x:int. div x x = 1
19 0 <= x <= 65535 /\ 0 <= y <= 65535 -> 0 <= x + y <= 65535
24 -2 <= x <= 65535 /\ -2 <= y <= 65535 -> -2 <= x + y <= 65535
26 predicate is_int16 (x:int) = -65536 <= x <= 65535
29 goal test_overflow_int16:
31 is_int16 x /\ is_int16 y -> is_int16 (x + y)
34 goal test_overflow_int16_alt:
36 -65536 <= x <= 65535 /\ -65536 <= y <= 65535 -> -65536 <= x+y <= 65535
39 goal test_overflow_int16_bis:
41 is_int16 x /\ is_int16 y /\
42 (0 <= x) /\ (x <= y) -> is_int16 (x + y)
44 predicate is_int32 (x:int) = -2147483648 <= x <= 2147483647
47 goal test_overflow_int32:
49 is_int32 x /\ is_int32 y -> is_int32 (x + y)
52 goal test_overflow_int32_bis:
54 is_int32 x /\ is_int32 y /\ 0 <= x <= y -> is_int32 (x + y)
57 goal test_overflow_int32_bis_inline:
59 -2147483648 <= x <= 2147483647 /\ -2147483648 <= y <= 2147483647 /\ 0 <= x <= y -> -2147483648 <= x + y <= 2147483647