I shall here suggest a formal framework for talking about structured entities. The most basic idea is that if an object is structured, then it has at least one proper part, i.e. distinct from the (main) object of which it is a part. An object that has a proper part is thereby complex. An absolutely unstructured object is simple. A minimally structured complex object is one where there are no relevant differences between the parts, and a maximally structured object is one where there are relevant differences between all the parts. The framework will allow a more precise characterization of partially structured objects.
To set out these intuitive ideas with greater mathematical precision I shall avail myself of Graph Theory.Footnote 9 A graphG is a pair \((V_{G},E_{G})\) of a set of vertices, or nodes, \(V_{G}\) and a set of edges\(E_{G}\). \(E_{G}\) is a binary relation over \(V_{G}\). In the basic case, the edge relation E is symmetric, irreflexive, and non-transitive. Graphs are abstract and in themselves non-visual, but are standardly pictorially represented. For instance, let the graph G be given as in Fig. 1. In this case, the set of vertices is \(V_{G}=\{a,b,c,d\}\), and the set of edges \(E_{G}=\{(a,b), (a,c), (a,d), (b,c), (b,d)\}\) (sometime more compactly written ‘\(\{ab, ac, ad, bc, bd\}\)’). Every node is connected to every other except c to d.
The graph G in Fig. 1 is a labeled graph, in that the vertices carry labels (the letters), and it is connected graph, in that every vertex is reachable from every other along the edges. That is, we can define the transitive closure\(\mathbf {E}_{G}\) of \(E_{G}\), and every pair \((v_{i},v_{j})\) of distinct vertices in \(V_{G}\) is in \(\mathbf {E}_{G}\).Footnote 10
G in Fig. 1 is also cyclic. That is, it contains at least one cycle, leading from a vertex v along edges in \(E_{G}\) back to v. That is, there is at least one vertex v (at least two in the case E is irreflexive) such that \(\mathbf {E}_{G}(v,v)\).
In characterizing structured objects we shall be interested in trees. A treeT is a connected acyclic graph (not containing cycles), for instance as depicted in Fig. 2.
The same tree could equally well be depicted as in Fig. 3. There is no privileged vertex or orientation in a basic tree. We shall, however, be interested in rooted trees, where one particular vertex, the root of the tree, has a privileged role. Here the root of a tree will be depicted as circled, and it is customary to depict rooted trees with the root at the top, “growing” downwards. Letting the a vertex be the root, we would thus get the depiction of Fig. 4. With a selection of a privileged vertex, a rooted tree T is a triple \((V_{T},E_{T},v)\) of a set of vertices \(V_{T}\), a set of edges \(E_{T}\) over \(V_{T}\), and a privileged member \(v \in V_{T}\).
The selection of a root imposes a direction on the edges, since in each pair of adjacent vertices, one is closer to the root than the other. A rooted tree is therefore equivalent to an un-rooted tree where all the edges are directed (arrows), all pointing towards, or all pointing away from, some particular vertex, as in Fig. 5.
In a directed graphG, the edge relation \(E_{G}\) is not symmetric, and if all edges are directed and there is only one edge between every two nodes, asymmetric, as in Fig. 5.
Here, we shall work with rooted trees, since it is natural to let the root represent the whole structured object itself, the edge relation a relation of immediate part of, and the non-root vertices the parts, immediate or mediate, of the whole object. We shall from now on take the edge relations to be asymmetric. With an eye to the intuitive part-of relation, we shall let the second argument of E be the one closer to the root. Therefore, if \(v_{0}\) is the root T, it holds that there is no \(v \in V_{T}\) such that \((v_{0},v) \in E_{T}\) [we shall sometimes write \(E_{T}(x,y)\)].
The structure of a graph is exactly what it has in common with any other graph that has the same structure. The relation of being same-structured is then more basic than the non-relational idea of a structure. Not surprisingly, two graphs G and H will be said to have the same structure iff they are isomorphic, i.e. iff there is an isomorphism between G and H.
An isomorphism between two basic graphs G and H is bijection \(f: V_{G} \longrightarrow V_{H}\) such that for any \(v,u \in V_{G}\), it holds that
$$\begin{aligned} E_{G}(v,u) \quad \text {iff} \quad E_{H}(f(v),f(u)) \end{aligned}$$
An isomorphism f between two rooted trees T and U must also satisfy the condition that where v is the root of T and u the root of U, \(f(v)=u\). This condition follows from the basic isomorphism condition for rooted trees where the edge relation is asymmetric. For there is exactly one vertex in each tree that satisfies the condition that it is edge-related to no vertex (although one or more are edge-related to it), and by the basic isomorphism condition, this vertex in the one tree one must be mapped on the corresponding vertex in the other.
A special class of bijections are permutations, i.e. 1–1 functions \(f: V_{G} \longrightarrow V_{G}\), from a vertex set onto itself. A permutation that is also an isomorphism from a graph to itself is called an automorphism. That is, f is an automorphism iff it holds for any \(v_{i},v_{j} \in V_{G}\) that \(E_{G}(f(v_{i}),f(v_{j}))\) iff \(E_{G}(v_{i},v_{j})\).
An automorphism of course maps the root on itself. In general, we shall say that a permutation f on the vertex set of a rooted tree T is root invariant iff \(f(v)=v\) in case v is the root of T. We can define a function \(F_{f}\) on trees in terms of a root-invariant permutation f such that where \(T=(V_{T},E_{T},v)\), \(F_{f}(T)\) is defined to be \((f(V_{T}),f(E_{T}),f(v))=(V_{T},f(E_{T}),v)\). Here \(f(E_{T})=\{(f(v_{i}),f(v_{j})): (v_{i},v_{j}) \in E_{T}\}\). To exemplify, let T be the tree of Fig. 4, and let f be the permutation that is the identity function on all vertices except that \(f(e)=b, f(b)=e\). Then \(f(E_{T})\) is the set \(\{ea, ca, da, bd\}\). f is here not an automorphism, since \((b,a) \in E_{T}\) but \((f(b),f(a))= (e,a)\), and \((e,a) \notin E_{T}\). Now, in the case a permutation fis an automorphism, then \((f(v_{i}),f(v_{j})) \in f(E_{T})\) iff \((v_{i},v_{j}) \in E_{T}\) (by the definition of F), which holds iff \((f(v_{i}),f(v_{j})) \in E_{T}\) (since f is an automorphism). Hence, \(f(E_{T})=E_{T}\). So, in case f is an automorphism, the corresponding \(F_{f}\) is the identity function on rooted trees.
By means of the concept of an automorphism, we can characterize a graded notion of being structured, ranging from minimally structured to fully structured. We can now say that a rooted tree T is minimally structured iff every root-invariant permutation f on \(V_{T}\) is an automorphism. In such a case, there are no relevant differences between the non-root vertices of T. For instance, the tree T given in Fig. 6 has an edge relation \(E_{T}=\{as, bs, cs, ds\}\). There are thus no structural differences between the lower vertices a, b, c, d. Each is characterized by only being edge-related to s, and so clearly any root-invariant permutation will preserve these properties. The depiction of the tree presents a left-right order between the lower vertices, but that order is immaterial, since no permutation of the lower vertices will change the edge relation. The tree of Fig. 6 therefore presents the structure of a simple (unordered) sets with the members a, b, c, d.
A rooted tree is maximally structured iff there is only one automorphism, the identity permutation (mapping every vertex on itself). A minimal example is given in Fig. 7. For this tree there are only two root-invariant permutations: the identity permutation and the permutation f such that \(f(a)=a,f(b)=c,f(c)=b\). But the latter is not an automorphism, since the edge relation contains (b, a) but not (f(b), f(a)).
There are intermediately structured graphs. For instance, the tree in Fig. 4 admits as automorphisms both the identity function and the function f which is like the identity function except that \(f(b)=c,f(c)=b\), but no other root-invariant permutation is an automorphism on this graph. In general, we can say that a graph G is more structured than a graph \(G'\) iff the proportion of automorphisms among the permutations of G is lower than that of \(G'\).
To be clear, that a graph G is maximally structured does not entail that G is very complex (a rooted tree with only one other vertex is maximally structured), nor does it entail that G has as much structure as a graph can have. We can always add other features, like a second edge relation, or an additional order between vertices (see below). There is no upper limit to what can be added to make graphs more structurally complex.
To say that a graph G is maximally structured, in the present sense, is to say that every vertex in G can be identified by its position in G, i.e. by which other vertices it is related to. In Fig. 7, a is uniquely identified by being the root, b by being the only vertex related to the root, and c by being the only non-root not related to the root. In Fig. 4, d is the only vertex both related to the root and to a second vertex, but b and c have the same edge properties, and cannot be distinguished except by the labels.
Isomorphic graphs are identical except for the labels, which in a sense are arbitrary. We can therefore regard a labeled graph as simply representing the structure that is shared with the graphs it is isomorphic to. We can also extend the isomorphism relation to hold between graphs and other complex entities that have parts according to some relevant part-whole relation. This was already exemplified above with an unordered set s, in Fig. 6. Putting these two ideas together, we can speak of some particular graph as the structure of a complex object to which it is isomorphic. As will be spelled out below, this will allow us to speak of structured objects more generally, without having to rely on any particular kind of objects, like ordered tuples.
For the structured objects we are interested in, however, of a representational kind, we need two additional features of graphs. The first is that of ordering. In a rooted tree, if a is edge-related to b, and b is closer to the root (or is the root), a is said to be a daughter of b and b the mother of c. If both b and c are daughters of one and the same vertex, b and c are said to be sisters. Thus, a–d are sisters in the tree of Fig. 6.
In an ordinary rooted tree, the sister relation is unordered. In an ordered tree, there is an ordering relation \(\prec \) between sister vertices. An ordered (hence rooted) tree T is therefore a quadruple \(T=(V_{T},E_{T},\prec _{T},v)\). We write \((a,b) \in \prec _{T}\) as \(a \prec _{T} b\), or simply as \(a \prec b\) if the context is clear. An ordinary rooted tree is the special case where \(\prec \) is empty. The definition of an isomorphism must also be extended. For ordered trees we must in addition to the previous conditions add that f is an isomorphism between T and U only if it holds that for any vertices \(v_{i}, v_{j}\) of T it holds that \(v_{i} \prec _{T} v_{j}\) iff \(f(v_{i}) \prec _{U} f(v_{j})\).
We can indicate ordering by means of numerical indices, here appearing as superscripts, such that \(v_{i}^{k} \prec v_{j}^{l}\) iff \(k<l\). With the convention that if \(v_{i} \prec v_{j}\), we write \(v_{i}\) to the left of \(v_{j}\), an ordered update of the tree of Fig. 4 will be:
Th ordered tree T of Fig. 8 is fully structured. The function f that interchanges b and c is not an automorphism, because it does not preserve the vertex ordering: \(b \prec _{T} c\) but \(f(b) \not \prec _{T} f(c)\).
The second feature to be added is needed because of the fact that in structured abstract entities a particular part may occur several times. The name ‘Mary’ occurs twice in the sentence
-
(1)
John likes Mary and Mary likes Bill.
There is only one type ‘Mary’, but the type ‘Mary’ has two occurrences in the type (1). Other examples come from the standard definition of an ordered pair in terms of unordered sets:
-
(2)
\(\langle a,b \rangle =_{\text {def}} \{\{a\},\{a,b\}\}\).
In the set denoted on the right-hand side, there are two occurrences of the objecta.
In the case of entities with a type-token distinction, we can briefly characterize the ontology of occurrences by saying that the number of occurrences of x in the type y is exactly the number of tokens of x in any one token of y. Thus, any token of (1) contains two tokens of ‘Mary’. We can specify them by talking of the first occurrence and the second occurrence of ‘Mary’ in (1), but this only works as long as we have a linear order. In more complex cases we will have to be able to specify the position of the occurrence in the structured abstract type, but this in turn only works if we already possess tools for specifying the structure, for instance by means of syntactic trees or grammatical terms, which allow you to identify the position of an occurrence.Footnote 11
We cannot invariably specify properties of occurrences of objects by means of providing the properties of the objects they are occurrences of, since a particular object may have several properties, but only in different occurrences. This is illustrated in the tree of Fig. 9. Here the situation is depicted where c occurs twice, as direct part of a and as direct part of b. So, d is part of c and c is part of b, but d is not part of b. Thus, if we are dealing with complex objects that can contain multiple occurrences of objects, and objects are allowed to freely vary properties between occurrences, we cannot even capture the transitivity of the parthood relation by speaking only of the properties of objects as opposed to properties of the occurrences of objects.
There are two ways to handle this problem. The first is to simply treat the concept of an occurrence as primitive, and accept an ontology of occurrences as basic. Every occurrence is an occurrence in a type. Every type a occurs exactly once in the type a itself. Only abstract types can contain more than one occurrence of anything. If a physical or mental entity has parts, those parts have only one occurrence in that entity. One can introduce a function O from occurrences of objects to the objects they are occurrences of. As long as there is only one occurrence of an object, one can simplify the presentation by speaking simply of the object itself.
On this alternative, one treats the parthood and ordering relations on parts as relations over occurrences. In the tree of Fig. 9, (the occurrence of) d is part of an occurrence of c and an occurrence of c is part of (the occurrence of) b, but since these are different occurrences of c, there is no violation of transitivity in the fact that d is not part of b.
The second alternative is to restrict labeled trees the following way: whenever a tree contains two vertices with the same main label, these two vertices have both different indices and isomorphic sub-trees where corresponding vertices also have the same label. With this restriction, the tree in Fig. 9 is not admissible. The proper version is given in Fig. 10.
With the restriction, knowing that there is a vertex \(d_{2}\) that is edge-related to a vertex \(c_{2}\) and a vertex \(c_{1}\) that is edge-related to a vertex b, we can infer that there also a vertex with main label ‘d’ that is edge-related to \(c_{1}\). Thus, transitivity is restored, in the sense that if the tree represents a structured object where d is a part of c and c is a part of b, the object is also represented to the effect that d is (an indirect) part of b.
The restriction is well motivated in the sense that our ordinary conception of abstract objects is such that wherever a complex object occurs, it does occur with occurrences of its parts; they are part and parcel of it.
Both alternatives allow us to prove the main point, that we can use multi-labeled trees, up to isomorphism, as the structure of structured objects. The proof is more straightforward on the first alternative, but it carries the ontological cost of taking occurrences as primitive. There is a further difference, in that the second alternative does not allow us to use multi-labeled trees to provide the structure of so-called multisets (taken as primitive), i.e. sets where elements can occur more than once, as in \(\{a,a,b\}\). This set can be represented on the first alternative by the tree in Fig. 11. The characteristic feature of this tree is that two vertices that have no structural differences still have the same main label. On the second alternative, this tree is ruled out by the uniqueness condition, either in itself, or as being the structure of an object. I see no way of accommodating multisets except by treating occurrences as basic (or instead working with a model of multisets that itself does not use multisets). Not seeing the need to handle these in the present context, I shall go for the second alternative, letting vertices directly represent objects rather than occurrences of objects.
We cannot capture the phenomenon of multiple occurrences of parts in complex objects within standard graph theory. A label pertains to a particular vertex, and no sense is provided for letting two vertices have the same label. I shall propose here, as has already been exemplified, to use complex labels, with a main label and an index, such as ‘\(b_{2}\)’, where the numeral is the index. The main label can be shared by several vertices, while the complex label itself must be unique to each vertex. We shall say that trees with this feature are multi-labeled trees. We shall require that the root has a unique main label. By means of this device, we can represent the unordered set \(\{a,\{a,b\}\}\) by the tree in Fig. 12.
Now we can introduce the idea of letting the main label indicate what object a vertex represents. That is, two vertices with the same main label, such as \(a_{1}\) and \(a_{2}\) in the tree in Fig. 12, will represent the same object. In addition, let the edge relation in this tree represent the element relation \(\in \). Then d represents the set \(\{a,b\}\), and c represents the set \(\{a,\{a,b\}\}\).
Multi-labeled trees are still trees of the familiar kinds in the sense that each complex or simple label (without index) still is unique to a vertex. However, adding the feature of sharing main label amounts to adding a one-place property of vertices that provides a new structural dimension. We shall include the ingredient of a labeling function L in the definition of a multi-labeled tree. For instance, \(L(a_{2})= `a\)’ in Fig. 12.
Next, consider the set of main labels (including simple labels) in Fig. 12: that is the set \(\{`a\text {'}, `b\text {'},`c\text {'},`d\text {'}\}\). We extend the function L to trees, giving the set of main labels of all vertices as values. We can now say that two multi-labeled graphs G and H are label-related iff there exists a a bijection \(g: L_{G}(V_{G}) \longrightarrow L_{H}(V_{H})\), i.e. iff the main-label sets have the same size. I shall sometimes drop the subscript on ‘L.’
-
(MLTree)
An ordered (rooted) multi-labeled tree T, or ML tree, is a tuple
$$\begin{aligned} (V_{T},E_{T},\prec _{T},L_{T},v) \end{aligned}$$
where \(V_{T}\) is the vertex set of T, \(E_{T}\) the edge relation, \(\prec _{T}\) the ordering relation between sister vertices, \(L_{T}\) the labeling function, assigning labels to vertices, and v the root of T.
With the addition of the labeling function, we also have a new requirement on isomorphisms between ordered multi-labeled trees: f is an isomorphism from T to U only if f maps same-labeled vertices on same-labeled vertices. That is,
-
(MLIso)
Given two ML trees \(T=(V_{T},E_{T},\prec _{T},L_{T},v_{0})\) and \(U=(V_{U},E_{U},\prec _{U}, L_{U},u_{0})\), the function \(f: V_{U} \longrightarrow V_{T}\) is an (ML) isomorphism iff f is a bijection and
-
(i)
\(f(u_{0})=v_{0}\).
-
(ii)
For all \(u_{k},u_{l} \in V_{U}, E_{U}(u_{k},u_{l})\) iff \(E_{T}(f(u_{k}),f(u_{l}))\).
-
(iii)
For all \(u_{k},u_{l} \in V_{U}, u_{k} \prec _{U} u_{l}\) iff \(f(u_{k}) \prec _{T} f(u_{l})\).
-
(iv)
For all \(u_{k},u_{l} \in V_{U}\), \(L_{U}(u_{k})=L_{U}(u_{l})\) iff \(L_{T}(f(u_{k}))=L_{T}(f(u_{l}))\).
We get the corresponding strengthening of the notion of automorphism for ordered multi-labeled trees. When it comes to characterizing the structure of complex objects by means of ML trees, the requirement of an automorphism for ML trees is sometimes too strong. Thus, consider the permutation f that is the identity permutation except that it maps \(a_{1}\) and \(a_{2}\) on each other in vertex set of the tree in Fig. 12. The result is the tree in Fig. 13, Clearly, f is not an automorphism, since \(E_{T}(a_{1},c)\) but not \(E_{T}(f(a_{1}),f(c))\). The new tree, however, although it has a different edge relation, represents the set \(\{a,\{a,b\}\}\) equally well. There is an ML isomorphism between the vertex sets of the two trees, and f is indeed such an isomorphism. This exemplifies the fact that characterizing structure by means of ML trees is unique only up to isomorphism.
In order to make this work, we need to introduce the restriction that same-labeled vertices also have the same sub-trees where corresponding vertices have the same main label. To be more precise, we need to define the notion of a subtree:
-
(SubTree)
Given a rooted ordered tree T with root \(v_{0}\), the subtreeU determined by the vertex \(u \in V_{T}\) is a rooted tree with root u such that \(V_{U}=\{u\} \cup \{v \in V_{T}: \mathbf {E}_{T}(v,u)\}\) and such that for all \(v_{i},v_{j} \in V_{U}\): \(E_{U}(v_{i},v_{j})\) iff \(E_{T}(v_{i},v_{j})\), and \(v_{i} \prec _{U} v_{j}\) iff \(v_{i} \prec _{T}v_{j}\).
This allows us to define the notion of an S-tree, i.e. a tree fit for capturing structure:
-
(STree)
An S-treeT is an ML tree such that for any two distinct vertices \(v_{i},v_{j} \in V_{T}\) it holds that if \(L_{T}(v_{i})=L_{T}(v_{j})\)
-
(i)
There is an ML isomorphism f between the subtree \(T_{i}\) determined by \(v_{i}\) and the subtree \(T_{j}\) determined by \(v_{\!j}\) such that for any vertex \(v_{k} \in V_{T_{i}}\) it also holds that \(L(f(v_{k}))=L(v_{k})\)
-
(ii)
There is no vertex \(v_{k} \in V_{T}\) such that \(E_{T}(v_{i},v_{k})\) and \(E_{T}(v_{j},v_{k})\).
We can now state the main definition.
-
(STRUC)
Let A be a complex object, R be a part-whole relation on A, and \(R^{*}\) the transitive closure of R on A. Let \(A^{*}\) be the set of objects standing in \(R^{*}\) to A (the direct and indirect parts of A, including A). Let S be a partial ternary relation on \(A^{*}\) such that for any \(a,b,c \in A^{*}\), if S(a, b, c), then R(b, a) and R(c, a) and not S(a, c, b); that is, S is asymmetric in its second and third arguments. Let \(T=(V_{T},E_{T},\prec _{T},L_{T},v_{0})\) be an S-tree. We say that, up to isomorphism, T is the structure of A iff there is a surjection r from \(V_{T}\) onto \(A^{*}\) such that
-
(i)
For any \(v \in V_{T}, r(v)=A\) iff \(v=v_{0}\)
-
(ii)
For any \(v_{i},v_{j} \in V_{T}\), \(r(v_{i})=r(v_{j})\) iff \(L(v_{i})=L(v_{j})\)
-
(iii)
For any \(v_{i},v_{j} \in V_{T}\), if \(E_{T}(v_{i},v_{j})\), then \(R(r(v_{i}),r(v_{j}))\); and for any \(a,b \in A^{*}\) such that R(a, b), there are \(v_{i},v_{j} \in V_{T}\) such that \(r(v_{i})=a, r(v_{j})=b\) and \(E_{T}(v_{i},v_{j})\)
-
(iv)
For any \(v_{j},v_{k} \in V_{T}\), if \(v_{i} \prec _{T} v_{j}\), then there is a vertex \(v_{i} \in V_{T}\) and a part \(a \in A^{*}\) such that \(E_{T}(v_{j},v_{i})\), \(E_{T}(v_{k},v_{i})\), and \(S(r(v_{i}),r(v_{j}),r(v_{k}))\); and for any any \(a,b,c \in A^{*}\) such that S(a, b, c), there are vertices \(v_{i},v_{j},v_{k} \in V_{T}\) such that \(r(v_{i})=a, r(v_{j})=b, r(v_{k})=c\), \(E_{T}(v_{j},v_{i})\), \(E_{T}(v_{k},v_{i})\), and \(v_{i} \prec _{T} v_{j}\).
The definition makes sense in virtue of the following fact:
Fact 1
Given a tree \(T=(V_{T},E_{T},\prec _{T},L_{T},v_{0})\) that by (STRUC) is the structure of a complex object A, and and a tree \(U=(V_{U},E_{U},\prec _{U},L_{U},u_{0})\), U is the structure of A iff T and U are isomorphic.
The left-to-right and right-to-left parts of this fact are stated separately and proved in Appendix 2.
We can note, finally, that from a given structured object A, we can easily construct the structure itself, i.e. an S-tree that is (up to isomorphism) the structure of A. The exact recipe can be extracted from the definition of the ML-isomorphism. In a slightly simplified form it runs as follows:
-
(Recipe)
For a complex object A, assign a representation of A as the label of the root; given a label ‘\(v_{i}\)’ of a vertex representing a part \(a_{i}\) of A, for an immediate part of \(a_{i}\), assign a label ‘\(v_{j}\)’ to the corresponding daughter of \(v_{i}\); make sure to use the same main label with a new index for any new occurrence of one and the same part. For a new vertex \(v_{n}\) with the same label as a previous vertex \(v_{m}\), copy the entire subtree of \(v_{m}\) as the subtree of \(v_{n}\), assigning the same main label to corresponding vertices. Continue until all occurrences of all parts of A are represented on the tree.
We can illustrate the recipe as applied again to \(\{a,\{a,b\}\}\), in Fig. 14, using standard representations of the sets and elements as labels. Start with assigning ‘\(\{a,\{a,b\}\}\)’ itself as the label of the root. The two immediate elements are a and \(\{a,b\}\), so assign ‘\(a_{1}\)’ and ‘\(\{a,b\}_{1}\)’ as labels to the daughters of the root, without superscripts, since there is no order relation, but with default subscripts: the lowest positive whole number numerals so far not used in the tree. Next, since the second daughter (in order of the presentation) itself is complex with two elements, generate two new daughters of that vertex. Since one is again a, generate as label for the corresponding vertex ‘\(a_{2}\)’, since the index ‘1’ has already been used. And since the other element is b, choose ‘\(b_{1}\)’, as the index. Now the leaves of the tree, i.e. the lowermost vertices, are all simple, and we are done.
As the exercise has illustrated, we needed no more information than the specification of the object itself: the relevant part-of relation (\(\in \)), and the instances of this relation in the object: the immediate elements, their respective immediate elements, and so on, until the simple elements. This recipe does result in an S-tree that is unique up to isomorphism.