1
$\begingroup$

Mathematica doesn't seem to have any problem with these commands:

Simplify[x y, x == 0 && y == 0] Simplify[x y, x == 0 && y == 10] Simplify[x y, x == 1 && y == 5] 

But when it comes to this command:

Simplify[x y, x == 0 \[Or] y == 0] 

it just returns xy back. I know that for general cases like Simplify[x y, x == 5 \[Or] y == -8] there isn't any good simplification. Even so, an output like 5y||-8x can be returned. (Please tell if there's any command to do so). But for the command Simplify[x y, x == 0 \[Or] y == 0], the result is pretty obvious which is zero.

I want to know if there's any method to get the output as zero directly. Also, I don't want an output like {0,0} doing the substitutions alternately.

Thank You.

$\endgroup$
4
  • $\begingroup$ Previously: mathematica.stackexchange.com/questions/256211/… $\endgroup$ Commented Sep 29, 2021 at 13:45
  • $\begingroup$ @Syed I was about to add the link here in the comments. Thanks. I'm afraid this will be marked as duplicate and will get closed, but I haven't got any helpful answer for the previous question either. $\endgroup$ Commented Sep 29, 2021 at 13:46
  • $\begingroup$ maybe something like: ClearAll[or]; or /: Refine[a_, or[b__]] := Or @@ (Refine[a, #] & /@ {b}); Refine[x y, or[x == 5, y == -8]]? $\endgroup$ Commented Sep 29, 2021 at 14:22
  • $\begingroup$ @kglr Thanks. It does work but isn't there some inbuilt method which works just like your new modified Refine command? Also, ClearAll[or]; or /: Refine[a_, or[b__]] := Or @@ (Refine[a, #] & /@ {b}); Refine[x y, or[x == 0, y == -0]] returns 0||0 whereas I wanted it simplified to 0 only. $\endgroup$ Commented Sep 29, 2021 at 16:33

1 Answer 1

2
$\begingroup$

One idea is to use FunctionRange:

FunctionRange[{x y, x == 0 || y == 0}, {x, y}, z] 

z == 0

$\endgroup$
2
  • $\begingroup$ I don't know why this doesn't work on my pc. Is it not supported in Mathematica 9.0? Also, I couldn't find this in documentation centre. $\endgroup$ Commented Oct 1, 2021 at 8:51
  • 1
    $\begingroup$ @AmanKushwaha FunctionRange is new in M10. $\endgroup$ Commented Oct 1, 2021 at 18:50

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.