4
$\begingroup$

I am trying to understand why

FullSimplify[x^a < 1, {0 < x^a < 1}]

does not simplify but

FullSimplify[x^a < 1, {0 < x^a && x^a < 1}]

does (returning True).

I am used to write my upper and lower variable bounds as one entry in the $Assumptions variable, and keep getting frustrated that Simplify doesn't perform seemingly obvious algebra manipulations. Is it possible that the fix is simply to use a single binary operator in each entry?

Note: My question may be related to this question on intervals. However, since I am not using the Interval function, I'm not sure -- but if 0 < x^a < 1 automatically defaults to Element[x^a,Interval[{0,1}]], then pointing that out would already be sufficient.

$\endgroup$
  • 1
    $\begingroup$ 0 < x^a < 1 // FullForm yields Less[0, Power[x, a], 1], so I don't think that Interval is the problem. $\endgroup$ – march Feb 20 at 16:42
-2
$\begingroup$

This is a question that Wolfram Inc. is targeting with the new instant help concept.

After You entered with Shift+Return Your expression an intermediate support bar is displayed beneath the output cell. In Your case:

support bar

The button on the support bar suggest

  • solve for x
  • find instance
  • solve for arbitrary(x)
  • get the answer with Wolfram Alpha
  • make a suggestion

This support interprets Your input and resolves in Your case, that you are possibly inconvenient with Mathematicas answer.

The problem is indeed thereby not covered with Your intends from the next input.

A general-purpose behavior of people used to the older version of Mathematica was that was nowadays is done with the i icon on the mouseover event on the input Mathematica built-in command.

Make use of the Mathematica help for FullSimplify.

The first information is:

FullSimplify[expr]

tries a wide range of transformations on expr involving elementary and special functions and returns the simplest form it finds.

So the simplest form of Your intended second input is True. That is too trivial for Mathematica - no.

Mathematica assumes You are firm with the use of mathematics and know what a function definition takes in general whether elementary or special.

So Your extra effort is to specialize Your input function with the information on what definition region Your input function really exists. Enter for example

Element[a | x, Integers]

and it again does not work better.

The built-in function probable matching Your needs better is

FunctionRange[x^a, {x, a}, z]

The answer is somehow positive reals. Your inequality is not taken by that function.

But You got a lower bound zero.

So an even better match is

Solve[x^a == 1, {x, a} \[Element] Reals]

{{a -> ConditionalExpression[0, x \[Element] Reals]}, {x -> 
   ConditionalExpression[-1, a/2 \[Element] Integers]}, {x -> 
   ConditionalExpression[1, a \[Element] Reals]}}

This means, if a=0 then x is real and the equation is satisfied, so no solution to the given inequality, x has two solutions one if a/2 is an integer and two a is real.

No inverse function expression is given by this.

You need

InverseFunction[x^a]

That returns the input and means that no closed expression for the input exists. You have to do the case differentiation Yourself. For example for a equals 1, 2 and so one.

Same is for the Log[x,a]. There is no inverse general function.

But

FullSimplify[Exp[Log[x]]]

gives x as a result.

Another expression is

b^Log[b, x]

That again is x for every b. This is found in the help page for Log.

So Your step for a result is, take the logarithm:

FunctionExpand[Log[x^a], x > 0 && a \[Element] Reals]

than Your inequality reduces to

a Log[x]<0

Log@1=0. Then the built-in function Reduce

Reduce[a Log[x] < 0]

The result is

(Log[x] < 0 && a > 0) || (Log[x] > 0 && a < 0)

And that is what Your intend was for! It implicitly took into account that take the logarithm preserves the order of the inequality. No further discussion is needed. It assumes on the other hand implicitly that both x and a are reals.

FunctionDomain[Log[x], x]

is

   x>0



   FunctionRange[Log[x], x, y, Reals]

is

   True

So Mathematica can not improve Your personal mathematics beyond certain limits. It is optimized for a closed solution and does not help further if they not exist. The logarithm, potential function, and exponents are such a mathematical area where personal knowledge is very important.

There are several solution strategies around to solve this kind of inequalities properly in all possible situations. Your question named the variables x and a ant that is one major key finding some on the internet. This one solved now.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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