一次関数の条件                             戻る

 当HP読者のHN「V」さんからの出題です。(平成24年12月22日付け)

命題  実数関数f(x)が、任意の実数a、b、c、dについて、

     d-c>b-a ならば、 f(d)-f(c)>f(b)-f(a)

  を満たすならば、f(x)は、傾きが正の一次関数である。

は成り立つだろうか?


































(答) Vさんによれば、直観的には正しそうですが、書籍等で見かけませんでした。
   Webサイト「DS 数学 BBS・2」で証明いただきましたので紹介します。


(コメント) 上記サイトのHN「sambarclaude」さんの証明を追認しようとしましたができません
      でした。少し検討したいと思います。


 上記話題について、Vさんからの続報です。(平成25年2月3日付け)

 以前投稿した下記命題の証明を少し改善して再UPします。誤り、反例などあればご指摘
ください。

 なお類例ですが、f(x+y)≡f(x)+f(y)を満たす実関数は必ずしも線形でないようですね。

命題 f は、実数全体で定義された実数関数とする。f が下記の条件を満たすならば、
   f は一次関数である。


    条件: 任意の実数a、b、c、d について、
            「 a-b>c-d ならば f(a)-f(b)>f(c)-f(d) である」


(証明概略) f(0)=0 の場合を考えればよい。
       (一般の場合は、関数 f(x)-f(0) について考えることで f(0)=0 の場合に帰着できる)

     このとき、1-0 >0-0 なので、条件より、f(1)-f(0)>f(0)-f(0)

      よって、 f(1)>0

     f(1)=k とおく。(k>0である)

    任意の実数 x について、 f(x)=kx となることを示せばよい。

     (背理法による)

     ある実数 x>0 について、 f(x)>kx であると仮定する。

      k>0 より、k で割ると、 f(x)/k>x

    有理数の稠密性により、  f(x)/k>m/n>x  となる有理数 m/n(>0) がとれる。
    (ただし、m、n は正整数)

    このとき、 1/n>x/m … (イ) 、f(x)/m>k/n … (ロ) である。

    k=f(1)-f(0)=[f(1)-f(1-(1/n))]+[f(1-(1/n))-f(1-(2/n))]+…+[f(1/n)-f(0)]
            (右辺は n 個の項の和)

    上記のn 個の項 [f(1-(i/n))-f(1-(i+1)/n))] のうち少なくとも1つは、≦ k/n を満たす。

    すなわち、 ある実数 a、b が存在して、

          a-b=1/n … (ハ) 、f(a)-f(b) ≦ k/n … (ニ) を満たす。

   f(x)=f(x)-f(0)=[f(x)-f(x-(x/m))]+[f(x-(x/m))-f(x-(2x/m))]+…+[f(x/m)-f(0)]
             (右辺は m 個の項の和)

   同様に、ある実数 c、d が存在して、

          c-d=x/m … (ホ) 、f(c)-f(d) ≧ f(x)/m … (ヘ) を満たす。

   このとき、(イ)(ハ)(ホ) より a-b>c-d 、一方、(ロ)(ニ)(ヘ)より f(a)-f(b)<f(c)-f(d).

    これは(条件)に反する。

   ゆえに、f(x)>kx となるような実数 x>0 は存在しない。x<0の場合も同様。

   殆ど同様に、 f(x)<kx となるような x も存在しないことが示される。

    よって、任意の実数xについて、 f(x)=kx である。


(コメント) 「任意の実数 x に対して、ある実数 k が存在して、f(x)=kx」の否定は、
      「ある実数 x が存在して、任意の実数 k に対して、f(x)≠kx
     だと思うのですが、上記の背理法は正しいのでしょうか?よく分かりません。


 Vさんからのコメントです。(平成27年12月12日付け)

 最後のコメントは、誤解があると思いますがいかがでしょうか?うまく表現できないのです
が、k=f(1)と決まりますから、

 「任意の実数 x に対して、ある実数 k が存在して、f(x)=kx」の否定は、

 「ある実数 x が存在して、任意の実数 k に対して、f(x)≠kx」

だと思う・・・という考察は、関係ないと思います。


(コメント) 関数決定の問題で、始めに「f(x)=kx 」ありきなところがちょっと理解できません。
      一次関数では確かに条件を満たすのでしょうが、他にその条件を満たす関数が
      ないという保証がないように思うのです。


 DD++さんからのコメントです。(平成27年12月12日付け)

 管理人さんの指摘は少しだけ間違っているものの、指摘すること自体は適切と思います。
少しだけ間違っているというのは、元の命題は

 「任意の実数 x に対して、ある実数 k が存在して、f(x)=kx」

ではなくて、

 「ある実数 k が存在して、任意の実数 x に対して、f(x)=kx」

なので、その否定は、

 「任意の実数 k に対して、ある実数 x が存在して、f(x)≠kx」

である点。そして、Vさんの仮定した内容は、

 「ある実数 k に対して、ある実数 x が存在して、f(x)≠kx」

なので、管理人さんは変に思ったのでしょう。

 実際のところは、k=f(1) の場合以外は自明なんですが、だからと言って仮定そのものを書
き換えてしまっては証明として成立していません。

 ついでに言うと、f(x)≠kx を f(x)>kx と f(x)<kx に場合分けする宣言を省いているのが更な
る混乱を招いていると思います。

 というか、これって背理法など使わずもっと直截的に示せませんかね。

 与えられた条件において、b=d とすると、「a>c ならば f(a)>f(c) 」となるので、f(x) は狭義単
調増加関数である。以下では、a を任意の実定数とする。

 t を任意の正の実数として、

f(a+t)-f(a)
= {f(a+t)-f(a+t/2)} + {f(a+t/2)-f(a+t/4)} + {f(a+t/4)-f(a)}
< {f(a+t)-f(a+t/2)} + {f(a+t)-f(a+t/2)} + {f(a+t)-f(a+t/2)}

より、 f(a+t)-f(a+t/2) > (1/3) {f(a+t)-f(a)}

つまり、 f(a+t/2)-f(a) < (2/3) {f(a+t)-f(a)}

 これを繰り返し用いると、n を自然数として、f(a+1/2^n)-f(a) < (2/3)^n {f(a+1)-f(a)} となる。

すなわち、正実数 ε が与えられたとき、(2/3)^n {f(a+1)-f(a)} < ε となるように自然数 n を
定め、それを用いて δ = 1/2^n ととれば、f(x) が狭義単調増加であることから、

 任意の実数 x に対し、0<x<δ ならば 0 < f(x)-f(a) < ε となる。

すなわち、f(x) は x=a において右連続。

同様にして x=a において左連続であることも示されるので、f(x) は x=a で連続である。

 θを1より小さい任意の正実数とする。hを正実数とすると、

  f(a+(1-θ)h)-f(a) < f(a)-f(a-h) < f(a+(1+θ)h)-f(a)

が成り立つ。この全体を h で割ってから h->+0 とすると、

  (1-θ) f[右微分](a) < f[左微分](a) < (1+θ) f[右微分](a)

となる。
これが1より小さい任意の正実数θについて成り立つので、θ->+0 とすると、挟み
撃ちの原理より、

  f[左微分](a) = f[右微分](a)

つまり、f(x) は x=a で微分可能である。

 以上の議論は任意の実定数 a について成り立つので、f(x) は x=0 でも微分可能である。

 θを1より小さい任意の正実数とする。hを正実数とすると、

  f((1-θ)h)-f(0) < f(a+h)-f(a) < f((1+θ)h)-f(0)

が成り立つ。この全体を h で割ってから h->+0 とすると、 (1-θ)f'(0) < f'(a) < (1+θ)f'(0)
となる。

 これが1より小さい任意の正実数θについて成り立つので、θ->+0 とすると、挟み撃ちの
原理より、f'(a) = f'(0)

 これが任意の実定数 a について成り立つのだから、f'(x) は定数である。

 これを1回積分すれば、f(x) は一次関数である。


 DD++さんからのコメントです。(平成27年12月12日付け)

 投稿直後に気づきました。

 θを1より小さい任意の正実数とする。hを正実数とすると、

  f(a+(1-θ)h)-f(a) < f(a)-f(a-h) < f(a+(1+θ)h)-f(a)

が成り立つ。この全体を h で割ってから h->+0 とすると、

  (1-θ) f[右微分](a) < f[左微分](a) < (1+θ) f[右微分](a)

となる。


 ここ嘘ですね。連続だからといって片側微分可能とは限らない……。発散しないことの証
明がこの前に必要ですね。うまくできるでしょうか。


 Vさんからのコメントです。(平成27年12月13日付け)

 fの連続性が示せると、元の命題も示しやすいですね。

 「ある実数 k に対して、ある実数 x が存在して、f(x)≠kx」なので、管理人さんは変に思っ
たのでしょう。


 k=f(1) なので、kは「ある実数」といえばそうですが、上記の仮定をしているわけではないと
思います。


 DD++さんからのコメントです。(平成27年12月13日付け)

 だから、そこで k=f(1) と勝手にしてしまうのが証明として破綻しているのですよ。


 Vさんからのコメントです。(平成27年12月13日付け)

 f(1)のままでも良いのですが、記述を簡単にするためkと書いただけです。書き換えなけれ
ば、下記のようになります。

 任意の実数 x について、 f(x)=f(1)x となることを示せばよい。

(背理法による) ある実数 x>0 について、 f(x)>f(1)x であると仮定する。

      f(1)>0 より、f(1) で割ると、 f(x)/f(1)>x

というふうにkは出てきません。


 DD++さんからのコメントです。(平成27年12月13日付け)

 だから、そこで k=f(1) と勝手にしてしまうのが証明として破綻しているのですよ。

 勘違いしてました。背理法だから、この条件は仮定側に来てるので、「任意の」で特定のk
に選んでも問題なかったですね。失礼しました。

 しかし、証明の入り口の手順の拭いきれない違和感は消えないんですよね。単に言い回し
が私に馴染まないだけなのかなあ。


 Vさんからのコメントです。(平成27年12月13日付け)

 確かに、「背理法」というよりも「対偶が真であることを示す」といった方が良いような気もし
ますし、「ある実数xについてf(x)≠f(1)x」ならば

 「ある実数xについて、f(x)>f(1)xまたはf(x)<f(1)x」

と言ってから、f(x)>f(1)x のとき・・・とした方が、見通しが良いですね。

 また、fが連続であることをDD++さんへの方式で証明し、それを使うほうが、素直で分りや
すい気がします。


 IT さんから冒頭の話題について、証明が「数学セミナー’17 11月号(日本評論社)」に掲
載されている旨ご教示いただいたので、紹介したいと思います。(平成29年12月1日付け)

 松江市の今田敏朗さんによる証明です。IT さんにより一部表現等を変えてあります。

命題  実数全体R上で定義された実数値関数f(x)が、任意の実数a、b、c、dについて、

     a-b>c-d ならば、 f(a)-f(b)>f(c)-f(d) ・・・(A)

  を満たすならば、f(x)は、一次関数である。


(証明) 条件(A)はf(x)に定数を加えても成り立つので、f(0)=0 と仮定しても一般性を失わな
    い。

 条件(A)において、b=d とおけば、f(x)は狭義単調増加であることが分かる。特に、f(1)>0。

・ f(x) が連続関数であることを示す。

 任意のε>0に対して、ε≧f(1)/n なる自然数nが取れる。

 f(1)=k=1〜n (f(k/n)-f((k-1)/n)) …(1) において、f(x)の狭義単調増加性から右辺の和

の各項はすべて正なので、少なくとも1つはf(1)/n 以下である。

 (A)から、0<δ<1/n なる任意の実数δと任意の実数xについて、

 0<f(x+δ)-f(x)<f(1)/n≦ε より、f(x)はR上で連続。

・ a-b=c-d ならば、f(a)-f(b)=f(c)-f(d)である …(2) ことを示す。

 a-b=c-d のとき、任意のε>0について、(c-ε)-d<a-b<(c+ε)-d

 条件(A)から、f(c-ε)-f(d)<f(a)-f(b)<f(c+ε)-f(d)

 ε→0 とすると、f(x)の連続性より、f(a)-f(b)=f(c)-f(d) である。

 特に、f(x)-f(0)=f(0)-f(-x) より、f(-x)=-f(x) となる。

・ (2)より、(1)の右辺の各項は等しいので、f(1)=nf(1/n) である。

・ 任意の自然数 m、n 対して、

 f(m/n)=k=1〜m (f(k/n)-f((k-1)/n))=m[f(1/n)-f(0/n)]=f(1)(m/n) となる。

 つまり、x が正の有理数ならば、f(x)=f(1)x である。

 f(-x)=-f(x) なので、これは x が負の有理数でも成り立つ。

 f(x)は連続関数なので、任意の実数xについて、f(x)=f(1)x が成り立つ。  (証終)


(コメント) 冒頭の問題が約5年ぶりに肯定的に解決されたということで大変嬉しく思います。
      ITさん、今田さんに感謝します。



  以下、工事中!