The software massages all the states of all the characters of all the languages by one of several mathematical methods to accomplish a pairwise comparison of each language with all the rest. It then constructs a cladogram based on degrees of similarity; for example, hypothetical languages, a and b, which are closest only to each other, are assumed to have a common ancestor, a-b. The next closest language, c, is assumed to have a common ancestor with a-b, and so on. The result is a projected series of historical paths leading from the overall common ancestor (the root) to the languages (the leaves). Each path is unique. There are no links between paths. Every leaf and node have one and only one ancestor. All the states are accounted for by descent from other states. A cladogram that conforms to these requirements is a perfect phylogeny.