# Using Mathematica to confirm Bernoulli's inequality

I have several challenges that I want to confirm is true. I have chosen this one because it is rather simple (proof by induction). There are times when I do not want to spend ages trying find proofs. Especially in cases that are a lot more difficult than this one. I am simply wondering what I have done wrong and how I should go about testing inequalities in Mathematica?

Assuming[x \[Element] Reals && x > -1 && x != 0 &&
n \[Element] Integers && n > 1, (1 + x)^n > 1 + n x // Reduce]

• Reduce doesn't seem to be able to prove this. But one thing you have to change is the placement of the assumptions: they don't have any effect on Reduce the way you use them. See Inequalities with assumptions and constraints for the explanation. – Jens Mar 20 '15 at 4:50

Since Reduce doesn't seem to like the inequality, I tried FullSimplify with Assumptions instead. This works in three steps:

differenceByTerm =
SeriesCoefficient[(1 + x)^n - (1 + n x), {x, 0, m}]


$$\cases{ 0 & m=0 \\ \binom{n}{m} & m>1 \\ 0 & \text{True} \\ }$$

FullSimplify[
differenceByTerm >= 0,
Assumptions -> n > 1 && {m, n} \[Element] Integers && n >= m > 1]

(* ==> True *)

FullSimplify[
differenceByTerm >= 0,
Assumptions -> n > 1 && {m, n} \[Element] Integers && m > n]

(* ==> True *)


So I did the comparison of the two sides term by term in an expansion in powers of x. This is doable because SeriesCoefficient, unlike Coefficient, allows symbolic powers. So the result differenceByTerm is a function of the degree n of the polynomial, and the power m in the expansion. It's a case distinction, where the True entry refers to the special case m==1.

Finally, I have to test whether this difference is larger or equal to zero. This is a little easier than the strict inequality in the original question.

But FullSimplify only manages to decide this if I treat the cases $m>n$ and $m\le n$ separately. In both cases, the result is True, so the statement is proved.

• Very nice, +1, and thx for reminder in your comment re: assumptions – ciao Mar 20 '15 at 6:47
• @Jens: very interesting. But I find my proof is more elementary. Don't know why it was ignored completely up to now :-( – Dr. Wolfgang Hintze Mar 20 '15 at 20:45
• @Dr.WolfgangHintze The inductive proof is standard material, but the question didn't ask for a standard proof. Instead, it wanted a Mathematica approach to confirming the relation. It's perhaps ambiguous what "confirming" means, but apparently my interpretation led to something that's clearer than the inductive proof. – Jens Mar 20 '15 at 21:22
• @Jens: Both our proof consist of two parts (1) technical preparation using "standard material" (2) proof using Mathematica methods. (1) Jens = series development, Wolfgang = recursion (2) Jens = Simplify with type assignments, Wolfgang = simplify of recursion. Hence I don't see any principal difference, and it seems to be a matter of taste which proof is preferred. Notice again, however, that my proof works also for general n>1, which IMHO gives it a slight advantage. – Dr. Wolfgang Hintze Mar 22 '15 at 9:50
• @Dr.WolfgangHintze I agree, it'a a matter of taste. But before you posted your answer, someone else also posted an inductive proof. That person then deleted the answer soon after. It was probably not up long enough for you to notice it, but that prompted me to look for an alternative proof. – Jens Mar 22 '15 at 15:41

Here's an inductive proof:

Defining the function

f[n_] := (1 + x)^n - (1 + n x)


we have to prove that f[n] > 0 for n > 1 and x > -1.

Now we observe that for f[n] we have the identity

Simplify[f[n + 1] == (1 + x) f[n] + n x^2]

(*
True
*)


It is obvious "by eye" that f[n] > 0 because there are only positive quantities involved on the right hand side.

It is easily proved formally that the expression for a similar function g[n+1] is positive provided g[n] is:

Simplify[(1 + x) g[n] + n x^2 > 0, {x > -1, n > 1, g[n] > 0}]

(*
Out[2]= True
*)


Notice that the proof holds for real n > 1, so that it is more general than requested in the OP.

Remark 1

RSolving the recursion eq1 = g[n + 1] == (1 + x) g[n] + n x^2 with g[1] = 0 brings us back to f[n] and is therefore of no use.

Remark 2

RSolving the modified recursion

eq2 = h[n + 1] == (1 + x) h[n];


with

h[2] == x^2


gives

h[n] = x^2 (1 + x)^(-2 + n) for n >= 2


which Mathematica recognizes to be positive:

Simplify[x^2 (1 + x)^(-2 + n) > 0, {x > 0, n > 0}]

(*
Out[1]= True
*)


If we could prove that h[n] is smaller than f[n] we are done because h > 0. But I haven't found that proof.