If each edge has a distinct weight then there will be only one, unique minimum spanning tree. This is true in many realistic situations, such as the telecommunications company example above, where it's unlikely any two paths have exactly the same cost. This generalizes to spanning forests as well.
Proof:
Question: Can't we just skip adding e1 to B and just get the smallest edge from B, and state that e1 < e2, since all edges are unique? Thus, it implies that there is only one MST possible.
No we can't.
You can state that e1<e2, sure (that is already done in the actual proof). But that doesn't prove that B isn't also a MST. And therefore that there can't be two MST.
See counter example (sort of)
With a spanning tree A in red
And another one, with spanning tree B in blue
The fact that minimum edge of a, e1 (weight 1) is smaller that the one of B, e2 (weight 2), doesn't prove that A and B total weight are not equal (they are both equal to 11).
Sure, you may say, A and B are not minimum spanning tree. Line S3-S0-S1-S2 has a total weight of 10, for example. But, well, sure, I can't exhibit a counter example with two minimum spanning tree, since it is true that minimum spanning tree are unique when all weight are distincts.
So, my counter example isn't proving the falsehood that we could have 2 MST. But it proves that your proof of the contrary is invalid. Proving that e1<e2, doesn't prove that B total weight is different of A total weight. Because you are not using the fact that B is a minimum tree in the reasoning (if you were, of course, you could tell me that my counter-example doesn't invalidate your reasoning)
On the other hand, if I were trying to use the correct reasoning with my counter example:
if you add e1 (edge whose weight is 1. Since all have different weight, we can use unambiguously their weight as their name), to B, to form a subgraph {e1}∪B
= {e1, e2, e3, e6}
, then there is a cycle (all nodes were connected before we add e1, since B is a spanning tree. Including S0 and S1: there was already a path in B from S0 and S1. That has now another path. So we can go from S0 to S1 through B1, and back from S1 to S0 via e1; that's a cycle).
So we can remove an edge from this cycle. One that is not in A (e2). So, we remain with a tree made of e1, e3, e6. And that new tree has a total weight smaller than the one of B (10). (So far, I said nothing wrong).
And there, we have the contradiction. B couldn't be a MST, since we know a smaller one (e1,e3,e6). In my example, it just shows that, indeed A and B are not minimum. But if you start with A and B being mininum, you reach a contradiction.
What the proof use here is an algorithm that is able to build a smaller tree from two different but same weight trees.
If you can give 2 different spanning trees trees of the same total weight, then, we can build a smaller spanning tree using those steps.
So, that algorithm builds, given 2 different spanning trees of same total weight W, build a new spanning tree whose total weight is strictly smaller than W.
It is not a very useful algorithm to build a minimal spanning tree (not that easy to find 2 same weight spanning tree). But it is useful to prove that minimal spanning tree is unique. If it weren't unique, then it wouldn't be minimal. Since if if weren't unique, then you could build a smaller one with that algorithm.