@discrete(list(range(11))) def integers(x): return x c = _and(integers, meanie) x = c([1,2,3]) assert x == integers(x) == meanie(x) x = c([9,2,3]) assert x == integers(x) == meanie(x) x = c([0,-2,3]) assert x == integers(x) == meanie(x) x = c([9,-200,344]) assert x == integers(x) == meanie(x) c = _or(meanie, integers) x = c([1.1234, 4.23412, -9]) assert x == meanie(x) and x != integers(x) x = c([7.0, 10.0, 0.0]) assert x == integers(x) and x != meanie(x) x = c([6.0, 9.0, 0.0]) assert x == integers(x) == meanie(x) x = c([3,4,5]) assert x == integers(x) and x != meanie(x) x = c([3,4,5.5]) assert x == meanie(x) and x != integers(x) c = _not(integers) x = c([1,2,3]) assert x != integers(x) and x != [1,2,3] and x == c(x) x = c([1.1,2,3])