original.name="TypeEquals_Valid_54" ====== >>> main.whiley function f(int|null x, int|null y) -> (int r) ensures r == 0 || r == y: // x = y // if x is int && x >= 0: return x else: return 0 public export method test(): assume f(-1,-1) == 0 assume f(0,-1) == 0 assume f(1,-1) == 0 assume f(2,-1) == 0 assume f(null,-1) == 0 assume f(-1,0) == 0 assume f(0,0) == 0 assume f(1,0) == 0 assume f(2,0) == 0 assume f(null,0) == 0 assume f(-1,1) == 1 assume f(0,1) == 1 assume f(1,1) == 1 assume f(2,1) == 1 assume f(null,1) == 1 assume f(-1,2) == 2 assume f(0,2) == 2 assume f(1,2) == 2 assume f(2,2) == 2 assume f(null,2) == 2 assume f(-1,null) == 0 assume f(0,null) == 0 assume f(1,null) == 0 assume f(2,null) == 0 assume f(null,null) == 0 ---