Why does the following not work!
Expand[Evaluate[(Sqrt[(m1 - m2 - m3) (m1 + m2 - m3)]),
Assumptions -> {m1 > 0 && m2 > 0 && m3 > 0}]] //.
Thread[{{m1, m2} -> {a, b}}]
I want both replacement and expansion like: m1*m2... etc
Edited:
(Sqrt[(m1 - m2 - m3) (m1 + m2 - m3)]) //
ExpandAll //. Thread[{{m1, m2} -> {a, b}}]
Even this replacement does not work.

Evaluate. (3) What do you even want to get as a result? (4) Take a look atExpandAll. $\endgroup$Assumptions, so there's no point in forcing it in there.) (5) You might want the last bit to beThread[{m1, m2} -> {a, b}]. $\endgroup$