やることは実に単純なんだけれども、書くとなるとずいぶん長くなっちゃいます。
自然数を{0,1,2,…}としましょう。
● n個の自然数の列<a[1], a[2], …, a[n]>の集合をAとします。
● a∈Aについて
S(a) = a[1]+a[2]+ … +a[n]
M(a) = a[1]×a[2]× … ×a[n]
と書くことにします。
● 「S(a)=NとなるaのうちでM(a)が最大であるようなaの集合」をL(N)と書く事にします。つまり、
a∈L(N) ⇔ (S(a)=N ∧ ∀b((b∈A ∧ S(b)=N) → M(a)≧M(b))
ってことです。
L(N)≠φ
は自明です。
ところで、n=1の場合には「分ける」ったって分けようがありません。また、N<n のときは、S(a)=NならばM(a)=0。aの作り方と関係ありません。だからN≧n, n≧2のときだけが問題になります。
[1] 補題1:
N = mn + r (m≧1, n>r≧0, n≧2) のとき、a∈L(N) → (S(a)=N ∧ ∀j(a[j]≧1) ∧ M(a)>0)
なぜなら、
S(b)=NかつM(b)≧1となるbが存在する。(∵N≧nなので、全てのjについてb[j]≧1となるようにbを選べるから。)従って、a∈L(N) とすると、M(a)≧M(b)>0である。
一方もしa[j]=0となるjがひとつでもあればM(a)=0になってしまう。だから∀j(a[j]≧1)。
[2] さて、証明したいのは、次の命題です:
Q(N): N = mn + r (m≧1, n>r≧0) のとき、
a∈L(N) ⇔ (S(a)=N ∧ ∀j(m+1≧a[j]≧m))
である。
これをN≧n(n≧2)について、Nに関する帰納法で証明します。
(1)N=n(n≧2)のとき。
m=1, r=0です。
明らかに
a∈L(N) ⇔ S(a)=N ∧ ∀j(a[j]=1)
であるから、Q(n)は真です。
(2) N>n(n≧2)のとき
N = mn + r (m≧1, n>r≧0)です。
命題Q(N-1)が真であると仮定します。
L(N-1)の要素を一つ選んでg(g∈L(N-1))とします。すると命題Q(N-1)によりS(g)=N-1であって、しかも
m+1≧g[j]≧m (j=1,2,…,n)
です。つまりg[1], g[2], …, g[n]のうち、
(イ) n>r>0の場合(N≧mn+1)には、r-1個がm+1、n-r+1個がm、
(ロ) r=0の場合(N=mn)には、n-1個がm、1個がm-1
になっています。
ところでn≧2なので、(イ)(ロ)のどちらであってもg[i]=mであるようなiが存在します。そこで、
h[i] = m+1 (=g[i]+1)
h[j] = g[j] (j≠i)
である列hを作ることができ、このhは
S(h) = N
M(h) = M(g)(m+1)/m
を満たします。
さて、aをL(N) の任意の要素(a∈L(N))とします。
(2-1) a∈L(N) → (S(a)=N ∧∀j(m+1≧a[j]≧m)) を証明します。
(2-1-1) a∈L(N) → S(a)=N
これはL(N)の定義から明らかです。
(2-1-2) a∈L(N) → ∀j(m+1≧a[j]) を証明します。
任意のk∈{1,2,…,n}について、(補題1によりa[k]≧1なので)
b[k] = a[k]-1
b[j] = a[j] (j≠k)
である列bを作ると、
S(b) = N-1
M(b) = M(a)b[k]/a[k]
となります。
ところでM(g)≧M(b)(∵M(g)∈L(N-1))だから
M(g)≧M(a)b[k]/a[k]
すなわち
M(g)≧M(a)(a[k]-1)/a[k]
が成り立っています。
また、M(a)≧M(h) (∵M(a)∈L(N))だから
M(a)≧M(g)(m+1)/m
が成り立っています。つまり
M(g)≧M(g)((m+1)(a[k]-1)/(a[k] m)
です。補題1によりM(g)>0, a[k]>0、そしてm>0であることを使って移項して整理すれば
m+1≧a[k]
つまり∀k∈{1,2,…,n}についてm+1≧a[k]であることが証明できました。
(2-1-3) a∈L(N) → ∀j(a[j]≧m))を背理法で証明します。
a[u]<m
であるようなu∈{1,2,…,n}が存在したと仮定します。すると
S(a)≧mn
であるから、少なくともひとつ
a[v]>m
であるようなv∈{1,2,…,n}が存在しなくてはなりませんが、∀k(m+1≧a[k])なのだから、
a[v] = m+1
です。
そこで、
c[u] = a[u]+1
c[v] = a[v]-1 (= m)
c[j] = a[j] (jがu,v以外のとき)
によって新しい列cを作ると、
S(c)=N
M(c) = M(a)m(a[u]+1)/(a[u](m+1))
です。また、a∈L(N)だから
M(a)≧M(c)
従って、
1≧m(a[u]+1)/(a[u](m+1))
でなくてはなりません。整理すると
a[u]≧m
となって、これは仮定(a[u]<m)と矛盾します。
だから、仮定は誤りである。つまり、∀j∈{1,2,…,n}について(a[j]≧m)が証明されました。
以上で、
a∈L(N) → S(a)=N ∧∀j(m+1≧a[j]≧m)
が証明できました。
(2-2) (S(a)=N ∧∀j(m+1≧a[j]≧m))→ a∈L(N) を証明します。
これは簡単です。
S(a)=N ∧∀j(m+1≧a[j]≧m)
のとき、N=mn+rであるから、a[1],a[2],…,a[n]のうちr個がm+1、残りがmです。従って、
(S(a)=N ∧∀j(m+1≧a[j]≧m)) → M(a)=((m+1)^r)(m^(n-r))
です。一方
a∈L(N) → S(a)=N ∧∀j(m+1≧a[j]≧m)
であるから
a∈L(N) → M(a)=((m+1)^r)(m^(n-r))
です。このM(a)をL(N)の定義に代入すれば
∀b(S(b)=N → M(b)≦((m+1)^r)(m^(n-r)))
であるから、
(S(a)=N ∧ M(a)=((m+1)^r)(m^(n-r))) → a∈L(N)
よって
(S(a)=N ∧∀j(m+1≧a[j]≧m)) → a∈L(N)
です。
(2-1)(2-2)によって、Q(N-1)→Q(N) が証明できました。
(3)かくて帰納法により、N≧nであるような全ての自然数Nについて命題Q(N)が証明できたことになります。
Q.E.D.
補足
早速のお返事ありがとうございます。 a_1=a_2=…=a_(k-1)までは仮定から成り立たせて、 a_kを動かすとなる時、a_k=x とおいても、a_1=a_2=…=a_(k-1)=x とおいてもどうもうまくいかないのですが…申し訳ありません…(涙)