This is just a series of simple observations.
1. d(A,B) = |A?B|/|A?B|. Follows simply since |A?B| = |A?B| + |A?B|.
2. If x is a point outside of A, then d(A, B?{x}) >= d(A,B). This follows simply by the fact that (n+1)/(m+1) >= n/m when n<=m.
3. In the inequality d(A,C) <= d(A,B) + d(B,C) by repeatedly using the point 2, we may assume B is contained in the union A?C, since removing points of B outside of this union only serves to make the right hand side smaller.
4. Observe that |A?C| <= |A?B| + |B?C| for any sets A,B,C. This is very intuitive and simple to prove. Suppose x is in A and not in C. Then it's either in B or not. If it's in B, then it's in B?C. Otherwise, it's in A and not B, so it's in A?B. Analogously deal with the situation where x is in C and not A.
5. Divide both sides by |A?C|. We get d(A,C) <= |A?B|/|A?C| + |B?C|/|A?C|.
But by our assumption about B from point 3 we have |A?B| <= |A?C| , |B?C|<=|A?C|. Thus the right hand side is at most d(A,B)+ d(B,C).
We are done.