I agree that “=“ as interpreted by people doing math requires context, but in most situations they are able to translate it into a “correct” or formal notion of equality. For example, translating on the fly these ad hoc notions of equality into precise notions of equality in first order logic and/or set theory. For example,<p><pre><code> f(x) = 2x + 3
</code></pre>
Might be translate into something like,<p><pre><code> For all x in the domain of f, f(x) = 2x + 3
</code></pre>
Or maybe further,<p><pre><code> f = { (x, y) in Cartesian product of domain and codomain | y = 2x + 3 }
</code></pre>
Where equality is, I think, strictly defined here as set equality.<p>The articles other point in this example is that we might way “when x = 2, f(x) = 7.” Claiming that x is used both as an indeterminate value and a concrete value. Again, I think the ambiguity is resolved when translate using the correct quantifies, something like “for all x in the domain of f, if x = 2, then f(x) = 7.”<p>Or perhaps you might claim, “there exists an x in the domain of f such that f(x) = 7.” The important point being that the function f is formally NOT the formula f(x) = 2x + 3, but a particular set of ordered pairs, of which you can make formal statements about in first order logic.<p>Another example used was<p><pre><code> A = {n^2 | n = 1, 2, ... 100}
</code></pre>
But again this is just “syntactic sugar” that a reader would translate into perhaps<p><pre><code> A = { n^2 | n in {1, 2, ..., 100}}</code></pre>