Defining constraints in Z3 using Boolean operators
问题 Let's say, I want to restrict each character of the string to the charset: [a-zA-Z0-9_] using Z3 constraints, can I use a boolean operator to specify that? As an example: input = [BitVec("input%s" % i, 8) for i in range(10)] for i in range(10): s.add(input[i] >= 0x30 and input[i] <= 0x39) s.add(input[i] >= 0x41 and input[i] <= 0x5A) s.add(input[i] >= 0x61 and input[i] <= 0x7A) Is this correct? Any other efficient way to define constraints? Usually in Python, I could do something like: import