Message Boards Message Boards

[✓] Find the sets of numbers for which these identities hold validly?


Here are four identities that are true when the variable-domains are sufficiently restricted; but Mathematica doesn't evaluate them to "True", because they are not true when some variables take on complex or negative values:

In[1]:= a^x*b^x == (a*b)^x

Out[1]= a^x b^x == (a b)^x

In[2]:= (a^x)^y == a^(x*y)

Out[2]= (a^x)^y == a^(x y)

In[3]:= n*Log[x] == Log[x^n]

Out[3]= n Log[x] == Log[x^n]

In[4]:= Log[x] + Log[y] == Log[x*y]

Out[4]= Log[x] + Log[y] == Log[x y]

How can I ask Mathematica to tell me the exact conditions which make the identities valid? For which values are the identities true?

(I could solve this problem with enough thought or research, but I'm still curious how to ask Mathematica, in case I want to make similar queries about less common identities.)


POSTED BY: Joe Donaldson
10 months ago

Reduce[] will do what you want. You can specify the domain as well. For example:

In[5]:= Reduce[n Log[x] == Log[x^n], Reals]

Out[5]= x > 0

In[4]:= Reduce[a^x*b^x == (a*b)^x]

Out[4]= ((a b)^x == 0 && b^x == 0) || (b^x != 0 && 
   a^x == b^-x (a b)^x)
POSTED BY: Neil Singer
10 months ago

Thank you. Trying the documented form of Reduce, with "vars" as the 2nd argument, it leaves these forms unevaluated:

In[2]:= Reduce[(a^x)^y == a^(x*y), {}]

Out[2]= a^(x y) == (a^x)^y

In[3]:= Reduce[Log[x] + Log[y] == Log[x*y], {}]

Out[3]= Log[x] == -Log[y] + Log[x y]

On this query, Reduce, has been running for 10 minutes so far, with no result yet:

Reduce[n*Log[x] == Log[x^n], {}]

So Reduce doesn't seem to be generally useful for this type of problem, in my opinion.

In the case where Reduce did provide an answer,

Out[4]= ((a b)^x == 0 && b^x == 0) || (b^x != 0 && a^x == b^-x (a b)^x)

the more general side of the disjunction is

b^x != 0 && a^x == b^-x (a b)^x

which is equivalent by a simple transformation to

b^x != 0 && a^x*b^x == (a b)^x

I suppose in hindsight, I'm looking for a different form of answer, which would more explicitly tell me the ranges required for the variables to make the identity valid. This answer is less explicit, as its form is so close to the original question.

POSTED BY: Joe Donaldson
10 months ago

Group Abstract Group Abstract