summaryrefslogtreecommitdiff
path: root/test/smt/arith_FFL_2.unsat.sail
blob: 3535f1d1eeab289fd85561f0b4de1a7644aa29de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
default Order dec

$include <prelude.sail>

$option -smt_ignore_overflow
$option -smt_int_size 128

$property
function prop forall 'n 'm, 0 <= 'n <= 128 & 0 <= 'm <= 64. (x: int('m), y: int('n), z: int) -> bool = {
  let lo = -1000;
  let hi = 1000;
  if lo >= z | z >= hi then {
    return(true)
  };

  let mul_comm = x * y == y * x;
  let mul_zero = x * 0 == 0;

  mul_comm & mul_zero
}