original.name="TypeEquals_Valid_36" ====== >>> main.whiley type plist is (int[] xs) where |xs| > 0 && xs[0] == 0 type expr is int[] | int type tup is {int p, expr lhs} function f(tup t) -> bool: if (t.lhs is plist) && ((|t.lhs| > 0) && (t.lhs[0] == 0)): return true else: return false public export method test() : assume f({p: 0, lhs: [0]}) == true assume f({p: 0, lhs: [0, 1]}) == true assume f({p: 0, lhs: [1, 1]}) == false ---