As far as I understand, I cannot define the values of built-in functions: Sin[Cat] := Dog
will result in error.
This is because all built-in symbols have attribute Protected
.
However for the function N[]
, which is also protected, I can define a custom value:
N[Cat] := Dog
By the way, doing so will not change DownValues[N]
.
So the question is: why function N[]
behaves like that? Is it just some hard-coded rule, which is not described in terms of attributes, downvalues etc.?
NValues
. $\endgroup$