無作為抽出した場合、このm部分集合に特定の要素が属する確率を数学的に求めるとm/n(※)なので、すべての要素に対して、部分集合に属する確率がm/nであれば証明ができることになります。
(※)全パターンはnCm、特定の要素(xとする)が属するパターンは、xを除いた(n-1)個から、xとともに属する(m-1)個を選ぶ組み合わせに等しいので、(n-1)C(m-1)=(m/n)×nCm。よって確率は{(m/n)×nCm}/nCm = m/n
再帰の繰り返しにより、(0, n-m)に到達し、これは空集合を返します。そして(1, n-m+1)から要素の選定が始まります。これから、n-m+1以下の要素aについては、RANDOMでaが1回でも選ばれれば部分集合に入ります。この確率を直に求めるのは難しいので、「aが1回も選ばれない」確率を求めます。
(1, n-m+1)の時、aが選ばれない確率は(n-m)/(n-m+1)
(2, n-m+2)の時、aが選ばれない確率は(n-m+1)/(n-m+2)
(3, n-m+3)の時、aが選ばれない確率は(n-m+2)/(n-m+3)
…
(m-1, n-1)の時、aが選ばれない確率は(n-2)/(n-1)
(m, n)の時、aが選ばれない確率は(n-1)/n
ここで再帰が終了します。aが1回も選ばれない確率は、これらの確率をすべて掛けて(n-m)/nとなります。
したがって、aが1回以上選ばれる確率は、1-(n-m)/n = m/nとなります。
n-m+2以上の要素bについては、b=n-m+1+iとしたとき、(i, b-1)までに選ばれることはありませんが、(i+1, b)のときだけは、RANDOMでb自身が選ばれるときだけではなく、それまでに選んだi個の要素のいずれかが選ばれたときに、部分集合に入ります。したがって、先ほどと同様にbが1回も選ばれない確率を考えると、
(i+1, b)の時、bが選ばれない確率は(b-i-1)/b
(i+2, b+1)の時、bが選ばれない確率はb/(b+1)
(i+3, b+2)の時、bが選ばれない確率は(b+1)/(b+2)
…
(m-1, n-1)の時、bが選ばれない確率は(n-2)/(n-1)
(m, n)の時、bが選ばれない確率は(n-1)/n
ここで再帰が終了します。bが1回も選ばれない確率は、これらの確率をすべて掛けて(b-i-1)/nとなります。b=n-m+1+iなので、この確率は(n-m)/nです。
したがって、bが部分集合に入る確率は、1-(n-m)/n = m/nとなります。
以上より、どの要素も部分集合に入る確率がm/nであることが示せました。
直感的には、番号が後の方は最初に選ばれるチャンスがない代わりに、あとで大きなチャンスがあるために釣り合っている、といった感じでしょうか。