There is famous Kolmogorov-Arnold theorem for continuous functions composition - continuous function of several variables can be composed of continuous functions of two variables. 


Specialization of such theorem into smooth functions is false: there is no similar composition obeying smoothness - that is there are smooth functions of several variables that cannot be composed of smooth function of 2 variables. 


[Take a look here:](https://mathoverflow.net/questions/140859/kolmogorov-superposition-for-smooth-functions) [Kolmogorov superposition for smooth functions](https://mathoverflow.net/questions/140859/kolmogorov-superposition-for-smooth-functions) 


There is an obvious way around: generalization and even grand generalization.


Generalization:
**Is Kolmogorov-Arnold theorem true for just functions ( non-continuous)?**


If above question is interesting we may ask for Grand Generalization:
Let KA(f, X) means the following hypothesis: given object f of some class containing several variables ( function, relation, rules of inference etc), and characteristics X ( continuous, transitive etc) valid for such class of objects, is it possible to compose every object of class f as finite number of objects of the same class with 2 variables with the same characteristic X?


Is there something known for Grand Generalization K(f,X) for various f and X?



Kolmogorov-Arnold theorem for (just-)functions
The answer is **yes** for functions $f:[0,1]^n\to\mathbb{R}$: Any such function can be written as
$$
f(x\_1,\dots,x\_n) = g\Big(\sum\_{i=1}^n h\_i(x\_i)\Big).
$$
The proof is pretty simple: The $h\_i$ should "spread out" the digits of the $x\_i$ by $n$ places such that $\sum\_{i=1}^n h\_i(x\_i)$ contains all the digits of all the $x\_i$. Thus, the argument that is passed to $g$ contains the same information that the arguments of the function $f$ contain.


I've seen this proof in some [lecture notes about deep learning](http://ttic.uchicago.edu/~dmcallester/DeepClass/universality.pdf) - that's one field where Kolmogorov's Theorem was heavily discussed in the 1980s, see Girosi and Poggio's note 



> 
> [Representation properties of networks: Kolmogorov's theorem is irrelevant](http://cbcl.mit.edu/projects/cbcl/people/poggio/journals/girosi-poggio-NeuralComputation-1989.pdf)
>  F Girosi, T Poggio - Neural Computation, 1989 - MIT Press
> 
> 
> 


**Edit:** Here is more fleshed out version of the proof.


The $h\_i$ should "spread out" the digits as follows:
Let us denote the inputs by $x^1,\dots,x^n$ and their digits by
$$
\begin{split}
x^1 & = 0.x^1\_1 x^1\_2\dots\\
x^2 & = 0.x^2\_1 x^2\_2\dots\\
\vdots &\\
x^n & = x^n\_1 x^n\_2\dots
\end{split}.
$$
Then the $h\_i$ work as follows
$$
\begin{split}
h\_1(x^1) & = 0.x^1\_1 0 \dots 0 x^1\_2 0\dots 0 x^1\_3 0\dots\\
h\_2(x^2) & = 0.0 x^2\_1 0\dots 0 x^2\_2 0 \dots 0 x^2\_3 0\dots\\
h\_3(x^3) & = 0.0 0 x^3\_1 0\dots 0 x^3\_2 0 \dots 0 x^3\_3 0\dots\\
\end{split}
$$
with $n-1$ zeros between digits. Then 
$$
\sum\_{i=1}^n h\_i(x^i) = 0.x^1\_1x^2\_1\dots x^n\_1 x^1\_2 x^2\_2\dots x^n\_2\dots
$$
i.e., this number contains all the digits of all the numbers $x^1,\dots,x^n$. Now define $g$ of this number as $f(x\_1,\dots,x\_2)$. Since the "interlacing map" $(x^1,\dots,x^n) \mapsto \sum\_i h\_i(x^i)$ is bijective, such a $g$ exists.


