Meet and join
Meet and join are a pair of binary operations which combine two abstract regular temperaments on a JI group G into another temperament on G. The operations are commutative and associative. More concretely, for any of the standard ways of representing an abstract regular temperament (normal val lists, normal comma lists, wedgies, Frobenius projection maps, and reduced row echelon form) we can regard them as taking any pair of such defined on G and producing another also defined on G.
There are actually two different notions of meet and join, depending on if one is "joining" the kernels of the two temperaments, or the subgroups of supporting vals. The two satisfy duality relationships in that the "join" in one convention is the meet in the other. Both conventions are presented below, as well as the larger picture of how they interrelate.
Both notions of meet and join can also be extended to an arbitrary pair of subgroup temperaments, even if on different subgroups, also explained below.
Mathematical Preliminaries: Join and Meet of Subgroups
In general, given some group G, the subgroups of G form an order-theoretic structure called a lattice of subgroups, where here "lattice" means lattice in the order theory sense; "trellis" in French, "Verband" in German. A lattice is a partially ordered set in which for two subgroups A and B of group G, we have A ≤ B iff A is itself a subgroup of B.
Given two subgroups A and B, the join of A and B is the smallest subgroup of G containing both; this is sometimes also called the subgroup generated by A and B. The meet of A and B is the intersection of both.
Note that in this definition, it doesn't matter what kind of group G is - it could represent musical intervals, or vals, or anything (it need not even be abelian). When working with temperaments, we have at least two relevant groups - the group of vanishing commas, and the group of supporting vals - both of which have a relevant lattice of subgroups. As we will see, we will get two different notions of meet and join based on which one we'd like to do.
Intra-Subgroup Temperament Meet and Join
Given some JI group G and dual group of vals G^, each temperament of G can be defined either as a subgroup of supporting vals within G^, or a subgroup of vanishing commas within G, also called a kernel. We will get two different notions of "meet" and "join" depending on if we are joining the kernels or the supporting vals. These are basically identical except the meaning is swapped; a join of vals is equal to a meet of kernels and so on.
Given two temperaments A and B of group G, the kernel-join or val-meet of A and B is formed by taking the join of the kernels of A and B, or, equivalently, the intersection of the supporting vals of both. The resulting temperament, in terms of commas, tempers out those commas either in A or B, as well as any linear combination thereof. In terms of vals, it is supported by only those vals that support both A and B. It can be computed by starting with the normal comma lists of A and B, and reducing to a normal comma list the concatenation of A and B, which is to say, the Hermite reduction of the list of commas of A with the commas of B.
Similarly, the kernel-meet or val-join of A and B is formed by taking the meet of the kernels of A and B, and thus equivalently, the join of the supporting vals of both. The resulting temperament, in terms of commas, tempers out only those commas tempered in both A and B, and in terms of vals, is supported by any linear combination of vals supporting either A or B. Dually to the above, we can compute this by taking the normal val lists for A and B, concatenating, and Hermite-reducing to another normal val list.
The kernel-join/val-meet of two temperaments A and B is the "simplest" temperament that supports both A and B, in the sense that it only tempers out the minimum set of commas required to support both. Similarly, the kernel-meet/val-join is the "most complex" temperament that is supported by both A and B, in the sense that it tempers out as many commas as possible that the kernels of A and B have in common.
This definition assumes both A and B have no torsion or contorsion, and that torsion/contorsion is removed after taking the meet/join; otherwise the definition is more complicated.
Inter-Subgroup Temperament Meet and Join
If A and B are two temperaments on different subgroups, then there are similarly two natural operations that we can use to combine them: informally, we can look for the "largest" temperament supported by both, and the "smallest" temperament that supports both, in a sense to be made precise below.
We can take the intersection of the two temperaments' subgroups, and the intersection of the two temperaments' kernels, independently, to form the kernel-meet/val-join of both temperaments, which reduces to the prior definition of the meet if the two subgroups are equal. The kernel-meet/val-join is the "largest" temperament that both A and B support, in the sense that any other temperament that both A and B support is also supported by the kernel-meet. Every comma tempered out by both A and B is also tempered out in the kernel-meet, and vice versa.
Similarly, we can take the join of both subgroups and kernels to get the kernel-join/val-meet. The kernel-join is the "smallest" temperament that supports both A and B, in the sense that if any other temperament also supports both A and B, it supports the kernel-join. Every comma tempered out by either A or B is also tempered out in the kernel-join, and vice versa.
These definitions assume that both A and B have no torsion or contorsion and that such things are removed after either type of join or meet; if one desires to keep torsion and contorsion the definitions get much more complicated.
Poset Properties
The operations of join and meet give the set of temperaments the structure of a partially ordered set, sometimes called a poset.
Same Subgroup
Given that the set of temperaments of some subgroup G forms an order-theoretic lattice, we can look at the resulting poset and derive some interesting related ideas.
In the notation below, A & B refers to the "kernel-meet" of A and B, aka the val-join, and A | B refers to the "kernel-join" or val-meet. It does not really matter which convention we choose, as we get the same basic result either way. Historically, using & to join vals has been the predominant convention, with some differences regarding the treatment of contorsion, although phrases like e.g. "2.3.5.7 81/80 & 126/125" have also seen occasional use.
There is a partial order on the temperaments of G, given by A ≤ B iff A & B = A, or equivalently, A ≤ B iff A | B = B. Since A & G = G, G is the minimal temperament - it is JI and tempers out no commas. Similarly, if we denote G/G as the "rank-0" temperament of G in which everything is tempered out, we have that A | G/G = G/G, thus G/G is the maximal temperament.
A ≤ B may be expressed by "A is supported by B", in the sense that every comma tempered out by A is also tempered out by B, thus all of the essentially tempered chords and comma pumps from temperament A are also playable in B.
If we had gone with the other convention for meet and join, we would have gotten the same result, except this would be flipped: G would now be the maximal temperament and G/G the minimal.
In the temperament defined by G, nothing is tempered out, and we may also call it JI; and in the temperament defined by G/G, everything is tempered out, and we may also call it OMG.
Different Subgroups
The set of subgroup temperaments also, similarly, forms a lattice, from which we can derive the same basic poset operation above. Again, we have that if A ≤ B iff A & B = A, or equivalently, A ≤ B iff A | B = B. But now, the minimal subgroup temperament is the "trivial subgroup temperament" which has no intervals except for 1/1 and tempers out nothing; we may simply call this subgroup <1>. For all subgroup temperaments, we have that A & <1> = <1>. Similarly, the maximal temperament is Q/Q, meaning the subgroup temperament formed by taking infinite-limit JI and tempering the entire thing out; we may call this OM.
Similarly, if we had gone with the val-join instead of kernel-join, we would have gotten the same result, except the minimal and maximal temperaments would be flipped.
A Note on Terminology
Originally, the "meet" and "join" of two temperaments was proposed on the tuning-math list by Keenan Pepper, who used the terms "meet" and "join" to refer to what is above called the "val-meet" and "val-join," along with the caveat that it doesn't really matter which you call meet or join.
The simple reality is that it is possible to join either vals or kernels, and the relationship between both is significant in its own right, so above is the larger picture of both, and the duality between the two, as that is really what is interesting. Different conventions may be used in different writings, where people can make clear if they are joining vals or kernels.
When looking at subgroups on different temperaments, it is a little bit awkward to literally do things in terms of vals, as the svals you are "joining" or "meeting" don't even exist in the same vector space - rather they are *quotients* of the same vector space. It is still possible to do by looking at how you can "co-temper" vals to get svals, but the simpler way to proceed is simply to do everything in terms of subgroups and kernels, define the kernel-meet and kernel-join in the straightforward way as above, and then simply define the "val-meet" of two subgroup temperaments as equal to the kernel-join and vice versa. As long as the subgroup temperaments you are joining have no torsion or contorsion, and you remove anything like that from the result, all of these things are equivalent.
In mathematical order theory, meet and join are denoted by ∨ and ∧. We avoid doing that for two reasons; the first is to avoid confusion with the interior and wedge products of multivals. The second is that meet and join are operations on abstract temperaments; ordering by increasing size of the group of commas and decreasing size of the group of vals is regarded and notated as the same.
Examples
Suppose we take G to be the 11-limit group. Then we have the following, where again | and & are referring to "kernel-join" and "kernel-meet" in this particular usage.
Meantone | Meanpop = [<31 49 72 87 107|] = 31, where "31" is the shorthand notation for the 31edo patent val (or, equivalently, its subgroup of vanishing commas).
Meantone & Meanpop = [<1 0 -4 -13 0|, <0 1 4 10 0|, <0 0 0 0 1|] = <81/80, 126/125>, where <S> for a set of commas S denotes the temperament of the group G tempering out the given commas.
Meantone | Marvel = 31, Meantone & Marvel = <225/224>
Meantone | Porcupine = G/G = OMG, Meantone & Porcupine = <176/175>
In the 7-limit, that becomes Meantone | Porcupine = OMG; Meantone & Porcupine = JI, hence, we may consider 7-limit meantone and porcupine to be totally unrelated.
Miracle | Magic = 41, Miracle & Magic = Marvel.
In the 7-limit, again Miracle | Magic = 41, Miracle & Magic = Marvel
Miracle | Mothra = 31, Miracle & Mothra = Portent. In the 7-limit, Miracle & Mothra = Gamelan.
Meantone | Magic = OMG, Meantone & Magic = <225/224>
Note that in terms of wedgies, Meantone ∧ Magic = <<<<0 1 2 -2 -5||, which represents Meantone & Magic. This is an instance of the general proposition that if A | B = OMG, then A & B is represented by A ∧ B.