Let C(x) be a constraint checking polynomial; C(x) = 0 if 0 <= x <= 9 and is nonzero otherwise. There’s a simple way to construct C(x): x * (x-1) * (x-2) * ... * (x-9)
This is only true if x is an integer in that range, right? But the polynomial he's transforming by applying C to it doesn't have a discrete range
I think the polynomial is supposed to have only integer coefficients, which means that it will only take integer values at integer coordinates. Since real-valued coefficients need some rational approximation anyway, and rational coefficients can be rescaled, that assumption is easy to justify. (Alternatively, the coefficients might be in some finite field, but then the range is discrete as well.)
Let C(x) be a constraint checking polynomial; C(x) = 0 if 0 <= x <= 9 and is nonzero otherwise. There’s a simple way to construct C(x): x * (x-1) * (x-2) * ... * (x-9)
This is only true if x is an integer in that range, right? But the polynomial he's transforming by applying C to it doesn't have a discrete range