Universal Function Approximation by Deep Neural Nets with Bounded Width and ReLU Activations

This article concerns the expressive power of depth in neural nets with ReLU activations and bounded width. We are particularly interested in the following questions: what is the minimal width $w_{\text{min}}(d)$ so that ReLU nets of width $w_{\text{min}}(d)$ (and arbitrary depth) can approximate any continuous function on the unit cube $[0,1]^d$ aribitrarily well? For ReLU nets near this minimal width, what can one say about the depth necessary to approximate a given function? We obtain an essentially complete answer to these questions for convex functions. Our approach is based on the observation that, due to the convexity of the ReLU activation, ReLU nets are particularly well-suited for representing convex functions. In particular, we prove that ReLU nets with width $d+1$ can approximate any continuous convex function of $d$ variables arbitrarily well. Moreover, when approximating convex, piecewise affine functions by such nets, we obtain matching upper and lower bounds on the required depth, proving that our construction is essentially optimal. These results then give quantitative depth estimates for the rate of approximation of any continuous scalar function on the $d$-dimensional cube $[0,1]^d$ by ReLU nets with width $d+3.$


Introduction
Over the past several years, neural nets − particularly deep nets − have become the state of the art in a remarkable number of machine learning problems, from mastering Go to image recognition/segmentation and machine translation (see the review article [2] for more background). Despite all their practical successes, a robust theory of why they work so well is in its infancy. Much of the work to date has focused on the problem of explaining and quantifying the expressivity − the ability to approximate a rich class of functions − of deep neural nets [1,7,8,10,11,12,14,15,16,17]. Expressivity can be seen both as an effect of both depth and width. It has been known since at least the work of Cybenko [4] and Hornik-Stinchcombe-White [6] that if no constraint is placed on the width of a hidden layer, then a single hidden layer is enough to approximate essentially any function. The purpose of this article, in contrast, is to investigate the "effect of depth without the aid of width." More precisely, for each d ≥ 1 we would like to estimate w min (d) := min w ∈ N ReLU nets of width w can approximate any positive continuous function on [0, 1] d arbitrarily well .
(1) In Theorem 1, we prove that ω min (d) ≤ d + 2. This raises two questions: Q1. Is the estimate in the previous line sharp? Q2. How efficiently can ReLU nets of a given width w ≥ w min (d) approximate a given continuous function of d variables?
On the subject of Q1, we will prove in forthcoming work with M. Sellke that in fact ω min (d) = d + 1. When d = 1, the lower bound is simple to check, and the upper bound follows for example from Theorem 3.1 in [10]. The main results in this article, however, concern Q1 and Q2 for convex functions. For instance, we prove in Theorem 1 that w conv min (d) ≤ d + 1, This illustrates a central point of the present paper: the convexity of the ReLU activation makes ReLU nets well-adapted to representing convex functions on [0, 1] d . Theorem 1 also addresses Q2 by providing quantitative estimates on the depth of a ReLU net with width d + 1 that approximates a given convex function. We provide similar depth estimates for arbitrary continuous functions on [0, 1] d , but this time for nets of width d + 3. Several of our depth estimates are based on the work of Balázs-György-Szepesvári [3] on max-affine estimators in convex regression.
In order to prove Theorem 1, we must understand what functions can be exactly computed by a ReLU net. Such functions are always piecewise affine, and we prove in Theorem 2 the converse: every piecewise affine function on [0, 1] d can be exactly represented by a ReLU net with hidden layer width at most d + 3. Moreover, we prove that the depth of the network that computes such a function is bounded by the number affine pieces it contains. This extends the results of Arora-Basu-Mianjy-Mukherjee (e.g. Theorem 2.1 and Corollary 2.2 in [1]).
Convex functions again play a special role. We show that every convex function on [0, 1] d that is piecewise affine with N pieces can be represented exactly by a ReLU net with width d + 1 and depth N. This depth bound for convex functions is tight up to a multiplicative constant. Specifically, we prove in Theorem 3 that there exists a convex piecewise affine function f on [0, 1] d with N distinct affine pieces such that any ReLU net of width d + 1 that approximates f with precision (d + 2) −(N −2)/d+1 must have depth at least N +d−1 d+1 − log d+2 (8N 2 ).

Statement of Results
To state our results precisely, we set notation and recall several definitions. For d ≥ 1 and a continuous function f : the modulus of continuity of f, whose value at ε is the maximum f changes when its argument moves by at most ε. Note that by definition of a continuous function, ω f (ε) → 0 as ε → 0. Next, given d in , d out , and w ≥ 1, we define a feed-forward neural net with ReLU activations, input dimension d in , hidden layer width w, depth n, and output dimension d out to be any member of the finite-dimensional family of functions are affine transformations, and for every m ≥ 1 We often denote such a net by N and write for the function it computes. Our first result contrasts both the width and depth required to approximate continuous, convex, and smooth functions by ReLU nets.
We have the following three cases: 1. (f is continuous): There exists a sequence of feed-forward neural nets N k with ReLU activations, input dimension d, hidden layer width d + 2, output dimension 1, such that lim In particular, w min (d) ≤ d+2. Moreover, write ω f for the modulus of continuity of f, and fix ε > 0. There exists a feed-forward neural nets N ε with ReLU activations, input dimension d, hidden layer width d + 3, output dimension 1, and such that 2. (f is convex): There exists a sequence of feed-forward neural nets N k with ReLU activations, input dimension d, hidden layer width d + 1, and output dimension 1, such that lim Hence, ω conv min (d) ≤ d + 1. Further, there exists C > 0 such that if f is both convex and Lipschitz with Lipschitz constant L, then the nets N k in (8) can be taken to satisfy 3. (f is smooth): There exists a constant K depending only on d and a constant C depending only on the maximum of the first K derivative of f such that for every k ≥ 3 the width d + 2 nets N k in (5) can be chosen so that The main novelty of Theorem 1 is the width estimate w conv min (d) ≤ d + 1 and the quantitative depth estimates (9) for convex functions as well as the analogous estimates (6) and (7) for continuous functions. Let us breifly explain the origin of the other estimates. The relation (5) and the corresponding estimate w min (d) ≤ d + 2 are a combination of the well-known fact that ReLU nets with one hidden layer can approximate any continuous function and a simple procedure by which a ReLU net with input dimension d and a single hidden layer of width n can be replaced by another ReLU net that computes the same function but has depth n + 2 and width d + 2. For these width d + 2 nets, we are unaware of how to obtain quantitative estimates on the depth required to approximate a fixed continuous function to a given precision. At the expense of changing the width of our ReLU nets from d + 2 to d + 3, however, we furnish the estimates (6) and (7). On the other hand, using Theorem 3.1 in [10], when f is sufficiently smooth, we obtain the depth estimates (10) for width d + 2 ReLU nets.
Our next result concerns the exact representation of piecewise affine functions by ReLU nets. Instead of measuring the complexity of a such a function by its Lipschitz constant or modulus of continuity, the complexity of a piecewise affine function can be thought of as the minimal number of affine pieces needed to define it.
Theorem 2. Let d ≥ 1 and f : [0, 1] d → R + be the function computed by some ReLU net with input dimension d, output dimension 1, and arbitrary width. There exist affine functions g α , h β : [0, 1] d → R such that f can be written as the difference of positive convex functions: Moreover, there exists a feed-forward neural net N with ReLU activations, input dimension d, hidden layer width d + 3, output dimension 1, and that computes f exactly. Finally, if f is convex (and hence h vanishes), then the width of N can be taken to be d + 1 and the depth can be taken to N.
The fact that the function computed by a ReLU net can be written as (11) follows from Theorem 2.1 in [1]. The novelty in Theorem 2 is therefore the uniform width estimate d + 3 in the representation on any function computed by a ReLU net and the d + 1 width estimate for convex functions. Theorem 2 will be used in the proof of Theorem 1. Our final result shows that the depth formula in (12) is tight up to a multiplicative constant for convex functions.
Theorem 3. For every N ≥ 2, there exists a convex piecewise affine function f with N affine pieces and Lipschitz constant 1 with the following property. Fix ε > 0. Any feed-forward neural net N with ReLU activations, input dimension d, hidden layer width d + 1, and no dead ReLUs for inputs in [0, 1] d such that In particular, taking ε = (d + 2) −(N −2)/d+1 , the second term on the right hand side in the previous line becomes N +d−1 d+1 − log d+2 (8N 2 ). For this choice of ε, d fixed, and N large, the lower bound in (14) therefore coincides up to a constant correction with the depth bound (12) for convex functions in Theorem 2.
Remark 1. Suppose that N is defined as in (4). Then the condition that N have no dead ReLUs for inputs in [0, 1] d means that for every j = 1, . . . , n − 1 no component of the function computed by the first j hidden layers vanishes for every x ∈ [0, 1] d . Dead ReLUs arise in practice but are generally thought to diminish rather than enhance expressivity. It is therefore plausible that the no dead ReLU assumption can be dropped from the statement of Theorem 3.
A key ingredient in the proof of Theorem 3 is the observation that although a ReLU net of depth n and no dead ReLUs can produce piecewise affine functions with as many as 2(d + 2) n−1 affine pieces, it can only produce (d + 1)(n − 1) + 2 pieces with non-parallel normal vectors. The precise statements are given in Lemmas 7 and 8.

Relation to Previous Work
This article is related to several strands of prior work: (1) Theorems 1-3 are "deep and narrow" analogs of the well-known "shallow and wide" universal approximation results (e.g. Cybenko [4] and Hornik-Stinchcombe -White [6]) for feed-forward neural nets. Those articles show that essentially any scalar function f : [0, 1] d → R on the d−dimensional unit cube can be arbitrarily well-approximated by a feed-forward neural net with a single hidden layer with arbitrary width. Such results hold for a wide class of nonlinear activations but are not particularly illuminating from the point of understanding the expressive advantages of depth in neural nets.
(2) The results in this article complement the work of Liao-Mhaskar-Poggio [7] and Mhaskar-Poggio [10], who consider the advantages of depth for representing certain heirarchical or compositional functions by neural nets with both ReLU and non-ReLU activations. Their results (e.g. Theorem 1 in [7] and Theorem 3.1 in [10]) give bounds on the width for approximation both for shallow and certain deep heirarchical nets.
(3) Theorems 1-3 are also quantitative analogs of Corollary 2.2 and Theorem 2.4 in the work of Arora-Basu-Mianjy-Mukerjee [1]. Their results give bounds on the depth of a ReLU net needed to compute exactly a piecewise linear function of d variables. However, except when d = 1, they do not obtain an estimate on the number of neurons in such a network and hence cannot bound the width of the hidden layers.
(4) Our results are related to Theorems II.1 and II.4 of Rolnick-Tegmark [13], which are themselves extensions of Lin-Rolnick-Tegmark [8]. Their results give lower bounds on the total size (number of neurons) of a neural net (with non-ReLU activations) that approximates sparse multivariable polynomials. Their bounds do not imply a control on the width of such networks that depends only on the number of variables, however.
(5) This work was inpsired in part by questions raised in the work of Telgarsky [14,15,16]. In particular, in Theorems 1.1 and 1.2 of [14], Telgarsky constructs interesting examples of sawthooth functions that can be computed efficiently by deep width 2 ReLU nets that cannot be well-approximated by shallower networks with a simlar number of parameters. A possible answer to the question of what geometrical property of these functions his construction relied on can be found in Lemmas 7 and 8 below, which can in turn be thought of as refinements of his observations in Lemmas 2.1 and 2.3. Namely, that the functions he constructs have exponentially many sawtooths but only two distinct slopes.
(6) Theorems 1-3 are quantitative statements about the expressive power of depth without the aid of width. This topic, usually without considering bounds on the width, has been taken up by many authors. We refer the reader to [11,12] for several interesting quantitative measures of the complexity of functions computed by deep neural nets.
(7) Finally, we refer the reader to the interesting work of Yarofsky [17], which provides bounds on the total number of parameters in a ReLU net needed to approximate a given class of functions (mainly balls in various Sobolev spaces).

Acknowledgements
It is a pleasure to thank Elchanan Mossel and Leonid Hanin for many helpful discussions. This paper originated while I attended EM's class on deep learning [9]. In particular, I would like to thank him for suggesting proving quantitative bounds in Theorem 2 and for suggesting that a lower bound can be obtained by taking piece-wise linear functions with many different directions. He also pointed out that the width estimates for continuous function in Theorem 1 where sub-optimal in a previous draft. l would also like to thank Leonid Hanin for detailed comments on a several previous drafts and for useful references to results in approximation theory. I am also grateful to Brandon Rule and Matus Telgarsky for comments on an earlier version of this article. I am also grateful to BR for the original suggestion to investigate the expressivity of neural nets of width 2. Finally, I would like to thank Max Kleiman-Weiner for useful comments and discussion.

Proof of Theorem 2
We first treat the case when f is convex. We seek to show that f can be exactly represented by a ReLU net with input dimension d, hidden layer width d + 1, and depth N. Our proof relies on the following observation. Then the image of the graph of T under We now construct a neural net that computes f. Define invertible affine functions and set where e d+1 is the (d + 1)−st standard basis vector so that e d+1 , · is the linear map from R d+1 to R that maps (x 1 , . . . , x d+1 ) to x d+1 . Finally, set where (id, 0) (x) = (x, 0) maps [0, 1] d to the graph of the zero function. Note that the ReLU in this initial layer is linear. With this notation, repeatedly using Lemma 4, we find that H out • H N • · · · • H 1 • H in therefore has input dimension d, hidden layer width d + 1, depth N and computes f exactly.
Next, consider the general case when f is given by h β as in (11). For this situation, we use a different way of computing the maximum using ReLU nets.

Lemma 5.
There exists a ReLU net M with input dimension 2, hidden layer width 2, output dimension 1 and depth 2 such that M (x, y) = max{x, y}, x ∈ R, y ∈ R + .
Proof. Set A 1 (x, y) := (x − y, y), A 2 (z, w) = z + w, and define We have for each as desired.
We now describe how to construct a ReLU net N with input dimension d, hidden layer width d + 3, output dimension 1, and depth 2(M + N ) that exactly computes f . We use width d to copy the input x, width 2 to compute successive maximums of the positive affine functions g α , h β using the net M from Lemma 5 above, and width 1 as memory in which we store g = sup α g α while computing h = sup β h β . The final layer computes the difference f = g − h.

Proof of Theorem 3
To prove Theorem 3, it is convenient to use the notion of polyhedral complexes. Formally, a d-dimensional polyhedral complex is the finite union of convex closed ddimensional polyhedra in some Euclidean space that intersect only along proper faces, which are allowed to be of any dimension. We will use that the images of polyhedral complexes under affine transformations, projections onto affine subspaces, and intersection with a closed half-space can again be given the structure of a polyhedral complex. We will also need the observation that the union of two d-dimensional polyhedral complexes is again a polyhedral complex provided that polyhedra from the different complexes already intersect only along proper faces.
The function computed by a neural net is continuous as a function of the weights and biases in its affine transformations. Hence, the following result shows, that without loss of generality, we may assume that the neural nets in Theorem 3 satisfy (P2) and (P3) below. Proposition 6. Let N be a feed-forward neural net with ReLU activations, input dimension d, hidden layer width d + 1, and depth n with no dead ReLUs for inputs in [0, 1] d and affine transformations A j as in (4). For every ε > 0 there exists a net N with the following properties: (P1) N has the same input/output dimension, hiddlen layer width, and depth as N .
Proof. Since f N is a continuous function of the weights and biases in A j , we seek to show that (P2) and (P3) hold generically in the set of affine transformations that produce no dead ReLUs for inputs in [0, 1] d . Since full rank maps are dense in the space of affine maps between any two finite-dimensional Euclidean spaces, (P2) is indeed a generic property and we will assume that it is satisfied. Let us prove the same of (P3). We write Since A 1 has full rank, given by a single polyhedron). By an arbitrarily small perturbation of A 1 , we can ensure that the normal vector to Y 1 is not perpendicular to any of the coordinate axes. Write Consider the decomposition is a d-dimensional polyhedral complex. Otherwise, the normal vector to Y − 1 is not parallel to the first coordinate axis by construction. Hence, ReLU 1 (Y − 1 ) is a d-dimensional polyhedral complex in {x 1 = 0} ⊆ R d+1 since the projection of a polyhedral complex is a polyhedral complex. Since ReLU 1 (Y + 1 ) = Y + 1 , we find ReLU 1 (Y 1 ) is a d-dimensional polyhedral complex in R d+1 . Repeating this argument shows that ReLU(Y 1 ) is a also a d-dimensional polyhedral complex. Proceeding in this way, we can choose arbitrarily small perturbations of A j for j ≥ 2 so that none of the normal vectors to Y j = A j (y j−1 ) is perpendicular to the coordinate axes. We find that y j is therefore a d-dimensional polyhedral complex in R d+1 for every j = 1, . . . , n − 1, as claimed.
In order to establish (13) and (14), let f : [0, 1] d → R be a positive, piecewise affine function whose graph has at least N ≥ 2 non-parallel normal vectors. Lemma 7 implies that in order to represent f exactly by a ReLU net N with input dimension d, hidden layer width d + 1 and no dead ReLUs that satisfies (P2) and (P3) requires depth at least (N + d − 1)/(d + 1).

Lemma 7.
Let N be a feed-forward neural net with input dimension d ≥ 1, hidden layer width d + 1, output dimension 1, depth n that satisfies (P2) and (P3). Then the number of non-parallel normal vectors to the graph of f N is bounded above by (d + 1)(n − 1) + 2.
Proof. Note that if two hyperplanes in R d+1 have parallel normal vectors, then their images under an invertible affine map are also hyperplanes with parallel normal vectors. Hence, using the notation in (16), conditions (P2) and (P3) imply that the number of non-parallel normal vectors in Y j is the same as in y j−1 for every j ≤ n − 1. Moreover, in addition to the normal vectors to Y j , there can be at most d + 1 additional normal vectors to the affine pieces in y j , namely the standard basis vectors in R d+1 . This shows that y n−1 has at most (d + 1)(n − 1) + 1 non-parallel normal vectors. The function f N computed by N is obtained by taking the scalar product of with a fixed vector w ∈ R d+1 , adding a constant b ∈ R, and applying the 1-dimensional ReLU to the result. The function x → L(x) · w + b is affine for any affine L. Hence, the graph of the piecewise affine function y n−1 (x) · w + b has at most (d + 1)(n − 1) + 1 non-parallel normal vectors. Finally, applying ReLU to y n · w + b can introduce one extra normal vector (namely the d + 1-st standard basis vector in R d+1 ) in the graph of to the resulting piecewise affine function f N . This completes the proof.
The previous lemma gives bounds that are linear in both the depth and width on the number of non-parallel normal vectors in the graph of f N . However, to show (13) and (14), we also require an exponential bound on the number of affine pieces in the graph of f N . Lemma 8. Let N be a feed-forward neural net with input dimension d ≥ 1, hidden layer width d+1, output dimension 1, depth n, full rank, and no dead ReLUs for inputs in [0, 1] d that satisfies (P2) and (P3). The graph of the function computed by N is piecewise affine with at most 2 (d + 2) n−1 affine pieces.
Proof. We continue to use the notation in (4) and (16) so that y j is the image of [0, 1] d under the first 1 ≤ j ≤ n hidden layers of N . Fix j ≤ n − 2, and consider an affine piece A in A j+1 (y j ). Write Note that for any i = j, the image of A i,k under ReLU is contained in ReLU(A i ) ∩ ReLU(A k ) and has dimension at most d − 1 since it is contained in the co-dimension 2 subspace {x i = x k = 0}. Hence, because y j+1 is d-dimensional by (P3) and ReLU is continuous, The normal vector to ReLU(A i ) is the i-th standard basis vector in R d+1 . Hence, the image of A under ReLU is a collection of at most d + 2 affine pieces and the number of distinct affine pieces in y j+1 is at most d + 2 times the number of distinct affine pieces in y j . The surface y n−1 therefore has at most (d + 2) n−1 distinct affine pieces. Finally, the last layer ReLU (y n−1 · w + b) can break each of the affine pieces making up the graph of x → y n−1 (x) · w + b into at most two pieces. Thus, the total number of affine pieces in the graph of the function computed by N is at most 2 (d + 2) n−1 .
Our goal now is to construct a convex piecewise affine function f : [0, 1] d → R with at least N non-parallel normal vectors in its graph such that any ReLU net N with input dimension d, hidden layer width d + 1, output dimension 1 and no dead ReLUs for inputs in [0, 1] d for which (13) holds must also satisfy (14). We first give the argument when d = 1 and then will explain the necessary modifications for general d. Define f by The slope of f on [j/N, (j +1)/N ] is j/N, and hence f is convex with Lipschitz constant bounded by 1 and precisely N pieces with different slopes (note that in dimension 1 having different slopes is the same as having non-parallel normal vectors to the graph). Fix ε > 0, and consider any full rank ReLU net N with input dimension 1, hidden layer width 2, and no dead ReLUs for inputs from [0, 1] such that If for every j = 0, . . . , N − 1 there exists a point in [0, 1] so that the slope of f N at this point is strictly larger than j N − 1 2N and strictly smaller than j N + 1 2N , then the function computed by N has at least N distinct slopes. Hence, it's depth is bounded below by N/2 by Lemma 7, as desired.
Otherwise, there exists j ∈ {0, . . . , N − 1} such that every slope in the graph of f N differs from j/N by at least 1 2N . Since N satisfies (18), the function it computes must have at least 1/(4N 2 ε) points of discontinuity for the derivative on [j/N, (j + 1)/N ]. Indeed, consider any interval I ⊆ [j/N, (j + 1)/N ] on which f N is affine. Denote by |I| the length of I and set By (18), |α| · |I| ≤ 2ε.
Thus, f N restricted to the interval [j/N, (j + 1)/N ] has at least 1/(4εN 2 ) points of discontinuity for its derivative and must be defined by at least 1/(4εN 2 ) + 1 distinct affine pieces. Hence, by Lemma 8, the depth of N must be bounded below by This completes the proof when d = 1. We argue in a similar fashion for general d ≥ 1. Namely, we consider the convex piecewise affine function g : [0, 1] d → R given by where f is given by (17). The graph of g has N non-parallel normal vectors. Suppose that N is a ReLU net with input dimension d and hidden layer width d + 1 such that (18) holds with f replaced by g. The same argument as above now shows that the depth of N is bounded below by the minimum of (N − d + 1)/(d + 1) and 1 − log d+1 8N 2 ε . This completes the proof of Theorem 2.

Proof of Theorem 1
We begin by showing (8) and (9). Suppose f : [0, 1] d → R + is convex and fix ε > 0. A simple discretization argument shows that there exists a piecewise affine convex function g : [0, 1] d → R + such that f − g C 0 ≤ ε. By Theorem 2, g can be a exactly represented by a ReLU net with hidden layer width d + 1. This proves (8). In the case that f is Lipschitz, we use the following, a special case of Lemma 4.1 in [3].
Proposition 9. Suppose f : [0, 1] d → R is convex and Lipschitz with Lipschitz constant L. Then for every k ≥ 1 there exist k affine maps A j : Combining this result with Theorem 2 proves (9). We turn to checking (5) and (10). We need the following observations, which seems to be well-known but not written down in the literature.

Lemma 10.
Let N be a ReLU net with input dimension d, a single hidden layer of width n, and output dimension 1. There exists another ReLU net N that computes the same function as N but has input dimension d and n + 2 hidden layers with width d + 2.
Proof. Denote by {A j } n j=1 the affine functions computed by each neuron in the hidden layer of N so that Let T > 0 be sufficiently large that T + k j=1 c j ReLU(A j (x)) > 0, ∀1 ≤ k ≤ n, x ∈ [0, 1] d .
The affine transformations A j computed by the j th hidden layer of N are then A 1 (x) := (x, A j (x), T ) and A n+2 (x, y, z) = z − T + b, x ∈ R d , y, z ∈ R and A j (x, y, z) = (x, A j (x), z + c j−1 y) , j = 2, . . . , n + 1. We are essentially using width d to copy in the input variable, width 1 to compute each A j and width 1 to store the output.
Recall that positive continuous functions can be arbitrarily well-approximated by smooth functions and hence by ReLU nets with a single hidden layer (see e.g. Theorem 3.1 [10]). The relation (5) therefore follows from Lemma 10. Similarly, by Theorem 3.1 in [10], if f is smooth, then there exists K = K(d) > 0 and a constant C f depending only on the maximum value of the first K derivatives of f such that where the infimum is over ReLU nets N with a single hidden layer of width n. Combining this with Lemma 10 proves (10).
It remains to prove (6) and (7). To do this, fix a positive continuous function f : [0, 1] d → R + with modulus of continuity ω f . Recall that the volume of the unit d-simplex is 1/d! and fix ε > 0. Consider the partition copies of ω f (ε) times the standard d-simplex. Define f ε to be a piecewise linear approximation to f obtained by setting f ε equal to f on the vertices of the P j 's and taking f ε to be affine on their interiors. Since the diameter of each P j is ω f (ε), we have f − f ε C 0 ≤ ε. Next, since f ε is a piecewise affine function, by Theorem 2.1 in [1] (see Theorem 2), we may write f ε = g ε − h ε , where g ε , h ε are convex, positive, and piecewise affine. Applying Theorem 2 completes the proof of (6) and (7).