(* ========================================================================= *) (* Arithmetic-geometric mean inequality. *) (* ========================================================================= *) needs "Library/products.ml";; prioritize_real();; (* ------------------------------------------------------------------------- *) (* Various trivial lemmas. *) (* ------------------------------------------------------------------------- *)let SUM_SPLIT_2 =prove (`sum(1..2*n) f = sum(1..n) f + sum(n+1..2*n) f`,(* ------------------------------------------------------------------------- *) (* Specialized induction principle. *) (* ------------------------------------------------------------------------- *)let PRODUCT_SPLIT_2 =prove (`product(1..2*n) f = product(1..n) f * product(n+1..2*n) f`,(* ------------------------------------------------------------------------- *) (* The main result. *) (* ------------------------------------------------------------------------- *)let CAUCHY_INDUCT =prove (`!P. P 2 /\ (!n. P n ==> P(2 * n)) /\ (!n. P(n + 1) ==> P n) ==> !n. P n`,