Problem with Simplify, Sqrt, and Set: What's going on?
Probably some internal weirdness with the ComplexityFunction, but:
Simplify[Sqrt[1/(a + b c d e )] Sqrt[a + b c d e ]==1] // PowerExpand
Simplify[1 == Sqrt[a + b*c*d*e] Sqrt[1/(a + b*c*d*e)], x4 > 0] // PowerExpand
(*
True
True
*)
The cases involving
x0
,x1
,x2
,x3
will all simplify, but thex4
case will not.
What's going on here?
Simplify[1 == Sqrt[a + b*c*d*e] Sqrt[1/(a + b*c*d*e)], x4 > 0]
Sqrt[1/(a + b c d e)] Sqrt[a + b c d e] == 1
With x4
added, you have one too many variables for the assumptions to work. Maximum number of variables in non-linear expressions for the assumptions to be processed in Simplify
and FullSimplify
is 4
(the value of "AssumptionsMaxNonlinearVariables"
sub-option of the system option "SimplificationOptions"
)
"SimplificationOptions" /. SystemOptions["SimplificationOptions"]
"AssumptionsMaxNonlinearVariables" -> 4,
"AssumptionsMaxVariables" -> 21, "AutosimplifyTrigs" -> True,
"AutosimplifyTwoArgumentLog" -> True, "FiniteSumMaxTerms" -> 30,
"FunctionExpandMaxSteps" -> 15, "ListableFirst" -> True,
"RestartELProver" -> False, "SimplifyMaxExponents" -> 100,
"SimplifyToPiecewise" -> True}
You can reset this sub-option value to a large enough number
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 10}];
Simplify[1 == Sqrt[a + b*c*d*e] Sqrt[1/(a + b*c*d*e)], x4 > 0]
True
Related Q/As:
- Evaluating an Inequality
- Simplifying expressions with head Max
- Using Inequality Assumptions)