
5.3.  Encodings  105 
Thus we see that the main part of the problem consists of checking whether a 
given m-ary function over a finite field Fp is &close to some polynomial of degree 
d. Since d is typically small compared to p, this problem is usually called the "Low 
Degree Test". (Note that using Lagrange interpolation, every m-ary function over 
Fp  can be written as polynomial of total degree 
mp; 
thus the problem is only 
interesting for d < 
rap.) 
Note that the problem is made especially difficult by the 
constraints we have to obey: We are only allowed to use O(log n) random bits, 
and to check only a constant number of segments of 7r0  of length O(poly(log n)). 
Observe  that such  a  segment might  contain up  to  O(poly(logn))  symbols of 
a  codeword in  C~,~ y, because  coding a  single symbol from the corresponding 
alphabet Fp requires [logpem]  bits, that is O(loglogn) bits. 
On the other hand, the verifier is allowed to use an additional string 7rl containing 
information that could help with the decision. How could this information be 
used?  The  basic  idea of the  low  degree  test  is  to note  that  if ~  is  indeed a 
m-variate polynomial of degree d over Fp, then for each x, h E ~  the function 
t ~  ~(x+th) 
is a univariate polynomial of degree d. Since the set 
{x+th]  t 
9 ]~p} 
can be geometrically interpreted as the line 
l~,h 
with slope h through the point 
x, we will  call this function the restriction of ~ to the line 
l~,h. 
In fact, it can 
be shown that the converse statement holds as well: If the restrictions of ~ to 
all lines can be written as polynomials with degree at most d, then ~ has total 
degree at most d as well (see Lemma 5.67). 
We will now use this fact to fix our interpretation of ul. If we suppose that 
as encoded by lr0  is indeed a degree d polynomial, then all restrictions of ~ to 
some line 
i~,h are 
polynomials of degree d  which can be  represented by their 
coefficients:  d +  1 elements of Fp.  The verifier shall now expect 7h  to contain 
a  table T  that has  one element 
T(x, h) 
for each x, h  9  l~p  such that 
T(x, h) 
consists of the coefficients 
T(x, 
h)i 9  Fp for 1 ~  i  ~< d +  1 of the polynomials 
d 
P~,h(t) := ~-~ T(x, h),+l  " t'. 
i----0 
The verifier will now try to ensure that those polynomials are indeed the restric- 
tions of .~ to the lines 
lx,h. 
Note that the table T  will he coded into the string 
~1  in such a way that the coefficients 
T(x,h)i,  1 <. i  <. d + 
1, will immediately 
follow each other. Thus the lookup of one polynomial 
T(x, h) 
can be done by 
reading one segment of length 
O(dlogp) 
=  O(poly(logn)) of 7rl, which means 
our verifier is allowed to use a constant number of such table entries. 
The basic operation of the verifier will now be to check whether the table T  does 
indeed contain "correct" polynomials/5,,h that agree with the function ~. This 
is done by choosing random x, h 9 ~  and t 9 Fp, and verifying that 
=  +  th). 
One such check obviously uses 
O(m 
log p)  =  O(log n) random bits, and queries 
one value of ~ and one entry of T.  As noted above, this does not violate our