The curve as an equation

The proof drew more than the curve

Sixteen ways to assemble one linkage. Eight of them close. Four put the tracing point on the curve and four put it somewhere else — at a closure residual of 9.6 × 10⁻¹⁵, which is the same floor the right ones reach. No tolerance on the closure could ever have told them apart.

Assumes The machine, compiled.

A construction says what the bar lengths are. It does not say how the bars are put together, and a four-bar with a given set of lengths can usually be put together two ways.

This site has known that since its second phase. One chain gives four mechanisms by choosing which link is fixed, and each of those has two assembly branches that the crank cannot pass between. It is the most ordinary fact about a four-bar there is.

Applied to a compiled machine, it is a catastrophe, and it is the gap in Kempe’s argument of 1876.

The parallelogram, and its other closure

The translator is four bars: two of length ss opposite one another, two of length dd opposite one another. Placed as a parallelogram, the copied link has the direction of the original, which is what it is for.

Those four lengths close another way. Cross them, and the quadrilateral is an antiparallelogram — still four bars, still every one of them at the length it was made, and the two long sides no longer parallel. The copied link now points somewhere else entirely.

The same four bars, and the bar that tells them apart. Left, a parallelogram; right, the crossed assembly of exactly the same four lengths. In the parallelogram the midpoints of the two opposite sides are one side-length apart — here 1.000, and it stays that as the linkage moves — and in the crossed assembly they are 0.115. So a bar between those two midpoints admits the first and refuses the second. That is the brace: two rigid attachments and one bar, and it is the whole repair of Kempe's argument.
Fig. 1 The same four bars, twice. On the left the parallelogram; on the right the crossed assembly of exactly the same lengths. Both satisfy every bar.

Nothing about the crossed assembly is broken. It is a mechanism, it moves with one degree of freedom, its loop closes to the solver’s floor. It simply is not the mechanism the construction meant, and there is nothing in the bar lengths that says which one is meant.

Sixteen assemblies of twenty bars

The machine compiled from the rectangular hyperbola has four parallelograms: one carrying the arm’s second angle back to the pivot, and three in the summing chain’s ripple. Four independent binary choices, so 24=162^4 = 16 ways to put the same twenty bars together.

Each was built, seeded on its chosen assembly, solved, and asked where its tracing point ended up.

Every way the same bars can be put together. The machine compiled from a rectangular hyperbola has 4 parallelograms, and a parallelogram's four bars also close as an antiparallelogram — so there are 16 ways to assemble it. One mark per way. 4 of them put the tracing point on the curve, 4 put it somewhere else, and 8 do not close at all. The ones that are wrong are not broken: they satisfy every bar to 9.6e-15 while the polynomial at their tracing point reads 1.5e-1. This is the gap in Kempe's original argument, and no tolerance on the closure could ever have found it.
Fig. 2 One mark per assembly. Eight of the sixteen close at all; four of those put the tracing point on the curve and four put it somewhere else.

Eight close. The other eight are geometrically impossible at this driving angle — a crossed parallelogram somewhere in the chain puts a later one out of reach — and Newton reports that honestly.

Four of the eight are right. They are the assemblies in which every parallelogram is a parallelogram, together with the ones whose crossings happen to compose back to the same directions.

Four of the eight are wrong, and the polynomial at their tracing points reaches 0.150.15 where it should be zero.

All eight close to 9.6×10159.6\times10^{-15}.

What the wrong ones draw

A number in a table is easy to discount. The picture is not.

One linkage, two curves. The same bars, the same lengths, the same driving angle — assembled two ways. One trace is where the polynomial vanishes and the other is not: the worst value of xy − 0.5 along the second is 8.7e-1, against 4.7e-14 along the first. Every position on both was solved to 9.5e-14. Nothing about the second linkage is defective; one of its parallelograms is a crossed one, so a direction is being carried wrongly, and the machine is faithfully computing a different function.
Fig. 3 One linkage, two curves. The same bars, the same lengths, the same driving angle, assembled two ways — and every position on both was solved to 10⁻¹⁴.

The spurious assembly does not wander, does not jam, does not produce anything that looks like an error. It draws a curve: a smooth continuous path, two hundred and eighty solved positions of it, traced by a mechanism whose every bar is exactly the length the construction called for.

It is drawing that curve because it is faithfully computing a different function. One of its translators is carrying the wrong angle, so one term of the sum has the wrong direction, so the equation the closing line enforces is a different equation. The machine is not failing to compute; it is computing something else, correctly.

A brace is one redundant equation, on purpose. The compiled machine, counted and measured, with and without 4 braces. The count says the braced machine has -3 degrees of freedom — it cannot move — and the rank of the constraint Jacobian says it has 1, the same as before. Every brace contributes exactly one equation the others already imply, which is what overconstraint is, and here it is being added deliberately: the redundancy is what removes the assemblies the count knows nothing about. This is Grübler being wrong for the useful reason rather than the embarrassing one.
Fig. 4 The repair’s arithmetic, ahead of the rung that makes it: braces added, equations added, and a mobility that does not move.

Why this is the gap in the argument

Kempe’s 1876 paper gives a construction and argues that the traced point satisfies the polynomial. The argument is about the parallelograms being parallelograms, and the construction does not force them to be.

The consequence is not that his theorem is false. It is that the proof establishes something weaker than it claims: that one component of the linkage’s configuration space traces the curve, with nothing said about the others, and nothing in the construction to say which component a built machine will be in. Later work supplied the missing half, by giving braced gadgets that admit only the intended assembly.

The measurement above is what the gap looks like from the inside of a computation. Four branches on the curve, four off it, no way to tell from the closure, and a machine that assembles into a wrong one and runs perfectly.

the translator, solvedA parallelogram, carrying a direction from one point to another. It works only because the two points are a fixed distance apart, and that condition is the whole cost structure of a compiled machine. The relation it satisfies is **θ at P ↦ θ at R**, and across a sweep of 41 positions the worst departure from it is 5.6e-16 radians. Every joint here is the output of a Newton–Raphson solve on the bar lengths; nothing is placed by the formula the picture is about.θ hereθ thereθ at P ↦ θ at Rpositioned by solving, not by drawing
Fig. 5 The gadget the whole census is about: a parallelogram carrying a direction, whose four bars also close crossed.

Two ways to reach a wrong branch, and only one is exotic

It would be comfortable to think of the spurious assemblies as something a careful builder would simply avoid, and worth checking whether that is true.

By assembly. Put the machine together with one parallelogram crossed. On a drawing this is obvious and on a bench it is not: a parallelogram and its crossed twin have the same four parts and differ only in which way one of them was threaded onto its pins. In a machine with a hundred and fifty-four of them, the chance that all of them are threaded the intended way is a question about a process rather than about a mechanism.

By passing through. The two assemblies of a parallelogram meet where it is flat — all four points collinear — and a machine driven through that configuration can come out on either side. This is the same event the singularity rung is about, and it means the assembly is not fixed once and for all by how the thing was built.

The second route is why bracing matters more than care does. A machine assembled perfectly and then run can arrive at a wrong branch on its own, and the only defence is a constraint that makes the wrong branch geometrically impossible rather than merely unintended.

The same shape, on a mechanism the site has drawn before

This is not the first time a compiled-looking machine on this site has had assemblies its designer did not mean, and the earlier case is worth putting beside it because it was found the same way.

The synthesis field’s branch, circuit and order defects are exactly this problem for four-bars synthesised through prescribed positions: of 1,176 exactly correct three-position syntheses, only 111 turned out to be usable, and the rest failed because the linkage reaches its prescribed positions on different branches and cannot be driven from one to the next. Every one of those 1,065 linkages satisfies its synthesis equations perfectly.

The parallel is close and the difference matters. There, the defect is that the correct configurations are not connected to one another. Here, the incorrect configurations are connected to nothing that was ever wanted and are perfectly usable in their own right — they draw a curve, smoothly, for as long as anybody cares to turn the crank.

A synthesis defect makes a linkage useless. A branch defect in a compiled machine makes it useful and wrong, which is the harder failure to notice.

The machine compiled from a rectangular hyperbola. xy − 0.5, compiled: 20 bars and 20 joints, painted by what each part is for. The two-link arm at the pivot carries the tracing point; the reflectors and means build each term's angle; the rigid offsets fix the constant φₖ and the amplitude; the translators carry those directions out along the summing chain, whose last vertex is held on a line. That last constraint is the equation. Every joint drawn is the output of a Newton–Raphson solve on 36 equations, converged to 4.2e-16, and the polynomial at the tracing point is 2.2e-16.
Fig. 6 The machine the census is run on: twenty bars, four of them parallelograms, and therefore sixteen ways to be put together.

Why no gate on this site could have caught it

Every check this collection makes about a mechanism asks whether its loop closes. That is the site’s founding invariant — nothing is drawn that was not solved — and it is a good invariant, because a figure showing a configuration the mechanism cannot reach is the failure mode that matters almost everywhere.

Here it is blind. All sixteen assemblies pass it, or rather the eight that exist do; the closure residual is the same quantity on the right branch and the wrong one and it is at the floor on both.

A tolerance cannot separate two things that are equal. There is no threshold, however tight, that admits the four correct assemblies and rejects the four incorrect ones, because they are not separated in that quantity at all.

What separates them is a measurement from outside the constraint set: the polynomial, evaluated at the tracing point. The machine has no access to the polynomial, so asking it is asking a genuinely independent question, and the answer is 101410^{-14} on one set of branches and 0.150.15 on the other.

That is why this field carries three instruments rather than one, and why the rung that introduced the machine spent a section on the difference between them.

The instrument that says nothing, stated as a requirement

There is a temptation, on finding that the closure residual cannot see the failure, to treat that as an unfortunate weakness of the closure. It is better treated as a property to be asserted, and this field’s gate asserts it.

The requirement is two-sided. There must be an assembly whose tracing point is off the curve by more than a thousandth, and its closure residual must be below 10910^{-9}. An assertion that a measurement works is worth something; an assertion that a measurement fails in exactly the stated way at exactly the stated scale is worth more, because it breaks if somebody later loosens a tolerance or tightens a solver and quietly makes the two quantities distinguishable for a reason that has nothing to do with the mechanism.

The site has a precedent for this shape. The pairs field requires four random pins to report a span of four over a sampling range of 10910^{-9} radians and six over 2.2, which is a requirement that the measurement be fooled by a narrow range. Same discipline: pin down what an instrument cannot do, so that a change in what it cannot do is a failure rather than an improvement nobody noticed.

What a singularity does, and what it does not do. The reflector driven straight through the configuration at which its two placements merge — here θ = 0.800, where the rhombus flattens onto its own mirror. Two numbers are plotted. The closure residual is how well the bars are satisfied, and it does not move: 8.3e-14 on both sides. The departure is how far the output is from the angle the gadget is supposed to produce, and it goes from the floor to order one at 0.800. Nothing breaks. The gadget goes on being a perfectly good linkage and stops being the function it was built to be.
Fig. 7 The departure, on one gadget: it names which part has left its specification and at what driving angle, where the curve residual only says that something has.

The finer instrument, and what it adds

The curve residual says something is wrong. A third measurement says what.

The compiler records, for every joint it creates, the angle that joint’s link is supposed to have as a whole-number combination of the machine’s two arm angles. Given a solved configuration, the arm angles can be read off the arm, the intended angle computed, and the actual angle measured. The difference is the departure.

On a correct assembly every departure is at 101610^{-16}. On a wrong one, the departures are at the floor everywhere except at the gadget that flipped and everything downstream of it — so the measurement names the culprit, and names it by the compiler’s own label for the part.

That is worth having for a reason beyond diagnosis. A machine of four hundred bars cannot be checked by looking at it, and a single number saying this is wrong is not enough to act on. A measurement that says the third translator in the ripple for term seven is carrying an angle 0.6 radians off is a statement about a specific bar, in a machine nobody can see.

One vertex that has to be compared modulo π

Building that instrument turned up a false alarm worth recording, because it is the shape of mistake an instrument makes about a machine that is working.

A reflector’s far vertex sits at distance 2scos(μθ)2s\cos(\mu - \theta) along its mirror, and that quantity changes sign. When the mirror and the input are more than a quarter turn apart the vertex crosses the pivot and comes out on the opposite ray — with the gadget working perfectly, because a mirror is a line and reflecting in a line does not care which way along it anything points.

The first version of the departure measurement compared that vertex’s direction against the mirror’s, and reported a departure of π\pi at every such crossing. It flagged half the catalogue as broken. Every machine it flagged was drawing its curve to 101310^{-13}.

The repair is to compare the vertices whose meaning is a line modulo π\pi, and the links that have a direction not modulo anything. It is one line of code and the lesson is the general one: an instrument that is wrong about a working machine is worse than no instrument, because it costs the time to find out which of the two is broken, and there is no prior reason to suspect the instrument.

What a reader of the older fields should notice

There is one respect in which this rung is a restatement of something the site established long ago, and one in which it is genuinely new, and separating them is worth a paragraph.

The restatement. A four-bar has two assembly branches; a machine made of four-bars has two to the power of however many; branches are not reachable from one another by turning the crank. All of that is ordinary, was drawn in the second phase, and is the reason the algebra field exists at all — counting configurations is counting solutions of a polynomial system, and a four-bar has two.

The new part. In every earlier field, a wrong branch is visibly wrong: the linkage is inside out, the coupler point is on the far side, the crank cannot turn through. A designer looking at the drawing sees it. Here the wrong branch produces a machine that looks entirely normal, runs smoothly, and draws a plausible smooth curve — and the only way to tell is to evaluate a polynomial the machine has never heard of.

A branch is invisible when the mechanism’s output is a computation rather than a shape. That is the sentence this rung adds to the site, and it generalises past this field: any linkage built to satisfy a relation rather than to occupy a shape has this problem, and the more computation there is in it, the less its wrong branches look wrong.

What the census does not measure

Two honest limits on the numbers above.

The census flips parallelograms only. The reflectors and means have their own second placements — a reflector’s rhombus can put its far vertex at the pivot instead of out along the mirror — and those are not enumerated here. So sixteen is a lower bound on the number of assemblies, and the four wrong branches found are a lower bound on the number of wrong ones.

The census is taken at one driving angle. Which assemblies exist depends on where the machine is: an assembly that cannot close at one angle may close at another, and vice versa. The count of eight is a count at the starting configuration, not a global fact about the linkage.

Both limits push the same way. There are at least sixteen assemblies and at least four of them are wrong, and the real numbers are larger.

The count of branches, and why it is a bad number

2k2^k is the headline and it deserves a caveat, because the exponent is the number of parallelograms and that is a very large number.

The quintic’s machine has a hundred and fifty-four translators. Two to the hundred and fifty-four is not a number anybody enumerates, and the census in this rung was run on a twenty-bar machine for exactly that reason.

But the count is misleading in a more interesting way than being large. It counts seeds, not components: several flipped assemblies converge to the same configuration, and on the hyperbola the sixteen seeds produce only two distinct traced points. So the configuration space has far fewer components than the seed count suggests, and how many it actually has is a question this field does not answer.

What can be said is the part that matters for the repair. Bracing is applied per parallelogram, and it removes that parallelogram’s crossed closure locally, without anybody having to know how many components the whole space has. The repair is per part and the problem is global, which is the only reason a machine of a hundred and fifty-four parallelograms can be fixed at all.

What follows

The problem is discrete and the repair is discrete. A parallelogram’s two closures are two separate configurations, not two ends of a continuum, so a bar that is the right length in one and the wrong length in the other tells them apart absolutely — and there is such a bar.

The next rung adds it: one bar between the midpoints of two opposite sides, whose length is constant in a parallelogram and is not in the crossed assembly. Four braces on this machine, and the four wrong branches stop existing.

What it costs is one redundant equation per brace — an equation the others already imply — which is overconstraint, introduced deliberately, on a site whose constraint field has spent seventeen phases on overconstraint arriving by accident.

There is a second failure ahead that is not repaired by anything, and it is worth flagging here so the two are not confused. The branches in this rung are a discrete alternative: the machine is in one assembly or another, from the moment it is put together. The singularities are a continuous failure: a machine correctly assembled runs, reaches a configuration where two placements merge, and comes out the other side computing something else. The first is a manufacturing question and the second is not, and no bracing removes the second.

The census was a lower bound, and now it is a measured one

The census above flips the far corner of every translator and counts the distinct points the machine can be assembled to trace. It was recorded as a lower bound on a piece of reasoning: a reflector’s rhombus has a second placement with its far vertex on the opposite ray through the pivot, and a mean’s likewise, and neither is reached by flipping a translator.

The reasoning was never run, and running it confirms it. A reflector’s output is held by exactly two bars and so is a mean’s far vertex, so both have second placements the same flip finds. Opening the census to every rhombus in the machine turns up assemblies the translator-only census never reaches: on the parabola machine the count of distinct traced points goes from one to three, and on the ellipse machine from one to two. The flippable joints go from sixteen to twenty-three and from seven to fourteen.

And the fuller census is still a lower bound, which has to be said in the same breath or the new number will be read as the answer. The search caps how many joints it flips at six, so a machine with twenty-three flippable joints is sampled at 2⁶ of its 2²³ combinations. The count is a floor under a floor. Every number here is an at least, and the honest reading of “three distinct assemblies” is “three that this search found”.

That is a different kind of statement from the rest of this site’s counts, and worth marking as such. A mobility is exact; a chain enumeration is exact; an assembly count from a capped search over branch combinations is a sample with a floor under it and no ceiling. The right way to report it is the way a lower bound is always reported — with the search that produced it named, because a different search would produce a different floor.

What this makes readable

Essays that name this one as a prerequisite.

About the same objects

Not linked from either essay — found by the objects both name.

What links here

The 8 of 12 essays linking to this one that name the most of the same objects.

The objects this essay names

Each one links to every other essay that touches it.

AntiparallelogramAssembly branchBranch defectCompiled linkageLoop closureParallelogram linkageSpurious branch