My understanding is that `Reduce`

gives all conditions (using or) where the input is true.

Now, $ \sqrt{xy} = \sqrt x \sqrt y $ , where $ x,y$ are **real**, under the following three conditions/cases

$ $

\begin{align*}

x\geq 0,y\geq0\

x\geq0,y\leq0\

x\leq0,y\geq 0 \

\end{align*}

$ $

but not when $ x<0,y<0$

This is verified by doing

```
ClearAll[x,y]
Assuming[Element[{x,y},Reals]&&x>= 0&&y<= 0,Simplify[ Sqrt[x*y] - Sqrt[x]*Sqrt[y]]]
Assuming[Element[{x,y},Reals]&&x<= 0&&y>= 0,Simplify[ Sqrt[x*y] - Sqrt[x]*Sqrt[y]]]
Assuming[Element[{x,y},Reals]&&x<= 0&&y>= 0,Simplify[ Sqrt[x*y] - Sqrt[x]*Sqrt[y]]]
Assuming[Element[{x,y},Reals]&&x<= 0&&y<= 0,Simplify[ Sqrt[x*y] - Sqrt[x]*Sqrt[y]]]
```

Then why does

```
Reduce[ Sqrt[x*y] - Sqrt[x]*Sqrt[y]==0,{x,y},Reals]
```

Give only one of the 3 cases above?

Is my understanding of `Reduce`

wrong or should `Reduce`

have given the other two cases?

V 12 on windows.