This seems to be a very general observation beautifully explained using the example of a city. Human mind likes trees very much because they can be efficiently processed using divide-and-conquer approach. But any tree-like structure used as a description of actual reality runs into its limitations very quickly.
Christopher Alexander also wrote A Pattern Language which was one of the inspirations for Beck and Cunningham's thoughts about software design patterns. Alexander is both an architect and mathematician.
I found the semi-lattice vs tree distinction a very good way of thinking about the systems engineering goal of breaking a project into non-overlapping tasks. The ideal is to get a tree-structure, and not the more complicated semi-lattice.
Something to be aware of as a systems designer.