A definition of mathematical expression that can distinguish between expressions that denote the same object I asked a similar question on philosophy stack exchange, but was told to ask it here. In an elementary school math class, we sometimes are asked "What is 2+3?". It would be marked wrong if we simply wrote "2+3". What the teacher is after is a certain mathematical expression. To formalize this idea, we need a definition of mathematical expression that can distinguish even between two expressions that denote the same object. Is there such a definition somewhere, perhaps in some computer science textbook?
 A: I think at a fundamental level, your confusion comes from definitions of mappings. Take your example of addition. Then we could more formally create a mapping:
$$
\phi : \mathbb{N}\times \mathbb{N}\to \mathbb{N}
$$
given by
$$
\phi(a,b) = a+b
$$
now - as with your example - you could ask "what is ${\phi(2,3)}$?", and someone could keep answering over and over again "well it's just ${\phi(2,3)}$", and they would of course be right. But this still hasn't given an explicit definition of ${\phi(2,3)}$. This answer is as about helpful as saying nothing.
You could say "well, doesn't this mean we are missing something? Shouldn't we make some sort of new definitions to avoid these nonsense answers?" and I would argue no. To explain why, think of the following: when we define addition, do we literally define the answer to every possible addition? No, of course not. It's impossible, we only have finite amounts of time. So really you could say we have actually never explicitly defined the map ${\phi(a,b)}$ - we have only ever written down rules that, given any two specific inputs, allow you to explicitly find an output. And this is the best we can do. (I guess you could actually ask "how do we even know that addition is well-defined then? How do we know the rules we set for addition are consistent and make sense?" - this is a rather difficult question to answer). Even with this, however, given the rules we set out for addition we can still figure out further properties of addition, and as I said - we have the toolkit to actually figure out for example that ${\phi(2,3)=5}$.
Hopefully that helps a little.

EDIT: to give you a taste of the sorts of rules we define ${\phi}$ by, it's essentially the following:
$$
\phi(n,0) = n
$$
$$
\phi(a,\phi(b,1))=\phi(\phi(a,b),1)
$$
We could define ${2 := \phi(1,1)}$, ${3 := \phi(2,1)}$, ${4 := \phi(3,1)}$, ${5 := \phi(4,1)}$. Going to your example, say we want to calculate ${\phi(3,2)}$. Then this is
$$
=\phi(3,\phi(1,1)) = \phi(\phi(3,1),1) = \phi(4,1) = 5
$$
A: Since you asked about computer science as one option, note the line of code
x = 2+3

causes the l-value x to be $5$, whereas the r-value from which that was obtained was $2+3$.
