f(x + y) = f(x) + f(y) を満たす関数

タイトルのような関数で連続なものは f(x)=cx (c は定数)しかありませんが、連続の代わりに
x\gt 0\Rightarrow f(x)\gt 0 … (*)
という条件を付けても同じ結果が得られます。

まず、f(x+y)=f(x)+f(y) ならば、f(1)=c とおいて、任意の有理数 r に対して f(r)=cr となることが分かります。

さて、(*) の条件を付け加えます。任意の実数 x に対し r_0\lt x\lt r_1 を満たす有理数 r_0,r_1 が存在します。そして (*) の条件と
f(x)=f((x-y)+y)=f(x-y)+f(y)
から f(x-y)=f(x)-f(y) に注意して
\begin{array}{lcl}x\gt y&\Rightarrow&x-y\gt 0\\&\Rightarrow&f(x-y)\gt 0\\&\Rightarrow&f(x)-f(y)\gt 0\\&\Rightarrow&f(x)\gt f(y)\end{array}
f(x) の単調性が導けますから
r_0\lt x\lt r_1\Rightarrow cr_0=f(r_0)\lt f(x)\lt f(r_1)=cr_1
が成り立ちます。一方で c=f(1)\gt 0 なので
r_0\lt x\lt r_1\Rightarrow cr_0\lt cx\lt cr_1
も成り立ちます。故に
-c(r_1-r_0)\lt f(x)-cx\lt c(r_1-r_0),
すなわち
|f(x)-cx|\lt c(r_1-r_0) … (**)
が成り立ちます。

ところで、r_0\lt x\lt r_1 を満たす有理数 r_0,r_1 について、r_1-r_0 はいくらでも小さくできるので、(**) の右辺はいくらでも小さくできますから f(x)=cx が成り立つことが分かります。

ちなみに (*) の代わりに
x\gt 0\Rightarrow f(x)\lt 0
という条件を付け加えても同じ結果が得られます。