# Notation for definition and equivalence

I would like some clarification about the usage/meaning of $:=$ and $\equiv$.

I have been using $A := B$ to denote "Let $A$ be defined as $B$." This is akin to assignment = in programming.

I also have been using $A \equiv B$ to denote "$A$ is equivalent to $B$," but as a result of their definitions which do not directly depend on each other.

However, in books and papers, I rarely see "$:=$" used; authors only seem to use "$=$".

Could someone comment on the usage of these two symbols as well as what the convention is for notating the relations described above? Thanks!

My impression is that there are no situations where it is required to use $:=$ or $\equiv$ instead of $=$ (except in modular arithmetic, where $\equiv$ has a special meaning). Rather, they are used to clarify what the author is trying to say.

Your usage of $:=$ I believe is the standard one, and it is used when there is a possibility of confusion between saying that $f(x) = g(x)$ "for the time being", or based on the context, where we are actually trying to say that $f(x)$ is defined to be $g(x)$ and nothing else. Your usage for $\equiv$ is more often replaced in mathematics by $A \iff B$, where $A$ and $B$ are propositions.

The symbol $\equiv$ is used mostly in math to clarify the following ambiguity: if the author says $f(x) = g(x)$, it is perhaps unclear whether we are talking about a particular value of $x$, or whether the equality is between functions. $f(x) \equiv g(x)$ is used to emphasize that the functions are equal at all relevant points $x$.

• Great answer! I believe the symbol $:=$ became popular with the introduction of the Pascal programming language where it serves the role of an assignment operator. I find it to be very useful when used reasonably. Commented Jul 23, 2013 at 10:42
• I have seen $\equiv$ also in places where $:\Leftrightarrow$ would also be suitable, i.e. for defining prepositions, e.g. $A\equiv B\leftrightarrow C$, so $A$ is defined to be $B\leftrightarrow C$ Commented Jul 23, 2013 at 10:49

One of the differences between mathematics and (imperative) programming is that the expression $$i = i+1$$

has two meanings, i.e. an equation and an incrementation respectively. However those two worlds have non-trivial intersection, for example, mathematicians that use programming languages, or programmers that do mathematics. To put it shortly, when there is potential for confusion or ambiguity, it is beneficial to distinguish the two, and one way of doing that is introducing a new symbol, namely $:=$ or $\stackrel{\text{def}}{=}$ or $\stackrel{\Delta}{=}$ or $\leftarrow$ or yet something else (in programming there are sometimes == or even ===).

Observe, that in case $b = a$ there could be no ambiguity (it might serve both as equality and assignment). It is not rare that the context itself is enough to make it clear (e.g. all $=$ in the text are of the first or of the second type), and as such, there is no additional gain in introducing a special notation (which on other hand could confuse the readers). Finally, it is much easier to type in = than \equiv (and in $\TeX$ doing so makes the source code more readable).

I hope that explains something ;-)

I think the strongest claim that you'll find widespread agreement on is that you should definitely not use $\equiv$ to state a definition, and that you should definitely not use $:=$ for anything other than assignment or stating a definition. When and when not to use $=$ is essentially a religious issue. My personal preference is for $=$ to denote whatever is the strongest notion of equality that I'm ever going to care about for the purpose of the subject at hand, and to allow $\equiv$ to denote any other equivalence relation that I choose to define. I also like to use $\triangleq$ rather than $:=$.

Suppose I were writing a treatise on the foundations of mathematics, and having already defined Cartesian products and addition of natural numbers, were introducing the integers by defining them as equivalence classes of pairs of natural numbers. Then I might write something like the following.

Let $\mathbb Z \triangleq \mathbb N \times \mathbb N$, such that $(a,b) \equiv_{\mathbb Z} (c,d) \Longleftrightarrow a + d = b + c$.

In any other context, though, caring about how the integers are constructed and introducing a symbol like $\equiv_{\mathbb Z}$ for integer equality would be absurdly pedantic, and I'd just denote it with $=$.