最小値を返す関数 min, 最大値を返す関数 max には次の法則が成り立つ。
min (x1 + x2 , y1 + y2) ≧ min (x1 , y1) + min (x2 , y2)
max (x1 + x2 , y1 + y2) ≦ max (x1 , y1) + max (x2 , y2)
min (x1 + x2 , y1 + y2) ≧ min (x1 , y1) + min (x2 , y2) について証明する。
(左辺) = s1 = min (x1 + x2 , y1 + y2)
(右辺) = s2 = min (x1 , y1) + min (x2 , y2)
と置く。x1, y1 と x2, y2 の大小関係で場合分けする。
x1 ≦ y1 の場合 | x1 > y1 の場合 | |
---|---|---|
x2 ≦ y2 の場合 |
x1 + x2 ≦ y1 + y2 が成り立つので、 s1 = min (x1 + x2 , y1 + y2) = x1 + x2 s2 = min (x1 , y1) + min (x2 , y2) = x1 + x2 よって、s1 = s2 |
s2 = min (x1 , y1) + min (x2 , y2) = x2 + y1 さらに場合分けする。 ① x1 + x2 ≦ y1 + y2 の場合 s1 = min (x1 + x2 , y1 + y2) = x1 + x2 s1 - s2 = x1 + x2 - (x2 + y1) = x1 - y1 > 0 よって、s1 > s2 ②x1 + x2 > y1 + y2 の場合 s1 = min (x1 + x2 , y1 + y2) = y1 + y2 s1 - s2 = y1 + y2 - (x2 + y1) = y2 - x2 ≧ 0 よって、s1 ≧ s2 |
x2 > y2 の場合 |
s2 = min (x1 , y1) + min (x2 , y2) = x1 + y2 さらに場合分けする。 ① x1 + x2 ≦ y1 + y2 の場合 s1 = min (x1 + x2 , y1 + y2) = x1 + x2 s1 - s2 = x1 + x2 - (x1 + y2) = x2 - y2 > 0 よって、s1 > s2 ②x1 + x2 > y1 + y2 の場合 s1 = min (x1 + x2 , y1 + y2) = y1 + y2 s1 - s2 = y1 + y2 - (x1 + y2) = y1 - x1 ≧ 0 よって、s1 ≧ s2 |
x1 + x2 > y1 + y2 が成り立つので、 s1 = min (x1 + x2 , y1 + y2) = y1 + y2 s2 = min (x1 , y1) + min (x2 , y2) = y1 + y2 よって、s1 = s2 |
よって、包括すると s1 ≧ s2 が成り立つ。
min (Σ xi , Σ yi) ≧ Σ min (xi , yi)
max (Σ xi , Σ yi) ≦ Σ max (xi , yi)
証明は 変数が 2個の場合を用いて漸化的にできる。