# Expression simplification

I have this term

Sqrt[(B Bc)/(A^2-B Bc)]Sqrt[B Bc+A(-A+Sqrt[A^2-B Bc])]Sqrt[-B Bc+A(A + Sqrt[A^2-B Bc])],


which actually can be simplified to B*Bc. However, it seems Mathematica cannot simplify it. Any suggestions on how I'd be able to do that? Thanks.

\$Version

"12.1.1 for Mac OS X x86 (64-bit) (June 19, 2020)"

Clear["Global*"]

expr = Sqrt[(B Bc)/(A^2 - B Bc)] Sqrt[
B Bc + A (-A + Sqrt[A^2 - B Bc])] Sqrt[-B Bc + A (A + Sqrt[A^2 - B Bc])];


Require all of the arguments of Sqrt to be positive

cons = FullSimplify[And @@ Cases[expr, Sqrt[z_] :> (z > 0), Infinity]]

(* B Bc + A Sqrt[A^2 - B Bc] > A^2 *)

Simplify[expr, cons]

(* B Bc *)

• It is better to use cons=Reduce[Cases[y, Sqrt[z_] :> (z > 0), Infinity]] yielding a > 0 && 0 < b < a^2. The FullSimplify produces a spurious wrong condition a == 0 && b > 0, which upon use in Simplify yields -b. Notice, that I replace A->a and B Bc ->b. Another way to see an issue with your method is to realize that cons produced by FullSimplify contains Sqrt the argument of which also needs to be tested for positivity. – yarchik Oct 25 '20 at 12:31

Here is why:

y=Sqrt[a (a+Sqrt[a^2-b])-b] Sqrt[a (-a+Sqrt[a^2-b])+b] Sqrt[b/(a^2-b)]
FullSimplify[y,Assumptions->a>0&&b>0&&a^2-b>0]
(*b*)

Plot[{y/.{b->-1},y/.{b->1}},{a,-2,2},
PlotTheme->{"BoldColor","Frame"},
PlotLegends->{-1,1},
PlotStyle->{Thickness[0.03],Directive[Thickness[0.01]]}]
`