A thousand years ago, books were generally written by hand, on parchment made from sheep skin. I don't have a good source on how long it took a person to transcribe a typical book, so for the purpose of this post let's just call it 30 days. I do know that a typical book required the skins of about 12 sheep (source: __Braudel__).

We can represent this via two production constraints:

... and of course we could add more constraints to reflect all the other inputs to a book. We write it like this, rather than just saying "1 book = 12 sheep + 30 transcriptionDays", to highlight that each input is an independent limit on the number of books produced. If we only have 15 sheep on hand, then we can make at most 1 book, no matter how many bored transcriptionists are sitting around.

Another reason why writing out the constraints is useful: it offers a natural way to introduce technology changes.

Let's consider two possible technology changes:

- switching from parchment to paper
- switching from transcriptionists to a printing press

How do these modify the constraints? Well, paper eliminates the sheep constraint and replaces it with a paper constraint (of the form for some ) - yet the transcription constraint remains exactly the same. Conversely, a press eliminates the transcription constraint - yet the sheep constraint remains exactly the same. **The constraint representation is modular with respect to technology changes**: introduction of new technology removes/modifies some constraints, while leaving most of them unaltered.

With a little creativity, this representation can be extended to other kinds of technology changes as well:

- Before the invention of television, we had the constraint . The invention of television replaced this constraint with a bunch of television production constraints, like
- Fixed-cost capital goods, e.g. a printing press, add a constraint that we need at least one of the capital good, independent of the number of things produced:
- A more efficient sheep-skin processing technique might replace with

... etc.

## Conjugacy

One of the main lessons of optimization theory - be it linear programming, convex analysis, what have you - is that every constraint has a conjugate "shadow price" (mathematically given by the Lagrange multiplier). The price indicates how "taut" or "slack" the constraint is - i.e. how much more we can produce if the constraint is relaxed a little bit. If we're a medieval book-maker with 15 sheep and a thousand transcriptionist-years on hand, then the sheep constraint is very taut (more sheep means more books), whereas the transcriptionist constraint is very slack (more transcriptionists does nothing). It's like a rope: pulling on a rope won't do anything unless the rope is taut; hiring more transcriptionists won't do anything unless the transcriptionist constraint is taut. The shadow price quantifies this: it tells us how much the book-maker will pay for additional sheep versus additional transcriptionists. With 15 sheep and a thousand transcriptionist-years, the book-maker will happily pay for more sheep, but will offer roughly zero for more transcriptionists.

Quick recap:

- abundant resource = slack constraint = extra input won't produce much/any extra output <=> producer won't pay for more input = low shadow price of input
- scarce resource = taut constraint = extra input will produce extra output <=> producer will pay for more input = high shadow price of input

If you want to see the math, I highly recommend Stephen Boyd's __lectures__ & __book__ on convex optimization.

So what does all this tell us about technology changes?

Well, new technology removes some constraints and replaces them with new constraints. If the old constraint is slack, then this doesn't do any good. If we already have a million transcriptionist-hours available, and only 15 sheep, then we have no use for a printing press. Consider __Pi Cheng__: he introduced a movable-type printing press in China around 1045, but it mostly failed to catch on. Why?

Here's one hypothesis: across the board, in many different industries, we see medieval/renaissance China using labor in places where Europe used machines. That suggests that labor, in general, was readily available in China - those constraints were generally slack. Labor in China had a very low shadow price, compared to the shadow price of machinery (i.e. capital goods).

How could we test that hypothesis?

Economic theory provides various conditions under which producers' shadow prices are (roughly) equal to market prices. The simplest such condition is competition, but that assumption usually degrades gracefully: even if competition is less-than-perfect, market prices will still usually *approximate* shadow prices, with the approximation improving as competition increases. So one rough measure of a shadow price is the market price. (Even when the competition assumption fails completely, we can probe the shadow price in other ways - e.g. by looking directly at producers' records, or by looking at how hard producers try to obtain various inputs.)

If competition among book-makers is even remotely reasonable as an approximation, then the book-makers' shadow prices will be close to market prices of the relevant goods. So, we could (very roughly) test our hypothesis by comparing the price of labor relative to capital in medieval/renaissance China to the price of labor relative to capital in medieval/renaissance Europe. Our hypothesis predicts that labor was much cheaper relative to capital in China.

## Generalization & Gears

Of course, there are many other possible hypotheses about why movable-type printing didn’t catch on in China. A similar approach would apply to other possible hypotheses about the adoption of the press.

For instance, in Europe at least the replacement of parchment with paper is often cited as a key factor, suggesting that *before* the press was adopted, the parchment constraint was much more taut than the transcription constraint - i.e. parchment was a much larger share of the book’s price than transcription. Only after the parchment constraint was relaxed did the transcription constraint become more taut, at which point the press caught on.

Note that, in both the capital/labor hypothesis and the paper hypothesis, we don’t have a *root* cause. If prices were different, then some upstream factor must have caused the price difference. Rather, constraints/slackness/prices are __gears in our model of the world__: each constraint/price pair is a gear, which can mediate the causal influence of a wide variety of interventions/root causes.

These gears can interact with each other - the “output” in one constraint may be an “input” in another. For instance, yet another hypothesis for China’s non-adoption of movable-type printing is a relative lack of literacy in China; Europe had a much larger market for books. At an economic level, the supply of books was itself a slack constraint in China - people weren’t willing to pay much for more books. This constraint would interact with both the capital constraint and the paper constraint - e.g. if few people read books, then there would be little demand for more scalable technologies like printing and paper. Book price/constraint would be a separate gear in the model, alongside the capital, labor, and paper prices/constraints.

## Summary

In general, we can reason about the adoption and impact of new technology by looking at prices associated with constraints. If a technology relaxes a slack constraint, then it likely won't be adopted at all, and won't have much impact on total output even if it is adopted. On the other hand, technology which relaxes a taut constraint likely will be adopted, and have a large impact on total output - assuming that the technology doesn't introduce an even more restrictive constraint! (Conversely, though, __generalized efficient markets__ says that new technology which relaxes a taut constraint will be harder to discover in the first place - there was already an incentive to pick the low-hanging fruit.)