Is "$a + 0i$" in every way equal to just "$a$"? I'm having a little argument with my friend. He says that "$a + 0i$" is, in every way, absolutely equal to "$a$" (e.g.: $2 + 0i = 2$).
I say this is practically the case, so in every calculation you just assume that "$a + 0i$" is equal to the real number "$a$" and you always get the right results (this might not even be true, but I am no expert and as far as I can see this is the case). But then again, I believe that just cutting away "$+ 0i$" makes this number is not the same kind of number anymore, it's changed its structure and is not totally equivalent anymore. This is where he says I am absolutely wrong.
So, is it mathematically (strictly speaking!) perfectly fine to say that every complex number with an imaginary part of $0$ is just a real number? Or does this change the mathematical structure so much that it cannot be mathematically-valid but just something that happens to work (which is what I believe)?
I must say that I believe a complex number is one entity, whilst he believes that it is just a conglomerate of other entitites. So, as one said here, "$(a + bi) - bi = a$", I believe is barely a good argument. But then again: is it correct to view $a + bi$ as a single entity (like "$5$" or "$2$", just consisting of multiple symbols)? I'm (as a non-mathematician) not sure there either.
 A: Well, yes and no.  You are both right.
What does it mean to be the number 1?  This is a fascinating philosophical point, worth careful consideration. The usual attitude of modern mathematics is that something is the number 1 if it belongs to a system in which it behaves like the number 1 and does the things we want the number 1 to do.  For example, the system should have a notion of multiplication, and it should have $1\cdot x = x$ for each $x$. We would also like there to be something recognizable as 2, and we should have $1+1=2$.  There may be other  properties we require of 1.  
But there are many systems that can serve as models of the natural numbers. In Peano arithmetic, we take the numbers $0,1,2\ldots$ to be sequences of symbols: $\mathbf{0}, \mathbf{S0}, \mathbf{SS0}, \ldots$. 
 In another system we take them to be the sets $\varnothing, \{\varnothing\}, \{\varnothing, \{\varnothing\}\}, \ldots$. In each system we are obliged to define addition and multiplication in a way that makes the numbers do what they are supposed to, so that in the first case we ought to have $\mathbf{S0}+\mathbf{S0} = \mathbf{SS0}$ and in the second case we should have $\{\varnothing\}+ \{\varnothing\} = \{\varnothing, \{\varnothing\}\}$.  If we can't do this, we have no right to say we are dealing with the number 1.  If we can do it, we consider ourselves mathematically satisfied, and the question of whether $\mathbf{S0}$ or $\{\varnothing\}$ is the number 1 is no longer a mathematical but a philosophical one.  But notice the strange situation we are in:  Each of $\mathbf{S0}$ and $\{\varnothing\}$ is the number 1, but they are completely different objects: one is a set and one is a sequence of symbols. And yet each has an equally good claim to being ‘the’ number 1.
Similarly there are many ways to construct the complex numbers.  A typical construction starts with the set of pairs $\def\c#1#2{\langle #1,#2\rangle}\c ab$ of real numbers and identifies $i$ as the pair $\c01$.
In this construction, the complex number $a+bi$ is the pair $\c a b$, and the real number $x$ makes an appearance as the pair $\c x0$.
This latter pair is not the same as the real number $x$, because the former is a pair of real numbers and the latter is a single real number.
But on the other hand, a pair of the form $\c x0$ behaves just like the real number $x$, and the set of such pairs behaves like $\Bbb R$. Its elements correspond exactly with the real numbers, and do all the things we expect the real numbers to do. So just as both $\mathbf{S0}$ and $\{\varnothing\}$ had equally good claims to being ‘the’ number 1, there is no reason to prefer the original $1$ over the pair $\c 10$ as ‘the’ real number 1. The set of $\c x0$ is $\Bbb R$ for all practical purposes.  So much so that, having made this identification, we might then discard our original real numbers and consider thenceforth only the set of pairs of the form $\c x0$.  
We do this same thing when we construct the real numbers in the first place.  We start with the rationals, and then construct the reals as certain structures of rationals.   Having done this, we identify certain reals as being morally equivalent to the rationals we started with.  For example, we might observe that the pair $\left\langle \left\{x\in\Bbb Q \mid x\le \frac12\right\}, \left\{x\in\Bbb Q \mid x\gt \frac12\right\}\right\rangle$ behaves, in this new system, just the way we expect the rational number $\frac12$ to behave. These new rational numbers aren't the same  objects as  the rationals we started with: those were single rationals, and these  new ones are pairs of sets of rationals.  But the new rationals behave like the original rationals.
(Barry Mazur's paper “When is one thing equal to some other thing” is about this exact question, and discusses it at greater length. It is very readable, and I recommend it highly. Sample pullquote: “The heart and soul of much mathematics consists of the fact that the ‘same’ object can be presented to us in different ways.”)
A: A common construction of $\mathbb C$ is that $\mathbb C=\mathbb R\times\mathbb R$ with some suitable addition and multiplication laws, namely, $(a,b)+(c,d)=(a+c,b+d)$ and $(a,b)\cdot(c,d)=(ac-bd,ad+bc)$ for every $a$, $b$, $c$, $d$ in $\mathbb R$. Then $(1,0)$ is a unit for this multiplication in $\mathbb C$ and one defines $i=(0,1)$. Thus, every $(a,b)$ in $\mathbb C$ is also $(a,0)+(b,0)\cdot i$, abbreviated as $a+b\cdot i$.
In this sense, $2+0\cdot i=(2,0)$ is an element of $\mathbb C$ while $2$ is an element of $\mathbb R$, hence these cannot coincide unless $2$ really means the element $(2,0)$ of $\mathbb C$. Every $(a,0)$ with $a$ in $\mathbb R$ is indeed often abbreviated as $a$. This corresponds to identifying $\mathbb R$ with $J(\mathbb R)$, where $J:\mathbb R\to\mathbb C$ is defined by $J(a)=(a,0)$ for every $a$ in $\mathbb R$.
A: One place it matters is less purely mathematical and more about what information you can get about the context the number is in.
Consider this: occasionally, you will see a number with its sign attached, even if the sign is positive.  What this tells you the reader is that we expect that numbers in this particular context could potentially be negative, but that today it is positive.
Similarly, when you see a number like 23.00, we expect that numbers in this particular context could potentially have two decimal places worth of fractions as part of it, but that today it is whole.  
Following this pattern, 2 + 0i says that a number in this particular context could potentially have a complex part, but that today it does not.
A: 
is it mathematically (strictly speaking!) perfectly fine to say that every complex number with an imaginary part of 0 is just a real number?

In short: yes, it is.

Developing:
We define (as a convention) the set of complex numbers as a superset of the real numbers, because it is convenient to do so. Indeed, all the algebraic operations defined on complex numbers work the same on real numbers and stabilize the set of real numbers.
One might argue that the usual constructions of complex numbers are not superset of the real numbers. The most common of these constructions is to define algebraic operations on $\mathbb{R}^2$, and the most elegant I know is $\mathbb{R}[X]/(X^2 + 1)$.
But the main point of such a construction is just to prove that it is possible to have a set with such algebraic structure. Once it is done, there is no reason not to decide that all real numbers are complex numbers.
The issue is pretty much the same when you construct real numbers from rational numbers (e.g as sets of rational numbers), and rational numbers from integers (e.g as pairs of integers). Aren't we glad these sets are all nested?
Finally, if you do decide anyway that $\mathbb{R}$ is not a subset of $\mathbb{C}$, then $a + 0i$ probably makes no sense because addition will not be defined across sets.
A: Real numbers have a defined ordering, so you can say $ 1 < 2 $, but it makes no real sense to say $ 1+0i < 2+0i $.
A: You first define $\mathbb{R}$, the real numbers, and then you define $\mathbb{C}$, the complex numbers, to be the pairs of numbers $(x,y)$ of real numbers that obey the rules $(x_1,y_1) + (x_2,y_2) = (x_1+x_2,y_1+y_2)$ and $(x_1,y_1)\cdot (x_2,y_2) = (x_1x_2 - y_1y_2,x_1y_2+x_2y_1)$. If we use the notation $a+bi$ for the pair $(a,b)$ then it amounts to saying that $i^2=-1$ where $i=(0,1)$. With this notation $\mathbb{R}$ is not really a subset of $\mathbb{C}$, however the set of numbers $(x,0)$ where $x$ is real is now identified as a subset of $\mathbb{C}$ which is essentially the same as the real numbers.  
A: All real numbers can be shown as $x+y$ where $x$ is the largest integer part, and $y$ is the part after the decimal. 
Example: $2.25 = 2 + .25$ where $x=2$ and $y=0.25$
If $y=0$ then there is nothing after the decimal point, and that real number is an integer, because it can be all integer parts.
The same applies for you, a complex number can be real if its only parts are real, or even imaginary if it only has imaginary parts.
A: Like so many things throughout mathematics, your problem ultimately is what you define the string of symbols $a + 0i$ to mean. You're both right; you each can define the symbol differently and prove your points from there.
Your friend can tell you (and define) that $a + 0i =a + 0 = a$. Hence they are the same. For all practical (and some theoretical) purposes, this is true.
Your argument, however, could be slightly more interesting. You first define $1 + 0i$ to be a complex number, that is, it is a member of the set $\Bbb C$. Similarly, you say that 1 is a real number, that is, an element of $\Bbb R$. The complex numbers $\Bbb C$ are defined to be ordered pairs $(x, y): x, y \in \Bbb R$ (or all ordered pairs of real numbers), with some structure of addition and multiplication defined to fit with the intuitive notion $(0,1)^2 = (-1, 0)$ (or $i^2 = -1$). Since you've defined $1 + 0i$ to be an element of $\Bbb C$, the closest you can get to 1 is $(1, 0)$. You only need to argue that $(1, 0) \neq 1$, and you, too, are right.
One other interesting fact that hasn't yet been mentioned is that they are absolutely equal in a sense mathematicians call up to isomorphism. Assuming you haven't seen this concept yet, all this means is that there is some kind of natural correspondence between the sets $\Bbb R$ and ordered pairs $(a, 0)$ for $a$ in $\Bbb R$. This correspondence is, of course, between the real number $x$ and the ordered pair $(x, 0)$. Using the definitions we've come up with so far, $a + 0i$ is certainly in this correspondence or isomorphism with a. This could potentially be a counter argument for your friend.
In summary, this is entirely a matter of definition. Arguments like this are exactly the reason mathematics is supposed to be rigorous, to avoid such ambiguities.
A: If you know how to program, it makes for a useful analogy. Imagine you are implementing complex numbers in a computer. You would probably internall keep track of tuple of two real numbers, a, and b, which would represent $a + bi$, and implement various operations such as addition and multiplication on other tuples of two real numbers to match complex multiplication. But you would also want to implement addition and multiplication of real numbers, so that you can combine them directly. 
For example, Python supports complex numbers directly (note that it spells $i$ as j)
>>> 1 + 2j
(1+2j)
>>> (1 + 2j)*(3 - 2j)
(7+4j)

And it's easy to see that 1 + 0j and 1 are distinct objects in the language, because they are implemented different (one is implemented as a tuple of two floats and takes up twice as much memory)
>>> 1 + 0j
(1+0j)
>>> 1
1

But you can easily mix complex and real numbers in operations, and if you compare 1 + 0j and 1, they come out equal
>>> 1 + 0j == 1
True

Mathematically, $1 + 0i$ and $1$ are the same. We can interchange the two in any operation (at least any operation where complex numbers make sense), but there is a difference in how the two are actually built from the logical foundations, similar to how 1 and 1 + 0j look different in the computer's memory in Python. 
A: The two are equal in almost every way. In the mathematical way, they are equal, since $0i = 0$ and $a + 0 = a$.
But for a computer, in all its glorious stupidity, they might be different. It's even possible that a + 0i == a could return False.
If you have Wolfram Mathematica, try the following and take note of the results:


*

*FactorInteger[10]

*FactorInteger[10 + 0I]

*FactorInteger[10, GaussianIntegers -> True]

*FactorInteger[10 + 0I, GaussianIntegers -> True]
In Mathics, the bootleg Mathematica, the first two will give the same result and it'll play dumb on the last two.
