This is the formal definition of a minimum spanning tree taken from *Algorithms* by Dasgupta et al. [![formal definition of a minimum spanning tree][1]][1] My confusion arises from the fact that the edges in the minimum spanning tree are an improper subset of the edges in the original graph. If the graph were cyclic, then we would have removed the cycles in the minimum spanning tree and would have had fewer edges. How is it that we have an improper subset (containing all the edges of the original graph)? This is the example given right before the definition and the graph clearly contains cycle edges. [![graph example][2]][2] [1]: https://i.sstatic.net/Z7oZ6.png [2]: https://i.sstatic.net/acXtl.png