I have met this problem and I do not know how to get rid of it. The problem is the following. I have defined a function h as sum of two functions f and g as follows:
h[x_, y_] := f[x, y] + g[x, y];
then, I have assumed that h is identically zero, that is,
$Assumptions = h[x_, y_] == 0;
Then, if I choose the variables, for instance,
Simplify[h[x_, y_] /. x -> z];
The output I obtain is
However, if I write
Simplify[(h[x_, y_] /. x -> z) + 3]
then the output is
3 + f[z_, y_] + g[z_, y_]
but I want 3 instead. In other words, I would like that any time the function h appears it is considered as equal to zero independently from the choice of the variables.
I really cannot understand why it does not work. I hope that someone can help me fix this. Thank you in advance!