Steve Whealton

An Introduction to Greep Theory

First of all, "greep" is a word I made up. It came to me because it makes "greep theory" sound a little bit like "group theory." I definitely did not invent greep theory itself, nor any of its constituent parts. But I did scrounge it together from scratch, for my own use. I keep looking around, but so far I haven't found anybody else who is working with these ideas in these ways for these purposes. Perhaps the closest thing is partition theory. Enlightenments and elucidations in this matter are welcome.

Greeps are the home-spun rules that I use when sorting and categorizing patterns. Greeps can handle patterns of many kinds, but mostly I use them when dealing with abstract strings, often called "words."

My "greep theory" is definitely more grab-bag of techniques than it is a cogent theory.


Head Count Only

One central idea is to identify "Head-Count Only" (HCO) criteria.

Let us look at a typical situation where greep theory can be useful. Suppose are faced with the task of sifting through dozens (perhaps thousands) of similar patterns of letters. Suppose, further, that the patterns are all five letters long, and finally also that none of the patterns contain any letters except for "a," "b," "c," and "d."

We will not be looking for a single, superior system for categorizing these patterns; rather we want to figure out as many definitive, valid, and consistent schemes as we can.

What HCO rules do is to ignore everything except for the number of letters of each kind that appear. Thus, "aaaaa" and "bbbbb" are similar, and are even considered to be identical in the HCO sense.

The head-count for the letter "a" in the first pattern is five, and the head-count of the letter "b" in the second pattern is also five. Because these fives are identical, the patterns are categorized together. Thus far, we are definitely retracing in a homespun fashion the subject-matter of partition theory.

Let us look at another example. Again using a word-length of size five and an alphabet of size four, the patterns, "abccd" and "dbcad" can also seen to be equivalent by the HCO criterion. This can be made clearer by making use of some terminology from Poker. Think of "abccd" as a pair of "c's" with singles of "a," "b," and "d." A poker player would say "a pair of 'c's." "dbcad" also consists of "one pair," in this case a pair of 'd's," accompanied by singles of "a," "b," and "c." In greep theory, "abccd" and "dbcad" are seen, by HCO criteria, to belong to the same pattern type and in some useful sense to be equivalent or even identical.

One of the most basic and useful tools in my Greep Toolbox is a system for characterizing designating pattern types. The first step in this codification uses the first letters of the lower-case Roman Alphabet.

The codified version for the HCO pattern that is shared by "abccd" and "dbcad" would be "aabcd." The elements that occur the oftenest appear earliest in the alphabet. The number of "a's" is always greater than or equal to the number of "b's," and so on.

A complete codified list of possible pattern types for a word-length of five and an alphabet-length of four would then be "aaaaa," "aaaab," "aaabb," "aaabc," "aabbc," and "aabcd."

I choose to prefer HCO criteria, and I normally use other criteria only when HCO criteria fail to make unique selections.



There are many further ways of analyzing rules and patterns, and of using them. For me, the most important is a distinction between "Namit" rules and "Usit" rules. These words are again my own, and they derive from "Name it" and "Use it," respectively.

To see the distinction, let us examine the universe of words of length two over an alphabet of length three. This combination is rather wieldy. There exist only 9 possible words in this language. Here they are:










Our task is to divide these 9 two-letter combinations into categories. We will choose, somewhat arbitrarily, to divide them into three categories. With further arbitrariness, we will choose to give these three categories the very same names as the three letters in our alphabet, "a," "b," and "c."

The analyses we will perform and the rules we will develop here are not exclusively HCO. This is an occasion where it is not possible to stick to HCO criteria exclusively and come up with the rules that we choose to look for.

There are many ways to do our categorizings. But by focusing on two specific renderings, we can understand "NAMIT" and "USIT," and begin to understand how greep theory is used.

The USIT Greep for this situation is unique. It is one of my favorites. Here it is, presented in conversational form:

"Looking at the 9 two-letter patterns , one notices immediately that 3 of the 9 pairs feature the same letter twice. Why not allow each of these 3 repeated-letter patterns be represented by the very letter that appears twice in each of them?"

"Thus, aa = a, bb = b, and cc = c."

"This takes care of 3 of the nine."

"A neat way to choose for the other six is to pick the one letter from the available alphabet that hasn't already appeared. Thus, ab = c, ac = b, ba = c, bc = a, ca = b, and cb = a."

This completes the Greep. Here is the table again, this time showing the "answers" along with the "questions:"










This table shows a greep (cogent set of rules) that is an example of "USIT."



To understand the "NAMIT" idea, let us tackle the same task again, with the same 9 two-letter combinations again as our raw materials:










Looking at the 9 patterns, one notices immediately that 3 of the 9 feature the same letter twice. Why not allow each of these 3 repeated-letter patterns be represented by the same letter? Just to be arbitrary, we'll choose the letter "a" to designate "sameness."

Thus, aa = a, bb = a, and cc = a.

This takes care of 3 of the nine.

For the other 6, imagine an endless cycle created by stringing out all three letters of the given alphabet over and over again: "abcabcabcabcabc..." Imagine it continuing indefinitely.

If some given two-letter pattern occurs within the endless cycle, we'll call it "b." If our two-letter pattern does not appear in the endless cycle, we'll call it "c."

Because the patterns "ab," "bc," and "ca" do appear in the cycle, each of those three patterns are designated "b." Because "ba," "cb," and "ac" do not appear in the cycle, each of them is designated "c."

Here is the complete rundown for this realization of a "NAMIT" rule:












Recall that the choices of "a," for "sameness," of "b" for those two-letter patterns that did fit into the cycle, and of "c" for the two-letter patterns that did not fit into the cycleˇall three were abritrary choices. There are six possible combinations of "a," "b," and "c," and the three rules. Thus, while this particular "USIT" greep is unique, it can have any of six valid "NAMIT" counterparts.

So where do the words, "USIT" and "NAMIT," come in? Look at the first steps in the creation of each greep. In both cases, it was noticed that 3 of the 9 patterns feature the same letter twice. But in the "USIT" case this distinction was used to choose the very letter that had appeared twice. In the "NAMIT" case the distinction instead became a name. In our example, the letter, "a" was a name for "sameness."



There are several other tools in the greep toolbox. To understand what some of them are, we will focus next on the question of definitive selection.

It turns out that in normal HCO situations, there will be a single NAMIT greep and a variety of USIT greeps, reversing the situation encountered in the example, above. (Remember that the above example did not limit itself to HCO rules.)

Typically too, NAMIT greeps are simple and straightforward, with no ambiguities and no failures to be definitive. But in USITland, the situation is rockier. Difficulties come in making definitive choices when HCO rules do not fully force one outcome over another.

To see why this is so, let us use one further example. This time, both our alphabet length and our word length will be three. Rather than show all 27 possible three-letter combinations over the alphabet {a, b, c}, let us first create the codified chart described earlier:




The first type, here designated by "aaa," occurs three times among the 27; as "aaa," as "bbb," and as "ccc." A poker-player would say "three of a kind."

A pair is represented here by "aab." This includes over half of the 27 patterns; 18 of them in fact. The reader might find it interesting and useful to list all 27 of the three-letter patterns, and also to examine the 18 patterns that fall into this class.

The "abc" type is represented by 6 of the 27. If "a" is placed first, the either "bc" or "cb" can follow. Similarly, there are two possibilities when "b" comes first and two as well "c" occurs at the beginning.

A NAMIT greep would be one that would assign (arbitrarily) one letter to the 3 "aaa" patterns, another letter to the 18 "aab" patterns and a third letter to the 6 "abc" patterns. Thus, all "three-of-a-kind patterns might be "a," all "pair-and-singleton" patterns might be "b," and all "three-singlteons" patterns might be "c." As with the earlier example, other ways of naming the three categories could be chosen. But it turns out that such questions of naming are not as important or as basic as is another kind of ambiguity or choice.

On the USIT side, the task is not to name (as had been with NAMIT, above) but rather to use the "aaa," the "aab," and the "abc" categorizations.

The straightforward way to do this with "aaa" is of course to let "aaa" be characterized by "a," "bbb" by "b," and "ccc" by "c." Again, one could make other choices.

It is with the 18 "aab" patterns, that we see how more than one valid USIT rules might apply in some given situation.

In this particular case, one might choose to choose "a," the doubleton. (We switch from poker to bridge.)

But notice that it would be equally valid to choose the minority vote and go with the singleton, "b." In this particular situation, every "aab" will always have a singleton ("b" as we are calling it), and so it will always be possible to select the singleton definitively.

Not quite so obvious is a third choice, "c." I like to call it the "missington," although bridge players call it a "void." Here, there is a unique missington, and uniqueness makes possible a definitive choice.

Recall that at this stage of things, "a," "b," and "c," stand for other letters or objects. Recall as well that "a," is the most common letter, "b," is next, and so on.

It is with the "abc" type that ambiguity creeps in—where strictly speaking no HCO choice can be made. For with "abc" type patterns, there is one "a," one "b," and one "c." No uniqueness.

This example shows a case of multiple USIT outcome (for the case of "aab" patterns) and also a case of ambiguous USIT outcome (for the case of "abc" patterns). It also introduces the usefulness of the missington.


One of the tasks of the greep user is to figure out which combinations of alphabet length and word size promote ambiguities, and which do not. A few rough rules of thumb include the following:

  • When word size and alphabet length are the same or when one is a multiple of the other, ambiguities are likely.
  • When word size is a composite number with several factors, ambiguities are likely.
  • When word size and alphabet length are distinct primes, ambiguities are less likely.
  • When word size and alphabet length differ by one, ambiguities are less likely.


All in all, greep theory provides a useful set of tools that permit the selection of colors in virtually every situation where patterns of a certain kind are produced and colors need to be chosen.


Internal Links:





















Number Wars