# Relation composition

In logic and mathemat.css, relation composition, or the composition of relations, is the generalization of function composition, or the composition of functions.

## Preliminaries

The first order of business is to define the operation on relations that is variously known as the composition of relations, relational composition, or relative multiplication. In approaching the more general constructions, it pays to begin with the composition of 2-adic and 3-adic relations.

As an incidental observation on usage, there are many different conventions of syntax for denoting the application and composition of relations, with perhaps even more options in general use than are common for the application and composition of functions. In this case there is little chance of standardization, since the convenience of conventions is relative to the context of use, and the same writers use different styles of syntax in different settings, depending on the ease of analysis and computation.

 The first dimension of variation in syntax has to do with the correspondence between the order of operation and the linear order of terms on the page. The second dimension of variation in syntax has to do with the automatic assumptions in place about the associations of terms in the absence of associations marked by parentheses. This becomes a significant factor with relations in general because the usual property of associativity is lost as both the complexities of compositions and the dimensions of relations increase.

These two factors together generate the following four styles of syntax:

 LALA = left application, left association. LARA = left application, right association. RALA = right application, left association. RARA = right application, right association.

## Definition

A notion of relational composition is to be defined that generalizes the usual notion of functional composition:

 Composing on the right, $f : X \to Y$ followed by $g : Y \to Z$ results in a composite function formulated as $fg : X \to Z.$ Composing on the left, $f : X \to Y$ followed by $g : Y \to Z$ results in a composite function formulated as $gf : X \to Z.$

Note on notation. The ordinary symbol for functional composition is the composition sign, a small circle "$\circ$" written between the names of the functions being composed, as $f \circ g,$ but the sign is often omitted if there is no risk of confusing the composition of functions with their algebraic product. In contexts where both compositions and products occur, either the composition is marked on each occasion or else the product is marked by means of a center dot "$\cdot$", as $f \cdot g.$

Generalizing the paradigm along parallel lines, the composition of a pair of 2-adic relations is formulated in the following two ways:

 Composing on the right, $P \subseteq X \times Y$ followed by $Q \subseteq Y \times Z$ results in a composite relation formulated as $PQ \subseteq X \times Z.$ Composing on the left, $P \subseteq X \times Y$ followed by $Q \subseteq Y \times Z$ results in a composite relation formulated as $QP \subseteq X \times Z.$

## Geometric construction

There is a neat way of defining relational compositions in geometric terms, not only showing their relationship to the projection operations that come with any cartesian product, but also suggesting natural directions for generalizing relational compositions beyond the 2-adic case, and even beyond relations that have any fixed arity, in effect, to the general case of formal languages as generalized relations.

This way of looking at relational compositions is sometimes referred to as Tarski's Trick (T2), on account of his having put it to especially good use in his work (Ulam and Bednarek, 1977). It supplies the imagination with a geometric way of visualizing the relational composition of a pair of 2-adic relations, doing this by attaching concrete imagery to the basic set-theoretic operations, namely, intersections, projections, and a certain class of operations inverse to projections, here called tacit extensions.

The stage is set for Tarski's trick by highlighting the links between two top.css that are likely to appear wholly unrelated at first, namely:

• The use of logical conjunction, as denoted by the symbol "∧" in expressions of the form F(xyz) = G(xy) ∧ H(yz), to define a 3-adic relation F in terms of a pair of 2-adic relations G and H.
• The concepts of 2-adic projection and projective determination, that are invoked in the 'weak' notion of projective reducibility.

The relational composition G ο H of a pair of 2-adic relations G and H will be constructed in three stages, first, by taking the tacit extensions of G and H to 3-adic relations that reside in the same space, next, by taking the intersection of these extensions, tantamount to the maximal 3-adic relation that is consistent with the prima facie 2-adic relation data, finally, by projecting this intersection on a suitable plane to form a third 2-adic relation, constituting in fact the relational composition G ο H of the relations G and H.

The construction of a relational composition in a specifically mathematical setting normally begins with mathematical relations at a higher level of abstraction than the corresponding objects in linguistic or logical settings. This is due to the fact that mathematical objects are typically specified only up to isomorphism as the conventional saying goes, that is, any objects that have the 'same form' are generally regarded as the being the same thing, for most all intents and mathematical purposes. Thus, the mathematical construction of a relational composition begins by default with a pair of 2-adic relations that reside, without loss of generality, in the same plane, say, G, H ⊆ X × Y, as depicted in Figure 1.

o-------------------------------------------------o
|                                                 |
|        o                       o                |
|        |\                      |\               |
|        | \                     | \              |
|        |  \                    |  \             |
|        |   \                   |   \            |
|        |    \                  |    \           |
|        |     \                 |     \          |
|        |   *  \                |   *  \         |
|        X   *   Y               X   *   Y        |
|         \  *   |                \  *   |        |
|          \ G   |                 \ H   |        |
|           \    |                  \    |        |
|            \   |                   \   |        |
|             \  |                    \  |        |
|              \ |                     \ |        |
|               \|                      \|        |
|                o                       o        |
|                                                 |
o-------------------------------------------------o
Figure 1.  Dyadic Relations G, H c X x Y


The 2-adic relations G and H cannot be composed at all at this point, not without additional information or further stipulation. In order for their relational composition to be possible, one of two types of cases has to happen:

• The first type of case occurs when X = Y. In this case, both of the compositions G ο H and H ο G are defined.
• The second type of case occurs when X and Y are distinct, but when it nevertheless makes sense to speak of a 2-adic relation Ĥ that is isomorphic to H, but living in the plane YZ, that is, in the space of the cartesian product Y × Z, for some set Z.

Whether you view isomorphic things to be the same things or not, you still have to specify the exact isomorphisms that are needed to transform any given representation of a thing into a required representation of the same thing. Let us imagine that we have done this, and say how later:

o-------------------------------------------------o
|                                                 |
|        o                               o        |
|        |\                             /|        |
|        | \                           / |        |
|        |  \                         /  |        |
|        |   \                       /   |        |
|        |    \                     /    |        |
|        |     \                   /     |        |
|        |   *  \                 /  *   |        |
|        X   *   Y               Y   *   Z        |
|         \  *   |               |   *  /         |
|          \ G   |               |   Ĥ /          |
|           \    |               |    /           |
|            \   |               |   /            |
|             \  |               |  /             |
|              \ |               | /              |
|               \|               |/               |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 2.  Dyadic Relations G c X x Y and Ĥ c Y x Z


With the required spaces carefully swept out, the stage is set for the presentation of Tarski's trick, and the invocation of the following symbolic formula, claimed to be a definition of the relational composition P ο Q of a pair of 2-adic relations PQ ⊆ X × X.

Definition. P ο Q = proj13 (P × X ∩ X × Q).

To get this drift of this definition, one needs to understand that it's written within a school of thought that holds that all 2-adic relations are, 'without loss of generality', covered well enough, 'for all practical purposes', under the aegis of subsets of a suitable cartesian square, and thus of the form L ⊆ X × X. So, if one has started out with a 2-adic relation of the shape L ⊆ U × V, one merely lets X = U ∪ V, trading in the initial L for a new L ⊆ X × X as need be.

The projection proj13 is just the projection of the cartesian cube X × X × X on the space of shape X × X that is spanned by the first and the third domains, but since they now have the same names and the same contents it is necessary to distinguish them by numbering their relational places.

Finally, the notation of the cartesian product sign "×" is extended to signify two other products with respect to a 2-adic relation L ⊆ X × X and a subset W ⊆ X, as follows:

Definition. L × W = {(x, y, z) ∈ X3 : (x, y) ∈ LzW}.
Definition. W × L = {(x, y, z) ∈ X3 : xW ∧ (y, z) ∈ L}.

Applying these definitions to the case PQ ⊆ X × X, the two 2-adic relations whose relational composition P ο Q ⊆ X × X is about to be defined, one finds:

P × X = {(x, y, z) ∈ X3 : (x, y) ∈ PzX},
X × Q = {(x, y, z) ∈ X3 : xX ∧ (y, z) ∈ Q}.

These are just the appropriate special cases of the tacit extensions already defined.

P × X = te123(P),
X × Q = te231(Q).

In summary, then, the expression:

proj13(P × XX × Q)

is equivalent to the expression:

proj13(te123(P) ∩ te231(Q))

and this form is generalized — although, relative to one's school of thought, perhaps inessentially so — by the form that was given above as follows:

Definition. P ο Q = projXZ(teXYZ(P) ∩ teYZX(Q)).

Figure 3 presents a geometric picture of what is involved in formulating a definition of the 3-adic relation F ⊆ X × Y × Z by way of a conjunction of the 2-adic relation G ⊆ X × Y and the 2-adic relation H ⊆ Y × Z, as done for example by means of an expression of the following form:

• F(x, y, z) = G(x, y) ∧ H(y, z).
o-------------------------------------------------o
|                                                 |
|                        o                        |
|                       /|\                       |
|                      / | \                      |
|                     /  |  \                     |
|                    /   |   \                    |
|                   /    |    \                   |
|                  /     |     \                  |
|                 /      |      \                 |
|                o       o       o                |
|                |\     / \     /|                |
|                | \   / F \   / |                |
|                |  \ /  *  \ /  |                |
|                |   \  /*\  /   |                |
|                |  / \//*\\/ \  |                |
|                | /  /\/ \/\  \ |                |
|                |/  ///\ /\\\  \|                |
|        o       X  ///  Y  \\\  Z       o        |
|        |\       \///   |   \\\/       /|        |
|        | \      ///    |    \\\      / |        |
|        |  \    ///\    |    /\\\    /  |        |
|        |   \  ///  \   |   /  \\\  /   |        |
|        |    \///    \  |  /    \\\/    |        |
|        |    /\/      \ | /      \/\    |        |
|        |   *//\       \|/       /\\*   |        |
|        X   */  Y       o       Y  \*   Z        |
|         \  *   |               |   *  /         |
|          \ G   |               |   H /          |
|           \    |               |    /           |
|            \   |               |   /            |
|             \  |               |  /             |
|              \ |               | /              |
|               \|               |/               |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 3.  Projections of F onto G and H


To interpret the Figure, visualize the 3-adic relation F ⊆ X × Y × Z as a body in XYZ-space, while G is a figure in XY-space and H is a figure in YZ-space.

The 2-adic projections that accompany a 3-adic relation over X, Y, Z are defined as follows:

• projXY(L) = {(x, y) ∈ X × Y : (∃ zZ) (x, y, z) ∈ L},
• projXZ(L) = {(x, z) ∈ X × Z : (∃ yY) (x, y, z) ∈ L},
• projYZ(L) = {(y, z) ∈ Y × Z : (∃ xX) (x, y, z) ∈ L}.

For many purposes it suffices to indicate the 2-adic projections of a 3-adic relation L by means of the briefer equivalents listed here:

• LXY = projXY(L),
• LXZ = projXZ(L),
• LYZ = projYZ(L).

In light of these definitions, projXY is a mapping from the set LXYZ of 3-adic relations over X, Y, Z to the set LXY of 2-adic relations over X and Y, with similar relationships holding for the other projections. To formalize these relationships in a concise but explicit manner, it serves to add a few more definitions.

The set LXYZ, whose membership is just the 3-adic relations over X, Y, Z, can be recognized as the set of all subsets of the cartesian product X × Y × Z, also known as the power set of X × Y × Z, and notated here as Pow(X × Y × Z).

• LXYZ = {L : L ⊆ X × Y × Z} = Pow(X × Y × Z).

Likewise, the power sets of the pairwise cartesian products encompass all of the 2-adic relations on pairs of distinct domains that can be chosen from {X, Y, Z}.

• LXY = {L : LX × Y} = Pow(X × Y),
• LXZ = {L : LX × Z} = Pow(X × Z),
• LYZ = {L : LY × Z} = Pow(Y × Z).

In mathemat.css, the inverse relation corresponding to a projection map is usually called an extension. To avoid confusion with other senses of the word, however, it is probably best for the sake of this discussion to stick with the more specific term tacit extension.

The tacit extensions teXYZ, teXZY, teYZX, of the 2-adic relations U ⊆ X × Y, V ⊆ X × Z, W ⊆ Y × Z, respectively, are defined in the following way:

• teXYZ(U) = {(x, y, z) : (x, y) ∈ U}
• teXZY(V) = {(x, y, z) : (x, z) ∈ V}
• teYZX(W) = {(x, y, z) : (y, z) ∈ W}

So long as the intended indices attaching to the tacit extensions can be gathered from context, it is usually clear enough to use the abbreviated forms, te(U), te(V), te(W).

The definition and illustration of relational composition presently under way makes use of the tacit extension of G ⊆ X × Y to te(G) ⊆ X × Y × Z and the tacit extension of H ⊆ Y × Z to te(H) ⊆ X × Y × Z, only.

Geometric illustrations of te(G) and te(H) are afforded by Figures 4 and 5, respectively.

o-------------------------------------------------o
|                                                 |
|                        o                        |
|                       /|\                       |
|                      / | \                      |
|                     /  |  \                     |
|                    /   |   \                    |
|                   /    |    \                   |
|                  /     |     \                  |
|                 /      |   *  \                 |
|                o       o  **   o                |
|                |\     / \***  /|                |
|                | \   /  ***  / |                |
|                |  \ /  ***\ /  |                |
|                |   \  ***  /   |                |
|                |  / \***  / \  |                |
|                | /  ***  /   \ |                |
|                |/  ***\ /     \|                |
|        o       X  /**  Y       Z       o        |
|        |\       \//*   |      /       /|        |
|        | \      ///    |     /       / |        |
|        |  \    ///\    |    /       /  |        |
|        |   \  ///  \   |   /       /   |        |
|        |    \///    \  |  /       /    |        |
|        |    /\/      \ | /       /     |        |
|        |   *//\       \|/       /  *   |        |
|        X   */  Y       o       Y   *   Z        |
|         \  *   |               |   *  /         |
|          \ G   |               |   H /          |
|           \    |               |    /           |
|            \   |               |   /            |
|             \  |               |  /             |
|              \ |               | /              |
|               \|               |/               |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 4.  Tacit Extension of G to X x Y x Z


o-------------------------------------------------o
|                                                 |
|                        o                        |
|                       /|\                       |
|                      / | \                      |
|                     /  |  \                     |
|                    /   |   \                    |
|                   /    |    \                   |
|                  /     |     \                  |
|                 /  *   |      \                 |
|                o   **  o       o                |
|                |\  ***/ \     /|                |
|                | \  ***  \   / |                |
|                |  \ /***  \ /  |                |
|                |   \  ***  /   |                |
|                |  / \  ***/ \  |                |
|                | /   \  ***  \ |                |
|                |/     \ /***  \|                |
|        o       X       Y  **\  Z       o        |
|        |\       \      |   *\\/       /|        |
|        | \       \     |    \\\      / |        |
|        |  \       \    |    /\\\    /  |        |
|        |   \       \   |   /  \\\  /   |        |
|        |    \       \  |  /    \\\/    |        |
|        |     \       \ | /      \/\    |        |
|        |   *  \       \|/       /\\*   |        |
|        X   *   Y       o       Y  \*   Z        |
|         \  *   |               |   *  /         |
|          \ G   |               |   H /          |
|           \    |               |    /           |
|            \   |               |   /            |
|             \  |               |  /             |
|              \ |               | /              |
|               \|               |/               |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 5.  Tacit Extension of H to X x Y x Z


A geometric interpretation can now be given that fleshes out in graphic form the meaning of a formula like the following:

• F(x, y, z) = G(x, y) ∧ H(y, z).

The conjunction that is indicated by "∧" corresponds as usual to an intersection of two sets, however, in this case it is the intersection of the tacit extensions te(G) and te(H).

o-------------------------------------------------o
|                                                 |
|                        o                        |
|                       /|\                       |
|                      / | \                      |
|                     /  |  \                     |
|                    /   |   \                    |
|                   /    |    \                   |
|                  /     |     \                  |
|                 /      |      \                 |
|                o       o       o                |
|                |\     / \     /|                |
|                | \   / F \   / |                |
|                |  \ /  *  \ /  |                |
|                |   \  /*\  /   |                |
|                |  / \//*\\/ \  |                |
|                | /  /\/ \/\  \ |                |
|                |/  ///\ /\\\  \|                |
|        o       X  ///  Y  \\\  Z       o        |
|        |\       \///   |   \\\/       /|        |
|        | \      ///    |    \\\      / |        |
|        |  \    ///\    |    /\\\    /  |        |
|        |   \  ///  \   |   /  \\\  /   |        |
|        |    \///    \  |  /    \\\/    |        |
|        |    /\/      \ | /      \/\    |        |
|        |   *//\       \|/       /\\*   |        |
|        X   */  Y       o       Y  \*   Z        |
|         \  *   |               |   *  /         |
|          \ G   |               |   H /          |
|           \    |               |    /           |
|            \   |               |   /            |
|             \  |               |  /             |
|              \ |               | /              |
|               \|               |/               |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 6.  F as the Intersection of te(G) and te(H)


## Algebraic construction

The transition from a geometric picture of relation composition to an algebraic formulation is accomplished through the introduction of coordinates, in other words, identifiable names for the objects that are related through the various forms of relations, 2-adic and 3-adic in the present case. Adding coordinates to the running Example produces the following Figure:

o-------------------------------------------------o
|                                                 |
|                        o                        |
|                       /|\                       |
|                      / | \                      |
|                     /  |  \                     |
|                    /   |   \                    |
|                   /    |    \                   |
|                  /     |     \                  |
|                 /      |      \                 |
|                o       o       o                |
|                |\     / \     /|                |
|                | \   / F \   / |                |
|                |  \ /  *  \ /  |                |
|                |   \  /*\  /   |                |
|                |  / \//*\\/ \  |                |
|                | /  /\/ \/\  \ |                |
|                |/  ///\ /\\\  \|                |
|        o       X  ///  Y  \\\  Z       o        |
|        |\      7\///   |   \\\/7      /|        |
|        | \      6//    |    \\6      / |        |
|        |  \    //5\    |    /5\\    /  |        |
|        |   \  /// 4\   |   /4 \\\  /   |        |
|        |    \///   3\  |  /3   \\\/    |        |
|        |   G/\/     2\ | /2     \/\H   |        |
|        |   *//\      1\|/1      /\\*   |        |
|        X   *\  Y       o       Y  /*   Z        |
|        7\  *\\ |7             7| //*  /7        |
|         6\ |\\\|6             6|///| /6         |
|          5\| \\@5             5@// |/5          |
|           4@  \@4             4@/  @4           |
|            3\  @3             3@  /3            |
|             2\ |2             2| /2             |
|              1\|1             1|/1              |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 7.  F as the Intersection of te(G) and te(H)


Thinking of relations in operational terms is facilitated by using a variant notation for tuples and sets of tuples, namely, the ordered pair (xy) is written x:y, the ordered triple (xyz) is written x:y:z, and so on, and a set of tuples is conceived as a logical-algebraic sum, which can be written out in the smaller finite cases in forms like a:b + b:c + c:d and so on.

For example, translating the relations F ⊆ X × Y × Z, G ⊆ X × Y, H ⊆ Y × Z into this notation produces the following summary of the data:

 F = 4:3:4 + 4:4:4 + 4:5:4 G = 4:3 + 4:4 + 4:5 H = 3:4 + 4:4 + 5:4

As often happens with abstract notations for functions and relations, the type information, in this case, the fact that G and H live in different spaces, is left implicit in the context of use.

Let us now verify that all of the proposed definitions, formulas, and other relationships check out against the concrete data of the current composition example. The ultimate goal is to develop a clearer picture of what is going on in the formula that expresses the relational composition of a couple of 2-adic relations in terms of the medial projection of the intersection of their tacit extensions:

G ο H = projXZ(teXYZ(G) ∩ teYZX(H)).

Here is the big picture, with all of the pieces in place:

o-------------------------------------------------o
|                                                 |
|                        o                        |
|                       / \                       |
|                      /   \                      |
|                     /     \                     |
|                    /       \                    |
|                   /         \                   |
|                  /           \                  |
|                 /    G o H    \                 |
|                X       *       Z                |
|                7\     /|\     /7                |
|                 6\   / | \   /6                 |
|                  5\ /  |  \ /5                  |
|                   4@   |   @4                   |
|                    3\  |  /3                    |
|                     2\ | /2                     |
|                      1\|/1                      |
|                        |                        |
|                        |                        |
|                        |                        |
|                       /|\                       |
|                      / | \                      |
|                     /  |  \                     |
|                    /   |   \                    |
|                   /    |    \                   |
|                  /     |     \                  |
|                 /      |      \                 |
|                o       |       o                |
|                |\     /|\     /|                |
|                | \   / F \   / |                |
|                |  \ /  *  \ /  |                |
|                |   \  /*\  /   |                |
|                |  / \//*\\/ \  |                |
|                | /  /\/ \/\  \ |                |
|                |/  ///\ /\\\  \|                |
|        o       X  ///  Y  \\\  Z       o        |
|        |\       \///   |   \\\/       /|        |
|        | \      ///    |    \\\      / |        |
|        |  \    ///\    |    /\\\    /  |        |
|        |   \  ///  \   |   /  \\\  /   |        |
|        |    \///    \  |  /    \\\/    |        |
|        |   G/\/      \ | /      \/\H   |        |
|        |   *//\       \|/       /\\*   |        |
|        X   *\  Y       o       Y  /*   Z        |
|        7\  *\\ |7             7| //*  /7        |
|         6\ |\\\|6             6|///| /6         |
|          5\| \\@5             5@// |/5          |
|           4@  \@4             4@/  @4           |
|            3\  @3             3@  /3            |
|             2\ |2             2| /2             |
|              1\|1             1|/1              |
|                o               o                |
|                                                 |
o-------------------------------------------------o
Figure 8.  G o H  =  proj_XZ (te(G) |^| te(H))


All that remains is to check the following collection of data and derivations against the situation represented in Figure 8.

 F = 4:3:4 + 4:4:4 + 4:5:4 G = 4:3 + 4:4 + 4:5 H = 3:4 + 4:4 + 5:4
 G ο H = (4:3 + 4:4 + 4:5)(3:4 + 4:4 + 5:4) = 4:4
 te(G) = teXYZ(G) = ∑z=1..7 (4:3:z + 4:4:z + 4:5:z)
 te(G) = 4:3:1 + 4:4:1 + 4:5:1 + 4:3:2 + 4:4:2 + 4:5:2 + 4:3:3 + 4:4:3 + 4:5:3 + 4:3:4 + 4:4:4 + 4:5:4 + 4:3:5 + 4:4:5 + 4:5:5 + 4:3:6 + 4:4:6 + 4:5:6 + 4:3:7 + 4:4:7 + 4:5:7
 te(H) = teYZX(H) = ∑x=1..7 (x:3:4 + x:4:4 + x:5:4)
 te(H) = 1:3:4 + 1:4:4 + 1:5:4 + 2:3:4 + 2:4:4 + 2:5:4 + 3:3:4 + 3:4:4 + 3:5:4 + 4:3:4 + 4:4:4 + 4:5:4 + 5:3:4 + 5:4:4 + 5:5:4 + 6:3:4 + 6:4:4 + 6:5:4 + 7:3:4 + 7:4:4 + 7:5:4
 te(G) ∩ te(H) = 4:3:4 + 4:4:4 + 4:5:4 G ο H = projXZ(te(G) ∩ te(H)) = projXZ(4:3:4 + 4:4:4 + 4:5:4) = 4:4

## Matrix representation

We have it within our reach to pick up another way of representing 2-adic relations, namely, the representation as logical matrices, and also to grasp the analogy between relational composition and ordinary matrix multiplication as it appears in linear algebra.

First of all, while we still have the data of a very simple concrete case in mind, let us reflect on what we did in our last Example in order to find the composition G ο H of the 2-adic relations G and H.

Here is the setup that we had before:

 X = {1, 2, 3, 4, 5, 6, 7}
 G = 4:3 + 4:4 + 4:5 ⊆ X × X H = 3:4 + 4:4 + 5:4 ⊆ X × X

Let us recall the rule for finding the relational composition of a pair of 2-adic relations. Given the 2-adic relations P ⊆ X × Y, Q ⊆ Y × Z, the relational composition of P and Q, in that order, is written as P ο Q or more simply as PQ and obtained as follows:

To compute PQ, in general, where P and Q are 2-adic relations, simply multiply out the two sums in the ordinary distributive algebraic way, but subject to the following rule for finding the product of two elementary relations of shapes a:b and c:d.

 (a:b)(c:d) = (a:d) if b = c (a:b)(c:d) = 0 otherwise

To find the relational composition G ο H, one may begin by writing it as a quasi-algebraic product:

 G ο H = (4:3 + 4:4 + 4:5)(3:4 + 4:4 + 5:4)

Multiplying this out in accord with the applicable form of distributive law one obtains the following expansion:

 G ο H = (4:3)(3:4) + (4:3)(4:4) + (4:3)(5:4) + (4:4)(3:4) + (4:4)(4:4) + (4:4)(5:4) + (4:5)(3:4) + (4:5)(4:4) + (4:5)(5:4)

Applying the rule that determines the product of elementary relations produces the following array:

 G ο H = (4:4) + 0 + 0 + 0 + (4:4) + 0 + 0 + 0 + (4:4)

Since the plus sign in this context represents an operation of logical disjunction or set-theoretic aggregation, all of the positive multiplicites count as one, and this gives the ultimate result:

 G ο H = (4:4)

With an eye toward extracting a general formula for relation composition, viewed here on analogy to algebraic multiplication, let us examine what we did in multiplying the 2-adic relations G and H together to obtain their relational composite G o H.

Given the space X = {1, 2, 3, 4, 5, 6, 7}, whose cardinality |X| is 7, there are |X × X| = |X| · |X| = 7 · 7 = 49 elementary relations of the form i:j, where i and j range over the space X. Although they might be organized in many different ways, it is convenient to regard the collection of elementary relations as being arranged in a lexicographic block of the following form:

 1:1 1:2 1:3 1:4 1:5 1:6 1:7 2:1 2:2 2:3 2:4 2:5 2:6 2:7 3:1 3:2 3:3 3:4 3:5 3:6 3:7 4:1 4:2 4:3 4:4 4:5 4:6 4:7 5:1 5:2 5:3 5:4 5:5 5:6 5:7 6:1 6:2 6:3 6:4 6:5 6:6 6:7 7:1 7:2 7:3 7:4 7:5 7:6 7:7

The relations G and H may then be regarded as logical sums of the following forms:

 G = ∑ij Gij(i:j) H = ∑ij Hij(i:j)

The notation ∑ij indicates a logical sum over the collection of elementary relations i:j, while the factors Gij and Hij are values in the boolean domain B = {0, 1} that are known as the coefficients of the relations G and H, respectively, with regard to the corresponding elementary relations i:j.

In general, for a 2-adic relation L, the coefficient Lij of the elementary relation i:j in the relation L will be 0 or 1, respectively, as i:j is excluded from or included in L.

With these conventions in place, the expansions of G and H may be written out as follows:

 G = 4:3 + 4:4 + 4:5 =
 0(1:1) + 0(1:2) + 0(1:3) + 0(1:4) + 0(1:5) + 0(1:6) + 0(1:7) + 0(2:1) + 0(2:2) + 0(2:3) + 0(2:4) + 0(2:5) + 0(2:6) + 0(2:7) + 0(3:1) + 0(3:2) + 0(3:3) + 0(3:4) + 0(3:5) + 0(3:6) + 0(3:7) + 0(4:1) + 0(4:2) + 1(4:3) + 1(4:4) + 1(4:5) + 0(4:6) + 0(4:7) + 0(5:1) + 0(5:2) + 0(5:3) + 0(5:4) + 0(5:5) + 0(5:6) + 0(5:7) + 0(6:1) + 0(6:2) + 0(6:3) + 0(6:4) + 0(6:5) + 0(6:6) + 0(6:7) + 0(7:1) + 0(7:2) + 0(7:3) + 0(7:4) + 0(7:5) + 0(7:6) + 0(7:7)

 H = 3:4 + 4:4 + 5:4 =
 0(1:1) + 0(1:2) + 0(1:3) + 0(1:4) + 0(1:5) + 0(1:6) + 0(1:7) + 0(2:1) + 0(2:2) + 0(2:3) + 0(2:4) + 0(2:5) + 0(2:6) + 0(2:7) + 0(3:1) + 0(3:2) + 0(3:3) + 1(3:4) + 0(3:5) + 0(3:6) + 0(3:7) + 0(4:1) + 0(4:2) + 0(4:3) + 1(4:4) + 0(4:5) + 0(4:6) + 0(4:7) + 0(5:1) + 0(5:2) + 0(5:3) + 1(5:4) + 0(5:5) + 0(5:6) + 0(5:7) + 0(6:1) + 0(6:2) + 0(6:3) + 0(6:4) + 0(6:5) + 0(6:6) + 0(6:7) + 0(7:1) + 0(7:2) + 0(7:3) + 0(7:4) + 0(7:5) + 0(7:6) + 0(7:7)

Stripping down to the bare essentials, one obtains the following matrices of coefficients for the relations G and H.

 G = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 H = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

These are the logical matrix representations of the 2-adic relations G and H.

If the 2-adic relations G and H are viewed as logical sums, then their relational composition G ο H can be regarded as a product of sums, a fact that can be indicated as follows:

G ο H = (∑ij Gij(i:j))(∑ij Hij(i:j)).

The composite relation G ο H is itself a 2-adic relation over the same space X, in other words, G ο H ⊆ X × X, and this means that G ο H must be amenable to being written as a logical sum of the following form:

G ο H = ∑ij (G ο H)ij(i:j).

In this formula, (G ο H)ij is the coefficient of G ο H with respect to the elementary relation i:j.

One of the best ways to reason out what G ο H should be is to ask oneself what its coefficient (G ο H)ij should be for each of the elementary relations i:j in turn.

So let us pose the question:

(G ο H)ij = ?

In order to answer this question, it helps to realize that the indicated product given above can be written in the following equivalent form:

G ο H = (∑ik Gik(i:k))(∑kj Hkj(k:j)).

A moment's thought will tell us that (G ο H)ij = 1 if and only if there is an element k in X such that Gik = 1 and Hkj = 1.

Consequently, we have the result:

(G ο H)ij = ∑k GikHkj.

This follows from the properties of boolean arithmetic, specifically, from the fact that the product GikHkj is 1 if and only if both Gik and Hkj are 1, and from the fact that ∑k Fk is equal to 1 just in case some Fk is 1.

All that remains in order to obtain a computational formula for the relational composite G ο H of the 2-adic relations G and H is to collect the coefficients (G ο H)ij over the appropriate basis of elementary relations i:j, as i and j range through X.

G ο H = ∑ij (G ο H)ij(i:j) = ∑ij(∑k GikHkj)(i:j).

This is the logical analogue of matrix multiplication in linear algebra, the difference in the logical setting being that all of the operations performed on coefficients take place in a system of boolean arithmetic where summation corresponds to logical disjunction and multiplication corresponds to logical conjunction.

By way of disentangling this formula, one may notice that the form ∑k (GikHkj) is what is usually called a "scalar product". In this case it is the scalar product of the ith row of G with the jth column of H.

To make this statement more concrete, let us go back to the particular examples of G and H that we came in with:

 G = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 H = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

The formula for computing G ο H says the following:

 (G ο H)ij = the ijth entry in the matrix representation for G ο H = the entry in the ith row and the jth column of G ο H = the scalar product of the ith row of G with the jth column of H = ∑k GikHkj

As it happens, it is possible to make exceedingly light work of this example, since there is only one row of G and one column of H that are not all zeroes. Taking the scalar product, in a logical way, of the fourth row of G with the fourth column of H produces the sole non-zero entry for the matrix of G ο H.

 G ο H =
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

## Graph-theoretic picture

There is another form of representation for 2-adic relations that is useful to keep in mind, especially for its ability to render the logic of many complex formulas almost instantly understandable to the mind's eye. This is the representation in terms of bipartite graphs, or bigraphs for short.

Here is what G and H look like in the bigraph picture:

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|                /|\                    |
|               / | \              G    |
|              /  |  \                  |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 9.  G = 4:3 + 4:4 + 4:5

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|              \  |  /                  |
|               \ | /              H    |
|                \|/                    |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 10.  H = 3:4 + 4:4 + 5:4


These graphs may be read to say:

• G puts 4 in relation to 3, 4, 5.
• H puts 3, 4, 5 in relation to 4.

To form the composite relation G ο H, one simply follows the bigraph for G by the bigraph for H, here arranging the bigraphs in order down the page, and then treats any non-empty set of paths of length two between two nodes as being equivalent to a single directed edge between those nodes in the composite bigraph for G ο H.

Here's how it looks in pictures:

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|                /|\                    |
|               / | \              G    |
|              /  |  \                  |
|     o   o   o   o   o   o   o    X    |
|              \  |  /                  |
|               \ | /              H    |
|                \|/                    |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 11.  G Followed By H

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|                 |                     |
|                 |              G o H  |
|                 |                     |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 12.  G Composed With H


Once again we find that G ο H = 4:4.

We have now seen three different representations of 2-adic relations. If one has a strong preference for letters, or numbers, or pictures, then one may be tempted to take one or another of these as being canonical, but each of them will be found to have its peculiar advantages and disadvantages in any given application, and the maximum advantage is therefore approached by keeping all three of them in mind.

To see the promised utility of the bigraph picture of 2-adic relations, let us devise a slightly more complex example of a composition problem, and use it to illustrate the logic of the matrix multiplication formula.

Keeping to the same space X = {1, 2, 3, 4, 5, 6, 7}, define the 2-adic relations MN ⊆ X × X as follows:

 M = 2:1 + 2:2 + 2:3 + 4:3 + 4:4 + 4:5 + 6:5 + 6:6 + 6:7 N = 1:1 + 2:1 + 3:3 + 4:3 + 4:5 + 5:5 + 6:7 + 7:7

Here are the bigraph pictures:

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|        /|\     /|\     /|\            |
|       / | \   / | \   / | \      M    |
|      /  |  \ /  |  \ /  |  \          |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|     |  /    |  / \  |    \  |         |
|     | /     | /   \ |     \ |    N    |
|     |/      |/     \|      \|         |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o


To form the composite relation M ο N, one simply follows the bigraph for M by the bigraph for N, here arranging the bigraphs in order down the page, and then counts any non-empty set of paths of length two between two nodes as being equivalent to a single directed edge between those two nodes in the composite bigraph for M ο N.

Here's how it looks in pictures:

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|        /|\     /|\     /|\            |
|       / | \   / | \   / | \      M    |
|      /  |  \ /  |  \ /  |  \          |
|     o   o   o   o   o   o   o    X    |
|     |  /    |  / \  |    \  |         |
|     | /     | /   \ |     \ |    N    |
|     |/      |/     \|      \|         |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 15.  M Followed By N

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|        / \     / \     / \            |
|       /   \   /   \   /   \    M o N  |
|      /     \ /     \ /     \          |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 16.  M Composed With N


Let us hark back to that mysterious matrix multiplication formula, and see how it appears in the light of the bigraph representation.

The coefficient of the composition M ο N between i and j in X is given as follows:

(M ο N)ij = ∑k(MikNkj)

Graphically interpreted, this is a sum over paths. Starting at the node i, Mik being 1 indicates that there is an edge in the bigraph of M from node i to node k, and Nkj being 1 indicates that there is an edge in the bigraph of N from node k to node j. So the ∑k ranges over all possible intermediaries k, ascending from 0 to 1 just as soon as there happens to be some path of length two between nodes i and j.

It is instructive at this point to compute the other possible composition that can be formed from M and N, namely, the composition N ο M, that takes M and N in the opposite order. Here is the graphic computation:

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|     |  /    |  / \  |    \  |         |
|     | /     | /   \ |     \ |    N    |
|     |/      |/     \|      \|         |
|     o   o   o   o   o   o   o    X    |
|        /|\     /|\     /|\            |
|       / | \   / | \   / | \      M    |
|      /  |  \ /  |  \ /  |  \          |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 17.  N Followed By M

o---------------------------------------o
|                                       |
|     1   2   3   4   5   6   7         |
|     o   o   o   o   o   o   o    X    |
|                                       |
|                                N o M  |
|                                       |
|     o   o   o   o   o   o   o    X    |
|     1   2   3   4   5   6   7         |
|                                       |
o---------------------------------------o
Figure 18.  N Composed With M


In sum, N ο M = 0. This example affords sufficient evidence that relational composition, just like its kindred, matrix multiplication, is a non-commutative algebraic operation.

## References

• Ulam, S.M. and Bednarek, A.R., "On the Theory of Relational Structures and Schemata for Parallel Computation" (1977), pp. 477-508 in A.R. Bednarek and Françoise Ulam (eds.), Analogies Between Analogies: The Mathematical Reports of S.M. Ulam and His Los Alamos Collaborators, University of California Press, Berkeley, CA, 1990.

## Bibliography

• Mathematical Society of Japan, Encyclopedic Dictionary of Mathemat.css, 2nd edition, 2 vols., Kiyosi Itô (ed.), MIT Press, Cambridge, MA, 1993.
• Mili, A., Desharnais, J., Mili, F., with Frappier, M., Computer Program Construction, Oxford University Press, New York, NY, 1994. — Introduction to Tarskian relation theory and its applications within the relational programming paradigm.
• Ulam, S.M., Analogies Between Analogies: The Mathematical Reports of S.M. Ulam and His Los Alamos Collaborators, A.R. Bednarek and Françoise Ulam (eds.), University of California Press, Berkeley, CA, 1990.

## Syllabus

### Relational concepts

 Relation Relation composition Relation construction Relation reduction

## Document history

Portions of the above article were adapted from the following sources under the GNU Free Documentation License, under other applicable licenses, or by permission of the copyright holders.