The composition of two Boolean functions $f:\left\{0,1\right\}^{m}\to\left\{0,1\right\}$, $g:\left\{0,1\right\}^{n}\to\left\{0,1\right\}$

is the function $f \diamond g$ that takes as inputs $m$ strings $x_{1},\ldots,x_{m}\in\left\{0,1\right\}^{n}$

and computes

\[

(f \diamond g)(x_{1},\ldots,x_{m})=f\left(g(x_{1}),\ldots,g(x_{m})\right).

\]

This operation has been used several times for amplifying different

hardness measures of $f$ and $g$. This comes at a cost: the function

$f \diamond g$ has input length $m\cdot n$ rather than $m$ or $n$, which

is a bottleneck for some applications.

In this paper, we propose to decrease this cost by ``derandomizing''

the composition: instead of feeding into $f \diamond g$ independent inputs

$x_{1},\ldots,x_{m}$, we generate $x_{1},\ldots,x_{m}$ using a shorter

seed. We show that this idea can be realized in the particular setting

of the composition of functions and universal relations.

To this end, we provide two different techniques for achieving such

a derandomization: a technique based on averaging samplers, and a

technique based on Reed-Solomon codes.

Small fixes.

The composition of two Boolean functions $f:\left\{0,1\right\}^{m}\to\left\{0,1\right\}$, $g:\left\{0,1\right\}^{n}\to\left\{0,1\right\}$

is the function $f \diamond g$ that takes as inputs $m$ strings $x_{1},\ldots,x_{m}\in\left\{0,1\right\}^{n}$

and computes

\[

(f \diamond g)(x_{1},\ldots,x_{m})=f\left(g(x_{1}),\ldots,g(x_{m})\right).

\]

This operation has been used several times for amplifying different

hardness measures of $f$ and $g$. This comes at a cost: the function

$f \diamond g$ has input length $m\cdot n$ rather than $m$ or $n$, which

is a bottleneck for some applications.

In this paper, we propose to decrease this cost by ``derandomizing''

the composition: instead of feeding into $f \diamond g$ independent inputs

$x_{1},\ldots,x_{m}$, we generate $x_{1},\ldots,x_{m}$ using a shorter

seed. We show that this idea can be realized in the particular setting

of the composition of functions and universal relations.

To this end, we provide two different techniques for achieving such

a derandomization: a technique based on averaging samplers, and a

technique based on Reed-Solomon codes.

Fixed a few typos.

The composition of two Boolean functions $f:\left\{0,1\right\}^{m}\to\left\{0,1\right\}$, $g:\left\{0,1\right\}^{n}\to\left\{0,1\right\}$

is the function $f \diamond g$ that takes as inputs $m$ strings $x_{1},\ldots,x_{m}\in\left\{0,1\right\}^{n}$

and computes

\[

(f \diamond g)(x_{1},\ldots,x_{m})=f\left(g(x_{1}),\ldots,g(x_{m})\right).

\]

This operation has been used several times for amplifying different

hardness measures of $f$ and $g$. This comes at a cost: the function

$f \diamond g$ has input length $m\cdot n$ rather than $m$ or $n$, which

is a bottleneck for some applications.

In this paper, we propose to decrease this cost by ``derandomizing''

the composition: instead of feeding into $f \diamond g$ independent inputs

$x_{1},\ldots,x_{m}$, we generate $x_{1},\ldots,x_{m}$ using a shorter

seed. We show that this idea can be realized in the particular setting

of the composition of functions and universal relations.

To this end, we provide two different techniques for achieving such

a derandomization: a technique based on averaging samplers, and a

technique based on Reed-Solomon codes.