0
$\begingroup$

How to find out when an inequality is always true in a given domain? I give an example below.

I would want to find $b(a)$ such that the following is always true:

$\quad~x + a > bx$, where $0 < x < 1$, $a > 0$, $b > 0$

The answer is obviously $b \le a + 1$ but I could not find it with SolveAlways which is seemingly limited to equalities.

Reduce[x + a > b*x && a > 0 && b > 0 && 0 < x < 1, {b}] gives the following:

                              a + x
a > 0 && 0 < x < 1 && 0 < b < -----
                                x

Reduce[x + a > b*x && a > 0 && b > 0 && 0 < x < 1, {x}]:

                                                                   a
a > 0 && ((0 < b <= 1 + a && 0 < x < 1) || (b > 1 + a && 0 < x < ------))
                                                                 -1 + b

in this particular case happens to gives the solution but only as an embedded fragment.

The following Simplify[Reduce[x + a > b*x], Assumptions -> a > 0 && b > 0 && 0 < x < 1] yields $a + x > b x$.

I also tried SolveAlways[{x + a > b*x, a > 0, b > 0, 0 < x < 1}, x], SolveAlways[x + a > b*x && a > 0 && b > 0 && 0 < x < 1}, x], Eliminate, various applications of Assuming. I never obtained $b(a)$, however.

$\endgroup$
2
  • 2
    $\begingroup$ Why do you think "The answer is obviously b≤a+1"? Reduce[ForAll[{x, a}, 0 < x && x < 1 && a > 0 && b > 0, x + a > b*x ], b, Reals] produces b<1. $\endgroup$
    – user64494
    Commented Jun 29, 2022 at 15:55
  • 3
    $\begingroup$ I think, since the OP wants to find b as a function of a, b(a), means b and a are regarded variable, he wants it to be valid for all x. Then Reduce[ForAll[x, 0 < x && x < 1, x + a > b*x] && a > 0 && b > 0, b, Reals] yields the result b <= 1 + a $\endgroup$
    – Akku14
    Commented Jun 29, 2022 at 17:02

1 Answer 1

1
$\begingroup$

Another way than proposed in the comments is as follows.

Reduce[Minimize[{x + a - b*x, x > 0 && x < 1 && a > 0 && b > 0}, 
 x][[1]] >= 0 && a > 0 && b > 0]

a > 0 && 0 < b <= 1 + a

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.