Multilinear extensions
Introduction ¶ In our sum-check protocol notebook, we followed Thaler’s 1 presentation of the sum-check protocol, supplementing it with background material and interactive examples.
In this notebook, we turn to multilinear extensions , which play a central role in the GKR interactive proof for circuit evaluation (Goldwasser, Kalai, and Rothblum 2 3 ).
Multilinear extensions: definition, existence, and uniqueness ¶ Recall from the definitions in the sum-check notebook that a multivariate polynomial g g g is multilinear if the degree of g g g in each variable is at most 1. For example, over any field F \mathbb{F} F , the polynomial g 1 ( X 0 , X 1 , X 2 ) = X 0 X 1 X 2 + X 1 X 2 + X 1 g_1(X_0, X_1, X_2) = X_0 X_1 X_2 + X_1 X_2 + X_1 g 1 ( X 0 , X 1 , X 2 ) = X 0 X 1 X 2 + X 1 X 2 + X 1 is multilinear, while g 2 ( X 0 , X 1 , X 2 ) = X 0 X 1 X 2 + X 1 2 X 2 g_2(X_0, X_1, X_2) = X_0 X_1 X_2 + X_1^2 X_2 g 2 ( X 0 , X 1 , X 2 ) = X 0 X 1 X 2 + X 1 2 X 2 is not.
Also recall that a polynomial function is obtained by evaluating a polynomial at each input. (Over finite fields, distinct polynomials may define the same polynomial function, so it is useful to keep the distinction explicit.) If the polynomial is multilinear, we call it a multilinear polynomial function. For instance, let f 1 : F 3 → F f_1 : \mathbb{F}^3 \to \mathbb{F} f 1 : F 3 → F be defined by f 1 ( x 0 , x 1 , x 2 ) = g 1 ( x 0 , x 1 , x 2 ) f_1(x_0, x_1, x_2) = g_1(x_0, x_1, x_2) f 1 ( x 0 , x 1 , x 2 ) = g 1 ( x 0 , x 1 , x 2 ) and f 2 : F 3 → F f_2 : \mathbb{F}^3 \to \mathbb{F} f 2 : F 3 → F by f 2 ( x 0 , x 1 , x 2 ) = g 2 ( x 0 , x 1 , x 2 ) f_2(x_0, x_1, x_2) = g_2(x_0, x_1, x_2) f 2 ( x 0 , x 1 , x 2 ) = g 2 ( x 0 , x 1 , x 2 ) . Then both f 1 f_1 f 1 and f 2 f_2 f 2 are polynomial functions, but only f 1 f_1 f 1 is a multilinear polynomial function.
Let F \mathbb{F} F be a finite field, v v v a positive integer, and f : { 0 , 1 } v → F f : \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F a function. A function f ~ : F v → F \tilde{f} : \mathbb{F}^v \to \mathbb{F} f ~ : F v → F is called a multilinear extension (MLE) of f f f if:
f ~ \tilde{f} f ~ is a multilinear polynomial function, and
f ~ ( b ) = f ( b ) \tilde{f}(\mathbf{b}) = f(\mathbf{b}) f ~ ( b ) = f ( b ) for all b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v
Definition [equality function]. Given a field F \mathbb{F} F , a positive integer v v v , and b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v , define β b : { 0 , 1 } v → F \beta_{\mathbf{b}} : \{0,1\}^v \to \mathbb{F} β b : { 0 , 1 } v → F by
β b ( b ′ ) = { 1 if b ′ = b , 0 otherwise \beta_{\mathbf{b}}(\mathbf{b}') = \begin{cases} 1 & \text{if } \mathbf{b}' = \mathbf{b},\\ 0 & \text{otherwise} \end{cases} β b ( b ′ ) = { 1 0 if b ′ = b , otherwise Define β ~ b : F v → F \tilde{\beta}_{\mathbf{b}} : \mathbb{F}^v \to \mathbb{F} β ~ b : F v → F by
β ~ b ( y 0 , … , y v − 1 ) = ∏ i = 0 v − 1 [ ( 1 − b i ) ( 1 − y i ) + b i y i ] , b = ( b 0 , … , b v − 1 ) . \tilde{\beta}_{\mathbf{b}}(y_0,\ldots,y_{v-1}) = \prod_{i = 0}^{v-1} \left[(1 - b_i)(1 - y_i) + b_i y_i\right], \quad \mathbf{b} = (b_0,\ldots,b_{v-1}). β ~ b ( y 0 , … , y v − 1 ) = i = 0 ∏ v − 1 [ ( 1 − b i ) ( 1 − y i ) + b i y i ] , b = ( b 0 , … , b v − 1 ) . Note that β ~ b \tilde{\beta}_{\mathbf{b}} β ~ b is multilinear, as it is a product of linear polynomial functions in distinct variables. Also, for each i i i , the factor equals 1 − y i 1 - y_i 1 − y i when b i = 0 b_i = 0 b i = 0 and equals y i y_i y i when b i = 1 b_i = 1 b i = 1 , so β ~ b ( b ′ ) = β b ( b ′ ) \tilde{\beta}_{\mathbf{b}}(\mathbf{b}') = \beta_{\mathbf{b}}(\mathbf{b}') β ~ b ( b ′ ) = β b ( b ′ ) for all b ′ ∈ { 0 , 1 } v \mathbf{b}' \in \{0,1\}^v b ′ ∈ { 0 , 1 } v . Thus, β ~ b \tilde{\beta}_{\mathbf{b}} β ~ b is a multilinear extension of β b \beta_{\mathbf{b}} β b . More generally, define β : { 0 , 1 } v × { 0 , 1 } v → F \beta : \{0,1\}^v \times \{0,1\}^v \to \mathbb{F} β : { 0 , 1 } v × { 0 , 1 } v → F by β ( b , b ′ ) = β b ( b ′ ) \beta(\mathbf{b},\mathbf{b}') = \beta_{\mathbf{b}}(\mathbf{b}') β ( b , b ′ ) = β b ( b ′ ) and β ~ : F v × F v → F \tilde{\beta} : \mathbb{F}^v \times \mathbb{F}^v \to \mathbb{F} β ~ : F v × F v → F by
β ~ ( ( x 0 , … , x v − 1 ) , ( y 0 , … , y v − 1 ) ) = ∏ i = 0 v − 1 [ ( 1 − x i ) ( 1 − y i ) + x i y i ] . \tilde{\beta}((x_0,\ldots,x_{v-1}),(y_0,\ldots,y_{v-1})) = \prod_{i = 0}^{v-1} \left[(1 - x_i)(1 - y_i) + x_i y_i\right]. β ~ (( x 0 , … , x v − 1 ) , ( y 0 , … , y v − 1 )) = i = 0 ∏ v − 1 [ ( 1 − x i ) ( 1 − y i ) + x i y i ] . Then β ~ \tilde{\beta} β ~ is multilinear and β ~ ( b , b ′ ) = β ( b , b ′ ) \tilde{\beta}(\mathbf{b}, \mathbf{b}') = \beta(\mathbf{b}, \mathbf{b}') β ~ ( b , b ′ ) = β ( b , b ′ ) for all ( b , b ′ ) ∈ { 0 , 1 } v × { 0 , 1 } v (\mathbf{b}, \mathbf{b}') \in \{0,1\}^v \times \{0,1\}^v ( b , b ′ ) ∈ { 0 , 1 } v × { 0 , 1 } v . Thus, β ~ \tilde{\beta} β ~ is a multilinear extension of β \beta β . We call β \beta β the equality function on { 0 , 1 } v × { 0 , 1 } v \{0,1\}^v \times \{0,1\}^v { 0 , 1 } v × { 0 , 1 } v .
(i) We stated that β ~ b \tilde{\beta}_{\mathbf{b}} β ~ b is a multilinear extension of β b \beta_{\mathbf{b}} β b and β ~ \tilde{\beta} β ~ is a multilinear extension of β \beta β . In fact, multilinear extensions are unique by the next proposition, so we may say the multilinear extension in both cases.
(ii) Technically, we defined multilinear extensions for functions defined on { 0 , 1 } v \{0,1\}^v { 0 , 1 } v as functions defined on F v \mathbb{F}^v F v . Here, we identify the domain of β \beta β with { 0 , 1 } 2 v \{0,1\}^{2v} { 0 , 1 } 2 v and that of β ~ \tilde{\beta} β ~ with F 2 v \mathbb{F}^{2v} F 2 v .
(iii) The function β \beta β is an indicator function for the diagonal in { 0 , 1 } v × { 0 , 1 } v \{0,1\}^v\times\{0,1\}^v { 0 , 1 } v × { 0 , 1 } v , and β ~ \tilde{\beta} β ~ agrees with it on Boolean inputs. However, β ~ \tilde{\beta} β ~ is not an equality test on all of F v \mathbb{F}^v F v in general. For example, over F 5 \mathbb{F}_5 F 5 one has
β ~ ( ( 0 , 2 ) , ( 0 , 2 ) ) = 0 and β ~ ( ( 0 , 0 ) , ( 2 , 2 ) ) = 1 , \tilde{\beta}((0,2),(0,2)) = 0 \quad \text{and} \quad \tilde{\beta}((0,0),(2,2)) = 1, β ~ (( 0 , 2 ) , ( 0 , 2 )) = 0 and β ~ (( 0 , 0 ) , ( 2 , 2 )) = 1 , so β ~ \tilde{\beta} β ~ can vanish even when its two inputs are equal, and can be 1 even when they are different.
The proof of the existence part of the following result shows how to use β ~ \tilde{\beta} β ~ to construct a multilinear extension of a given function f : { 0 , 1 } v → F f : \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F . The result also establishes uniqueness, so that we may speak of the multilinear extension of f f f .
Let F \mathbb{F} F be a finite field, v v v a positive integer, and f : { 0 , 1 } v → F f : \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F a function. There exists a unique multilinear extension f ~ : F v → F \tilde{f} : \mathbb{F}^v \to \mathbb{F} f ~ : F v → F of f f f .
Define f ~ : F v → F \tilde{f} : \mathbb{F}^v \to \mathbb{F} f ~ : F v → F by
f ~ ( x 0 , … , x v − 1 ) = ∑ b ∈ { 0 , 1 } v f ( b ) β ~ b ( x 0 , … , x v − 1 ) . \tilde{f}(x_0,\ldots,x_{v - 1}) = \sum_{\mathbf{b} \, \in \, \{0,1\}^v} f(\mathbf{b}) \tilde{\beta}_{\mathbf{b} }(x_0,\ldots,x_{v-1}). f ~ ( x 0 , … , x v − 1 ) = b ∈ { 0 , 1 } v ∑ f ( b ) β ~ b ( x 0 , … , x v − 1 ) . Then f ~ ( b ) = f ( b ) \tilde{f}(\mathbf{b} ) = f(\mathbf{b} ) f ~ ( b ) = f ( b ) for all b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v . Since each term in the sum is a product of linear polynomial functions in distinct variables, f ~ \tilde{f} f ~ is multilinear.
To show uniqueness, let g ~ : F v → F \tilde{g} : \mathbb{F}^v \to \mathbb{F} g ~ : F v → F be any multilinear extension of f f f . Consider the polynomial function h : = g ~ − f ~ h := \tilde{g} - \tilde{f} h := g ~ − f ~ . Since g ~ \tilde{g} g ~ and f ~ \tilde{f} f ~ are both multilinear, h h h can be written as
h ( x 0 , … , x v − 1 ) = ∑ J ⊆ { 0 , … , v − 1 } c J ∏ j ∈ J x j , h(x_0, \ldots, x_{v-1}) = \sum_{J \subseteq \{0, \ldots, v-1\}} c_J \prod_{j \, \in \, J} x_j, h ( x 0 , … , x v − 1 ) = J ⊆ { 0 , … , v − 1 } ∑ c J j ∈ J ∏ x j , where each c J ∈ F c_J \in \mathbb{F} c J ∈ F and J J J is a subset of { 0 , … , v − 1 } \{0, \ldots, v-1\} { 0 , … , v − 1 } . We can establish a one-to-one correspondence between bit strings b = ( b 0 , … , b v − 1 ) ∈ { 0 , 1 } v \mathbf{b} = (b_0, \ldots, b_{v-1}) \in \{0,1\}^v b = ( b 0 , … , b v − 1 ) ∈ { 0 , 1 } v and subsets J ⊆ { 0 , … , v − 1 } J \subseteq \{0, \ldots, v - 1\} J ⊆ { 0 , … , v − 1 } by defining
J ( b ) = { j : b j = 1 } . J(\mathbf{b}) = \{j : b_j = 1\}. J ( b ) = { j : b j = 1 } . For each b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v and subset J J J of { 0 , … , v − 1 } \{0,\ldots,v-1\} { 0 , … , v − 1 } , the product ∏ j ∈ J b j \prod_{j \, \in \, J} b_j ∏ j ∈ J b j acts as an indicator function, being 1 if J ⊆ J ( b ) J \subseteq J(\mathbf{b}) J ⊆ J ( b ) and 0 otherwise. (Note that the empty product is equal to 1 and J ( ( 0 , … , 0 ) ) = ∅ J((0,\ldots,0)) = \emptyset J (( 0 , … , 0 )) = ∅ .) Thus, we find that for each b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v ,
∑ J ⊆ J ( b ) c J = ∑ J ⊆ { 0 , … , v − 1 } c J ∏ j ∈ J b j = h ( b ) = ( g ~ − f ~ ) ( b ) = 0. \sum_{J \subseteq J(\mathbf{b})} c_J = \sum_{J \subseteq \{0, \ldots, v-1\}} c_J \prod_{j \, \in \, J} b_j = h(\mathbf{b}) = (\tilde{g} - \tilde{f})(\mathbf{b}) = 0. J ⊆ J ( b ) ∑ c J = J ⊆ { 0 , … , v − 1 } ∑ c J j ∈ J ∏ b j = h ( b ) = ( g ~ − f ~ ) ( b ) = 0. It immediately follows that c ∅ = 0 c_{\emptyset} = 0 c ∅ = 0 . Next, by considering bit strings b \mathbf{b} b of the form ( 0 , … , 1 , … , 0 ) (0, \ldots, 1, \ldots, 0) ( 0 , … , 1 , … , 0 ) — with a 1 in the j j j -th position and 0 in all other positions — we find that c { j } = 0 c_{\{j\}} = 0 c { j } = 0 for each j = 0 , … , v − 1 j = 0, \ldots, v - 1 j = 0 , … , v − 1 . Extending this to bit strings containing exactly two 1 s shows that c J = 0 c_J = 0 c J = 0 for all two-element subsets J J J of { 0 , … , v − 1 } \{0, \ldots, v - 1\} { 0 , … , v − 1 } . Continuing in this manner, we conclude that c J = 0 c_J = 0 c J = 0 for every subset J J J , which implies that h h h is identically zero.
Therefore, g ~ = f ~ \tilde{g} = \tilde{f} g ~ = f ~ , proving that the multilinear extension is unique.
If two functions f : { 0 , 1 } v → F f: \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F and g : { 0 , 1 } v → F g : \{0,1\}^v \to \mathbb{F} g : { 0 , 1 } v → F differ anywhere, their multilinear extensions f ~ \tilde{f} f ~ and g ~ \tilde{g} g ~ will differ at many points. If f f f and g g g are different, the proportion of points in { 0 , 1 } v \{0,1\}^v { 0 , 1 } v at which they agree may be up to 1 − 2 − v 1 - 2^{-v} 1 − 2 − v . Regardless, by the Schwartz-Zippel lemma , the proportion of points in F v \mathbb{F}^v F v at which f ~ \tilde{f} f ~ and g ~ \tilde{g} g ~ agree can be at most v / # F v/\#\mathbb{F} v /# F . (If f ~ − g ~ \tilde f-\tilde g f ~ − g ~ is multilinear and nonzero, its total degree is at most v v v .) We may think of multilinear extensions as ‘discrepancy amplifiers’ when # F \#\mathbb F # F is large compared to v v v .
Properties of multilinear extensions ¶ Proposition. Let F \mathbb{F} F be a finite field and v v v a positive integer. Let f : { 0 , 1 } v → F f : \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F and g : { 0 , 1 } v → F g : \{0,1\}^v \to \mathbb{F} g : { 0 , 1 } v → F have respective multilinear extensions f ~ : F v → F \tilde{f} : \mathbb{F}^v \to \mathbb{F} f ~ : F v → F and g ~ : F v → F \tilde{g} : \mathbb{F}^v \to \mathbb{F} g ~ : F v → F . Finally, let c c c and d d d be elements of F \mathbb{F} F . Then
c f + d g ~ = c f ~ + d g ~ . \widetilde{cf + dg} = c\tilde{f} + d\tilde{g}. c f + d g = c f ~ + d g ~ . First of all, c f + d g cf + dg c f + d g is a multilinear function. (Exercise.) Given any b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v , we have
( c f ~ + d g ~ ) ( b ) = c f ~ ( b ) + d g ~ ( b ) = c f ( b ) + d g ( b ) = ( c f + d g ) ( b ) , (c\tilde{f} + d\tilde{g})(\mathbf{b}) = c\tilde{f}(\mathbf{b}) + d\tilde{g}(\mathbf{b}) = cf(\mathbf{b}) + dg(\mathbf{b}) = (cf + dg)(\mathbf{b}), ( c f ~ + d g ~ ) ( b ) = c f ~ ( b ) + d g ~ ( b ) = c f ( b ) + d g ( b ) = ( c f + d g ) ( b ) , where the second equality holds because f ~ \tilde{f} f ~ is the multilinear extension of f f f and g ~ \tilde{g} g ~ is the multilinear extension of g g g . Therefore, c f ~ + d g ~ c\tilde{f} + d\tilde{g} c f ~ + d g ~ is a multilinear extension of c f + d g cf + dg c f + d g . By uniqueness of multilinear extensions, it is the multilinear extension of c f + d g cf + dg c f + d g , i.e., c f + d g ~ = c f ~ + d g ~ \widetilde{cf + dg} = c\tilde{f} + d\tilde{g} c f + d g = c f ~ + d g ~ .
What about the multilinear extension of the product of two functions? In general, the product of multilinear functions is not multinear, so there is no immediate analog of the above proposition for products. For example, define
f : { 0 , 1 } 2 → F by f ( 0 , 0 ) = f ( 0 , 1 ) = f ( 1 , 0 ) = 0 and f ( 1 , 1 ) = 1 , f : \{0,1\}^2 \to \mathbb{F} \quad \text{by} \quad f(0,0) = f(0,1) = f(1,0) = 0 \quad \text{and} \quad f(1,1) = 1, f : { 0 , 1 } 2 → F by f ( 0 , 0 ) = f ( 0 , 1 ) = f ( 1 , 0 ) = 0 and f ( 1 , 1 ) = 1 , and define
g : { 0 , 1 } 2 → F by g ( 0 , 0 ) = 0 and g ( 0 , 1 ) = g ( 1 , 0 ) = g ( 1 , 1 ) = 1. g : \{0,1\}^2 \to \mathbb{F} \quad \text{by} \quad g(0,0) = 0 \quad \text{and} \quad g(0,1) = g(1,0) = g(1,1) = 1. g : { 0 , 1 } 2 → F by g ( 0 , 0 ) = 0 and g ( 0 , 1 ) = g ( 1 , 0 ) = g ( 1 , 1 ) = 1. Then f ~ : F 2 → F \tilde{f} : \mathbb{F}^2 \to \mathbb{F} f ~ : F 2 → F is given by
f ~ ( x , y ) = x y \tilde{f}(x,y) = xy f ~ ( x , y ) = x y and g ~ : F 2 → F \tilde{g} : \mathbb{F}^2 \to \mathbb{F} g ~ : F 2 → F is given by
g ~ ( x , y ) = x + y − x y . \tilde{g}(x,y) = x + y - xy. g ~ ( x , y ) = x + y − x y . However, f g = f fg = f f g = f , whence f g ~ = f ~ \widetilde{fg} = \tilde{f} f g = f ~ , but ( f ~ g ~ ) ( x , y ) = x y ( x + y − x y ) (\tilde{f}\tilde{g})(x,y) = xy(x + y - xy) ( f ~ g ~ ) ( x , y ) = x y ( x + y − x y ) , which is not multilinear. Hence f ~ g ~ \tilde{f}\tilde{g} f ~ g ~ is not a multilinear extension of f g fg f g .
Let F \mathbb{F} F be a finite field and v v v a positive integer. Let f : { 0 , 1 } v → F f : \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F and g : { 0 , 1 } v → F g : \{0,1\}^v \to \mathbb{F} g : { 0 , 1 } v → F have respective multilinear extensions f ~ : F v → F \tilde{f} : \mathbb{F}^v \to \mathbb{F} f ~ : F v → F and g ~ : F v → F \tilde{g} : \mathbb{F}^v \to \mathbb{F} g ~ : F v → F . Let { j 0 , … , j u − 1 } ∪ { j u , … , j v − 1 } \{j_0,\ldots,j_{u-1}\} \cup \{j_{u},\ldots,j_{v-1}\} { j 0 , … , j u − 1 } ∪ { j u , … , j v − 1 } be a partition of { 0 , … , v − 1 } \{0,\ldots,v - 1\} { 0 , … , v − 1 } , and suppose that there exist functions f 0 : { 0 , 1 } u → F f_0 : \{0,1\}^u \to \mathbb{F} f 0 : { 0 , 1 } u → F and g 0 : { 0 , 1 } v − u → F g_0 : \{0,1\}^{v - u} \to \mathbb{F} g 0 : { 0 , 1 } v − u → F such that f ( b 0 , … , b v − 1 ) = f 0 ( b j 0 , … , b j u − 1 ) f(b_0,\ldots,b_{v-1}) = f_0(b_{j_0},\ldots,b_{j_{u-1}}) f ( b 0 , … , b v − 1 ) = f 0 ( b j 0 , … , b j u − 1 ) and g ( b 0 , … , b v − 1 ) = g 0 ( b j u , … , b j v − 1 ) g(b_0,\ldots,b_{v-1}) = g_0(b_{j_{u}},\ldots,b_{j_{v-1}}) g ( b 0 , … , b v − 1 ) = g 0 ( b j u , … , b j v − 1 ) for all b 0 , … , b v − 1 ∈ { 0 , 1 } v b_0,\ldots,b_{v-1} \in \{0,1\}^v b 0 , … , b v − 1 ∈ { 0 , 1 } v . Then
For all ( x 0 , … , x v − 1 ) ∈ F v (x_0,\ldots,x_{v-1}) \in \mathbb{F}^v ( x 0 , … , x v − 1 ) ∈ F v ,
f ~ ( x 0 , … , x v − 1 ) = f 0 ~ ( x j 0 , … , x j u − 1 ) and g ~ ( x 0 , … , x v − 1 ) = g 0 ~ ( x j u , … , x j v − 1 ) \tilde{f}(x_0,\ldots,x_{v-1}) = \widetilde{f_0}(x_{j_0},\ldots,x_{j_{u - 1}}) \quad \text{and} \quad \tilde{g}(x_0,\ldots,x_{v-1}) = \widetilde{g_0}(x_{j_u},\ldots,x_{j_{v - 1}}) f ~ ( x 0 , … , x v − 1 ) = f 0 ( x j 0 , … , x j u − 1 ) and g ~ ( x 0 , … , x v − 1 ) = g 0 ( x j u , … , x j v − 1 ) f g ~ = f ~ g ~ \widetilde{fg} = \widetilde{f}\widetilde{g} f g = f g
First note that the multilinear extension of the function that is identically equal to 1 on { 0 , 1 } w \{0,1\}^w { 0 , 1 } w is the function that is identically equal to 1 on F w \mathbb{F}^w F w . We denote it by 1 ~ \tilde{\mathbf{1}} 1 ~ . Let ( x 0 , … , x v − 1 ) ∈ F v (x_0,\ldots,x_{v-1}) \in \mathbb{F}^v ( x 0 , … , x v − 1 ) ∈ F v . Recalling the construction for multilinear extensions, we have:
f ~ ( x 0 , … , x v − 1 ) = ∑ b 0 ∈ { 0 , 1 } ⋯ ∑ b v − 1 ∈ { 0 , 1 } f ( b 0 , … , b v − 1 ) ∏ i = 0 v − 1 [ ( 1 − b i ) ( 1 − x i ) + b i x i ] = ∑ b 0 ∈ { 0 , 1 } ⋯ ∑ b v − 1 ∈ { 0 , 1 } f 0 ( b j 0 , … , b j u − 1 ) ∏ i = 0 u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] ∏ i = u v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] = ∑ b j 0 ∈ { 0 , 1 } ⋯ ∑ b j u − 1 ∈ { 0 , 1 } { f 0 ( b j 0 , … , b j u − 1 ) ∏ i = 0 u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] } ∑ b j u ∈ { 0 , 1 } ⋯ ∑ b j v − 1 ∈ { 0 , 1 } ∏ i = u v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] = f 0 ~ ( x j 0 , … , x j u − 1 ) 1 ~ ( x j u , … , x j v − 1 ) = f 0 ~ ( x j 0 , … , x j u − 1 ) . \begin{align}
\tilde{f}(x_0,\ldots,x_{v-1})
& = \sum_{b_0 \in \{0,1\}} \cdots \sum_{b_{v-1} \in \{0,1\}} f(b_0,\ldots,b_{v-1}) \prod_{i \, = \, 0}^{v-1} \left[(1 - b_i)(1 - x_i) + b_ix_i\right] \\
& = \sum_{b_{0} \in \{0,1\}} \cdots \sum_{b_{v - 1} \in \{0,1\}} f_0(b_{j_0},\ldots,b_{j_{u-1}}) \prod_{i \, = \, 0}^{u-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right] \prod_{i \, = \, u}^{v-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right] \\
& = \sum_{b_{j_0} \in \{0,1\}} \cdots \sum_{b_{j_{u-1}} \in \{0,1\}} \left\{f_0(b_{j_0},\ldots,b_{j_{u-1}})\prod_{i \, = \, 0}^{u-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right]\right\} \sum_{b_{j_{u}} \in \{0,1\}} \cdots \sum_{b_{j_{v-1}} \in \{0,1\}} \prod_{i \, = \, u}^{v-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right] \\
& = \widetilde{f_0}(x_{j_0},\ldots,x_{j_{u-1}}) \widetilde{\mathbf{1}}(x_{j_u},\ldots,x_{j_{v - 1}}) \\
& = \widetilde{f_0}(x_{j_0},\ldots,x_{j_{u-1}}).
\end{align} f ~ ( x 0 , … , x v − 1 ) = b 0 ∈ { 0 , 1 } ∑ ⋯ b v − 1 ∈ { 0 , 1 } ∑ f ( b 0 , … , b v − 1 ) i = 0 ∏ v − 1 [ ( 1 − b i ) ( 1 − x i ) + b i x i ] = b 0 ∈ { 0 , 1 } ∑ ⋯ b v − 1 ∈ { 0 , 1 } ∑ f 0 ( b j 0 , … , b j u − 1 ) i = 0 ∏ u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] i = u ∏ v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] = b j 0 ∈ { 0 , 1 } ∑ ⋯ b j u − 1 ∈ { 0 , 1 } ∑ { f 0 ( b j 0 , … , b j u − 1 ) i = 0 ∏ u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] } b j u ∈ { 0 , 1 } ∑ ⋯ b j v − 1 ∈ { 0 , 1 } ∑ i = u ∏ v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] = f 0 ( x j 0 , … , x j u − 1 ) 1 ( x j u , … , x j v − 1 ) = f 0 ( x j 0 , … , x j u − 1 ) . Similarly, g ~ ( x 0 , … , x v − 1 ) = g 0 ~ ( x j u , … , x j v − 1 ) \tilde{g}(x_0,\ldots,x_{v-1}) = \widetilde{g_0}(x_{j_u},\ldots,x_{j_{v - 1}}) g ~ ( x 0 , … , x v − 1 ) = g 0 ( x j u , … , x j v − 1 ) . More generally,
f g ~ ( x 0 , … , x v − 1 ) = ∑ b 0 ∈ { 0 , 1 } ⋯ ∑ b v − 1 ∈ { 0 , 1 } ( f g ) ( b 0 , … , b v − 1 ) ∏ i = 0 v − 1 [ ( 1 − b i ) ( 1 − x i ) + b i x i ] = ∑ b 0 ∈ { 0 , 1 } ⋯ ∑ b v − 1 ∈ { 0 , 1 } f 0 ( b j 0 , … , b j u − 1 ) g 0 ( b j u , … , b j v − 1 ) ∏ i = 0 u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] ∏ i = u v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] = ∑ b j 0 ∈ { 0 , 1 } ⋯ ∑ b j u − 1 ∈ { 0 , 1 } { f 0 ( b j 0 , … , b j u − 1 ) ∏ i = 0 u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] } ∑ b j u ∈ { 0 , 1 } ⋯ ∑ b j v − 1 ∈ { 0 , 1 } { g 0 ( b j u , … , b j v − 1 ) ∏ i = u v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] } = f 0 ~ ( x j 0 , … , x j u − 1 ) g 0 ~ ( x j u , … , x j v − 1 ) = f ~ ( x 0 , … , x v − 1 ) g ~ ( x 0 , … , x v − 1 ) \begin{align}
\widetilde{fg}(x_0,\ldots,x_{v-1})
& = \sum_{b_0 \in \{0,1\}} \cdots \sum_{b_{v-1} \in \{0,1\}} (fg)(b_0,\ldots,b_{v-1}) \prod_{i \, = \, 0}^{v-1} \left[(1 - b_i)(1 - x_i) + b_ix_i\right] \\
& = \sum_{b_0 \in \{0,1\}} \cdots \sum_{b_{v-1} \in \{0,1\}} f_0(b_{j_0},\ldots,b_{j_{u-1}}) g_0(b_{j_u},\ldots,b_{j_{v-1}})\prod_{i \, = \, 0}^{u-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right] \prod_{i \, = \, u}^{v-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right] \\
& = \sum_{b_{j_0} \in \{0,1\}} \cdots \sum_{b_{j_{u-1}} \in \{0,1\}} \left\{f_0(b_{j_0},\ldots,b_{j_{u-1}})\prod_{i \, = \, 0}^{u-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right]\right\} \sum_{b_{j_{u}} \in \{0,1\}} \cdots \sum_{b_{j_{v-1}} \in \{0,1\}} \left\{ g_0(b_{j_u},\ldots,b_{j_{v-1}}) \prod_{i \, = \, u}^{v-1} \left[(1 - b_{j_i})(1 - x_{j_i}) + b_{j_i}x_{j_i}\right] \right\}\\
& = \widetilde{f_0}(x_{j_0},\ldots,x_{j_{u-1}}) \widetilde{g_0}(x_{j_u},\ldots,x_{j_{v-1}}) \\
& = \tilde{f}(x_0,\ldots,x_{v-1}) \tilde{g}(x_0,\ldots,x_{v-1})
\end{align} f g ( x 0 , … , x v − 1 ) = b 0 ∈ { 0 , 1 } ∑ ⋯ b v − 1 ∈ { 0 , 1 } ∑ ( f g ) ( b 0 , … , b v − 1 ) i = 0 ∏ v − 1 [ ( 1 − b i ) ( 1 − x i ) + b i x i ] = b 0 ∈ { 0 , 1 } ∑ ⋯ b v − 1 ∈ { 0 , 1 } ∑ f 0 ( b j 0 , … , b j u − 1 ) g 0 ( b j u , … , b j v − 1 ) i = 0 ∏ u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] i = u ∏ v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] = b j 0 ∈ { 0 , 1 } ∑ ⋯ b j u − 1 ∈ { 0 , 1 } ∑ { f 0 ( b j 0 , … , b j u − 1 ) i = 0 ∏ u − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] } b j u ∈ { 0 , 1 } ∑ ⋯ b j v − 1 ∈ { 0 , 1 } ∑ { g 0 ( b j u , … , b j v − 1 ) i = u ∏ v − 1 [ ( 1 − b j i ) ( 1 − x j i ) + b j i x j i ] } = f 0 ( x j 0 , … , x j u − 1 ) g 0 ( x j u , … , x j v − 1 ) = f ~ ( x 0 , … , x v − 1 ) g ~ ( x 0 , … , x v − 1 ) by (1) . Note that since f 0 ~ ( x j 0 , … , x j u − 1 ) \widetilde{f_0}(x_{j_0},\ldots,x_{j_{u-1}}) f 0 ( x j 0 , … , x j u − 1 ) and g 0 ~ ( x j u , … , x j v − 1 ) \widetilde{g_0}(x_{j_u},\ldots,x_{j_{v-1}}) g 0 ( x j u , … , x j v − 1 ) are multilinear functions involving disjoint sets of variables, their product is indeed multilinear.
Multilinear extensions of special functions ¶ We have already seen the ‘equality’ function β \beta β and its multilinear extension β ~ \tilde{\beta} β ~ . It is also clear that if c ∈ F c \in \mathbb{F} c ∈ F and f : { 0 , 1 } v → F f : \{0,1\}^v \to \mathbb{F} f : { 0 , 1 } v → F is defined by f ( b ) = c f(\mathbf{b}) = c f ( b ) = c for all b ∈ { 0 , 1 } v \mathbf{b} \in \{0,1\}^v b ∈ { 0 , 1 } v , then f ~ : F v → F \tilde{f} : \mathbb{F}^v \to \mathbb{F} f ~ : F v → F defined by f ~ ( x ) = c \tilde{f}(\mathbf{x}) = c f ~ ( x ) = c for all x ∈ F v \mathbf{x} \in \mathbb{F}^v x ∈ F v is the multilinear extension of f f f . (We used this fact in the case c = 1 c = 1 c = 1 in the above proof.)
Let F \mathbb{F} F be given. We can define Boolean operators on { 0 , 1 } \{0,1\} { 0 , 1 } and extend their definitions to all of F \mathbb{F} F as follows.
Negation. Define N E G : { 0 , 1 } → F \mathrm{NEG}: \{0,1\} \to \mathbb{F} NEG : { 0 , 1 } → F by N E G ( 0 ) = 1 \mathrm{NEG}(0) = 1 NEG ( 0 ) = 1 and N E G ( 1 ) = 0 \mathrm{NEG}(1) = 0 NEG ( 1 ) = 0 . Then N E G ~ : F → F \widetilde{\mathrm{NEG}} : \mathbb{F} \to \mathbb{F} NEG : F → F is given by N E G ~ ( x ) = 1 − x \widetilde{\mathrm{NEG}}(x) = 1 - x NEG ( x ) = 1 − x .
Conjunction. Define A N D : { 0 , 1 } 2 → F \mathrm{AND} : \{0,1\}^2 \to \mathbb{F} AND : { 0 , 1 } 2 → F by A N D ( 0 , 0 ) = A N D ( 0 , 1 ) = A N D ( 1 , 0 ) = 0 \mathrm{AND}(0,0) = \mathrm{AND}(0,1) = \mathrm{AND}(1,0) = 0 AND ( 0 , 0 ) = AND ( 0 , 1 ) = AND ( 1 , 0 ) = 0 and A N D ( 1 , 1 ) = 1 \mathrm{AND}(1,1) = 1 AND ( 1 , 1 ) = 1 . Then A N D ~ : F 2 → F \widetilde{\mathrm{AND}}: \mathbb{F}^2 \to \mathbb{F} AND : F 2 → F is given by A N D ~ ( x 0 , x 1 ) = x 0 x 1 \widetilde{\mathrm{AND}}(x_0,x_1) = x_0x_1 AND ( x 0 , x 1 ) = x 0 x 1 .
Disjunction. Define O R : { 0 , 1 } 2 → F \mathrm{OR} : \{0,1\}^2 \to \mathbb{F} OR : { 0 , 1 } 2 → F by O R ( 0 , 1 ) = O R ( 1 , 0 ) = O R ( 1 , 1 ) = 1 \mathrm{OR}(0,1) = \mathrm{OR}(1,0) = \mathrm{OR}(1,1) = 1 OR ( 0 , 1 ) = OR ( 1 , 0 ) = OR ( 1 , 1 ) = 1 and O R ( 0 , 0 ) = 0 \mathrm{OR}(0,0) = 0 OR ( 0 , 0 ) = 0 . Then O R ~ : F 2 → F \widetilde{\mathrm{OR}}: \mathbb{F}^2 \to \mathbb{F} OR : F 2 → F is given by O R ~ ( x 0 , x 1 ) = x 0 + x 1 − x 0 x 1 \widetilde{\mathrm{OR}}(x_0,x_1) = x_0 + x_1 - x_0x_1 OR ( x 0 , x 1 ) = x 0 + x 1 − x 0 x 1 .
Exclusive OR. Define X O R : { 0 , 1 } 2 → F \mathrm{XOR} : \{0,1\}^2 \to \mathbb{F} XOR : { 0 , 1 } 2 → F by X O R ( 0 , 0 ) = X O R ( 1 , 1 ) = 0 \mathrm{XOR}(0,0) = \mathrm{XOR}(1,1) = 0 XOR ( 0 , 0 ) = XOR ( 1 , 1 ) = 0 and X O R ( 1 , 0 ) = X O R ( 0 , 1 ) = 1 \mathrm{XOR}(1,0) = \mathrm{XOR}(0,1) = 1 XOR ( 1 , 0 ) = XOR ( 0 , 1 ) = 1 . Then X O R ~ : F 2 → F \widetilde{\mathrm{XOR}}: \mathbb{F}^2 \to \mathbb{F} XOR : F 2 → F is given by X O R ~ ( x 0 , x 1 ) = x 0 + x 1 − 2 x 0 x 1 \widetilde{\mathrm{XOR}}(x_0,x_1) = x_0 + x_1 - 2x_0x_1 XOR ( x 0 , x 1 ) = x 0 + x 1 − 2 x 0 x 1 .
Note that these extensions agree with the Boolean operators only on { 0 , 1 } 2 \{0,1\}^2 { 0 , 1 } 2 ; over F 2 \mathbb{F}^2 F 2 they define polynomial relaxations rather than Boolean operations.
Thaler, J. (2015). A note on the GKR protocol . https://api.semanticscholar.org/CorpusID:16402332 Goldwasser, S., Kalai, Y. T., & Rothblum, G. N. (2008). Delegating computation: Interactive proofs for muggles. Proceedings of the 40th Annual ACM Symposium on Theory of Computing (STOC) , 113–122. 10.1145/1374376.1374396 Goldwasser, S., Kalai, Y. T., & Rothblum, G. N. (2015). Delegating computation: Interactive proofs for muggles. Journal of the ACM , 62 (4), 1–64. 10.1145/2699436