クロネッカーのデルタとか、単位ステップ関数とか

唐突ですが、次のような関数を構成したいと思いました。
U(n) = \left\{ \begin{array} 1 & (n \geq 1)\\ 0 & (n \leq 0) \end{array}\right.
ただし、構成にあたっては四則演算と初等的な関数をのみを用いることとします。
それから、今回扱う関数は全て、定義域は Z です。
ちなみに、
U(n+1) = \left\{ \begin{array} 1 & (n \geq 0)\\ 0 & (n < 0) \end{array}\right.
は、単位ステップ関数と呼ばれます。
ここで、次のような関数を構成することができたとします。
V(n) = \left\{ \begin{array} n & (n \geq 1)\\ 0 & (n \leq 0) \end{array}\right.
すると、次が成り立ちます。
U(n) = \rm{min}\{1,V(n)\}
そんなわけで、V\rm{min} を構成したいと思います。
さて、
\rm{min}\{m,n\} = \frac{m+n-|m-n|}{2}
です。
これは、今日になって思いつきました。コロンブスの卵。
次に、
V(n) = \frac{n+|n|}{2}
です。
これも、今日になって思いつきました。再び、コロンブスの卵。
以上により
U(n) = \frac{1+\frac{n+|n|}{2}-|1-\frac{n+|n|}{2}|}{2} = \frac{2+n+|n|-|2-n-|n||}{4}
となります。
やったね!
これは、ちゃんと
U(n) = \left\{ \begin{array} 1 & (n \geq 1)\\ 0 & (n \leq 0) \end{array}\right.
を、満たしています。
非常に使い勝手が良い関数であります。
例えば、クロネッカーのデルタ
\delta_{i,j} = \left\{ \begin{array} 1 & (i = j)\\ 0 & (i \neq j) \end{array}\right.
は、次のように表すことができます。
\delta_{i,j}
= 1-U(|i-j|)
= 1-\frac{2+|i-j|+|i-j|-|2-|i-j|-|i-j||}{4}
= 1-\frac{1+|i-j|-|1-|i-j||}{2}
= \frac{1-|i-j|+|1-|i-j||}{2}
だ。
こんなことを、昨日からずっと考えてました。
解決して、めでたし。