The construction elbow is one of the components of a construction arm in a universal constructor. The elbow usually consists of a single Spartan still life or small constellation. It accepts elbow operation recipes, in the form of salvos coming from the construction arm's shoulder.
These recipes may do one of several things:
- pull the elbow closer to the shoulder;
- push the elbow farther from the shoulder;
- emit a glider on a particular output lane (while also optionally pushing or pulling the elbow);
- create a "hand" target block or other useful object as a target for output gliders, to one side of the construction lane;
- duplicate the elbow; or
- destroy the elbow.
Elbows that receive and emit orthogonally-traveling spaceships instead of gliders are technically possible, but no working examples are known as of the end of 2017. The discussion below assumes that gliders are used to communicate between the shoulder, elbow, and hand locations.
If a mechanism can be programmed to generate recipes for at least the first three options listed above, it is generally capable of functioning as a universal constructor. The main requirement is that push and pull elbow operations should be available that are either minimal (1fd) or the distances should be relatively prime.
Depending on the elbow operation library, there may be only one type of elbow, or there may be two or more elbow objects, with recipes that convert between them. The 9hd library had just one elbow type, a block. The original 10hd library had two elbows, blocks in mirror-symmetric locations; this was expanded to a larger list for the 10hd Demonoid. The 0hd Demonoid also has a multi-elbow recipe library. A slow elbow toolkit may make use of an even larger number of glider output recipes, because the target elbow object in that case is not restricted to a single diagonal line.
If only one color, parity, or phase of glider can be emitted, then the mechanism will be limited to producing monochromatic salvos or monoparity salvos. These are less efficient at most construction tasks, but are still generally accepted to enable universal toolkits.