The pattern seam · a theorem you can feel in your hands
Shake the Cloth
A weave draft is nothing but a grid of over-and-unders, and some grids are not cloth at all. Shake them and they come apart. Below is a draft that looks like satin and behaves like a fringe: press the button and three whole warp threads drop out of it, because gcd(2,6) = 2 and those three threads were never bound to anything. Then the browser enumerates every draft up to four by four and tells you exactly how rare cloth is.
Instrument 1 · the shake
click any crossing to flip it
The drawdown. Each button is one crossing of a warp thread and a weft thread; press it to swap which one passes over.
warp (vertical, hangs on the loom)
weft (horizontal, thrown across)
Over/under is shown by which thread is drawn on top, not by colour alone.
That is the whole subject in one gesture. A draft (weavers call the picture a drawdown) is a binary matrix: warps run down, wefts run across, and each cell records which of the two passes over the other. The mathematical question, first asked in print by Branko Grünbaum and G. C. Shephard in 1980, is which of those matrices are fabric at all. Robert Thomas, writing in the same tradition, puts the definition plainly:
"a fabric is a prefabric that hangs together, that is, that does not fall apart in the sense that some warps or some wefts or some of each can be lifted off the remainder because they are not bound into a coherent network by the interleaving defined by the preferential ranking."
Make that arithmetic. Write M[i][j] = 1 when warp j passes over weft i. A set of warps W and wefts F can be lifted clean off the rest exactly when two conditions hold, and both are forced by geometry rather than chosen:
The fabric falls apart if any such pair exists other than the two useless ones (lift nothing, lift everything). Watch the animation again with that in mind: nothing ever has to pass through anything. The threads that leave were already on top of every thread they cross that stays. The animation is not an illustration of the proof; it is the proof.
Why checking one thread at a time is enough
There are 22n candidate pairs, which is not a search you would want to run. You never have to. The two conditions read as forced implications:
So each single strand generates a smallest liftable set containing it: seed that strand and close under the two rules. Every liftable set containing that strand contains its closure. Therefore the fabric falls apart if and only if some strand's closure is not the whole cloth, and there are only 2n strands in a repeat to try. Two further things fall out for free. First, both rules quantify over all rows (respectively all columns), so a closure is automatically a union of whole periodic thread classes: no aperiodic separation can hide from this test. Second, the liftable sets are closed under union and intersection, which is a two-line check: if j lies in W₁ ∪ W₂ then it lies in one of them, say W₁, and any i outside F₁ ∪ F₂ is outside F₁, so M[i][j] = 1 already. That is the algorithm the button above runs, and it is what makes the decision cheap: T. C. Enns published an efficient algorithm for exactly this in 1984, four years after Clapham settled the decision problem.
One corollary you can test immediately, because it disposes of a whole family at once: every single-riser draft hangs together. If each pick has exactly one warp raised and each warp is raised on exactly one pick (a permutation matrix), seed any warp j; it is under all but one weft, so all but one weft joins; each of those wefts drags in the one warp it rides under; between them they name every warp. The closure is everything. Every regular satin is a permutation matrix, so every regular satin hangs together, and the reason a six-end "satin" fails is not that it is a bad permutation. It is that it is not a permutation at all.
The same question, asked as a graph
There is a second way in, and it is worth having because it agrees with the first for entirely different reasons. Draw one node per strand, and at every crossing draw an arrow from the thread on top to the thread underneath. Because exactly one thread is on top at each crossing, this is a complete bipartite tournament on the 2n strands: Clapham's object, from a 1985 note in Discrete Mathematics. A set A of strands can be lifted off exactly when no arrow points into A from outside it, because an arrow into A is a strand outside it lying on top of one inside it, which would have to be dragged along. And a digraph has a nonempty proper subset with no incoming arrows precisely when it is not strongly connected. So: a fabric hangs together if and only if its tournament is strongly connected.
That is a completely different algorithm, two graph searches forward and backward from any single node, resting on a completely different idea. The check panel at the foot of this page runs both procedures over all 65,536 four-by-four drafts on load and reports the number of drafts on which they disagree. It is zero, and that zero is recomputed in front of you.
What "on six shafts" actually means
A loom does not let you address crossings one at a time. Warp threads are gathered onto shafts; a shaft lifts as a unit; a treadle lifts a chosen set of shafts; and a pick presses one treadle. Three matrices, and the cloth is their product over the boolean semiring (+ is OR, × is AND):
Two ends threaded on the same shaft always rise together, so they have identical drawdown columns. That gives a sharp constraint, not a rule of thumb: the minimum number of shafts a drawdown needs is exactly its number of distinct warp columns, and the minimum number of treadles is its number of distinct picks. Paint a drawdown below and the browser will factor it: group the identical columns into shafts, group the identical picks into treadles, read the tie-up off the intersections, then multiply the three matrices back together and check every cell.
Instrument 2 · the loom, read backwards
paint the cloth, get the loom setup
drawdown you painted
An eight by eight drawdown. Press a crossing to flip it.
minimum shafts
-
minimum treadles
-
the factorisation, multiplied back out
threading (shafts × ends)
tie-up (treadles × shafts)
treadling (picks × treadles)
The wheel, and the wall it hits at six
The three great weave families are one family. Take a repeat of n and a step s, and put the riser of pick i on warp s·i mod n. Step 1 is a straight twill, its risers marching in a diagonal you can see across a pair of jeans. Step n-1 is the same twill leaning the other way. Anything strictly between them scatters the risers so no diagonal forms, and that is satin: the reason it is smooth and shiny is that its binding points are hidden under long unbroken floats of thread that reflect light as a sheet.
Draw the step on a wheel and the arithmetic becomes visible. Mark the n warps around a circle and step round by s each time. You trace a star polygon, and you return to the start after n / gcd(s,n) moves. The path visits every warp exactly when gcd(s,n) = 1. Otherwise it closes early, leaving whole warps that the risers never touch at all.
Instrument 3 · the satin wheel
turn n and s; the arithmetic decides
the cloth this step makes
Every admissible step, enumerated now
Computed in your browser by direct gcd test over 2 < ... < n-1, then grouped into classes under s ~ n-s (mirror image) and s ~ s⁻¹ mod n (swap warp and weft). Two steps in the same class make the same cloth turned or flipped.
| n | steps 1<s<n-1 with gcd(s,n)=1 | how many | distinct satins | classes |
|---|
So there it is, and it is not deep mathematics: it is the definition of coprime. What makes it worth a page is that an elementary fact about the number six has a consequence you can feel through a shirt. Handwoven states it flatly, without the arithmetic: "True satin isn't possible on six shafts because the counter cannot be spaced evenly." Four is in the same position. Every other repeat from five to twenty-four admits at least one regular satin. Six does not, and no amount of loom skill changes that.
What weavers do about six
They break the rule that the step be constant, and keep only the thing the step was for: no two risers in consecutive picks may land in the same warp or a neighbouring one, since adjacent binding points would start a visible diagonal and spoil the surface. Formalise that and enumerate all n! single-riser orders. The browser does it below for n = 4 to 8.
Instrument 3b · the irregular satins
all n! orders, filtered by the spacing rule
| n | single-riser orders | spaced | of those, hanging | regular satins among them |
|---|
Four gives zero: on four shafts there is no single-riser order at all that keeps its risers apart, regular or otherwise, which is why a "four-end satin" always has adjacent binding points somewhere. Six gives a nonempty answer, and every one of those orders hangs together. The order usually printed in weaving texts for irregular six-end satin, 1, 3, 6, 4, 2, 5, is one of them; you can check it in the list above and shake it in the first instrument.
How rare is cloth?
Here is where the sophisticated objection arrives: surely any reasonably alternating pattern holds, so this is a curiosity about degenerate cases. The way to settle that is not to argue. It is to count every single draft.
Instrument 4 · the census
exhaustive, in your browser, right now
| n | drafts | hang together | fraction | fail: loose strand | fail: subtly | ms |
|---|
Nothing counted yet. Press a button.
The loose strand column counts failures in which some warp passes over every weft, or under every weft (or the same for a weft). Such a thread is not woven in at all, and the rest of the cloth simply leaves it behind. Everything else is a subtle failure.
Run the four by four and look at the last two columns. The overwhelming majority of failures are trivial: a thread that never interlaces. Strip those out and the residue at four by four is very small, and it has a shape. Press the button below and the browser will pull every subtle failure out of the sixty-five thousand, sort them by symmetry, and draw one of each.
Instrument 4b · the subtle failures at 4×4
every one of them, classified
Every subtle four by four failure splits two warps and two wefts away from two warps and two wefts. That is not a curiosity: it is the signature of double cloth, the technique in which a weaver deliberately arranges the fall-apart so the loom produces two separate fabrics at once, joined only where they are made to swap layers. Pockets, tubes, double-faced blankets and the pouches of a rug loom are all built on the failure this criterion detects. At four by four there is literally nothing else: a draft is cloth, or it has a thread hanging loose, or it is two cloths.
The frontier, part one: what happens as the repeat grows
The census fraction rises. At two by two it is one eighth; at four by four it is about a third. The obvious question is where it goes, and this is the point at which honesty costs something: we could not find this enumeration published anywhere as of 2026-07-24. The sequence 2, 102, 22730 returns nothing from OEIS, alone or in combination (three query variants, re-run at build time). That is an absence of evidence, not a discovery claim; the literature on fabric combinatorics is small but old, and a 1980s paper we have not read may well contain it.
What we can do is make the asymptotics operable. There is an exact handle on the trivial failures. A given row is constant with probability 21-n²·2n²-n, that is 21-n; there are n rows and n columns, so a union bound gives about 4n·2-n. The exact count follows by inclusion and exclusion, with one wrinkle worth the arithmetic: if some rows and some columns are all constant, they meet, so they must share a single value, which contributes a factor of 2 rather than 2r+c. The slider below computes that exact count and puts it against a live sample of the true failure rate.
Instrument 4c · where the failures go
exact bound vs sampled truth
The exact line is a genuine lower bound on the failure rate: a loose strand always breaks the fabric. The gap between it and the sample is the rate of subtle failures, and it is what closes.
So the curation instinct that a hanging-together draft is a rare and special object is exactly backwards past a certain size. It is rare at two, uncommon at three, a minority at four, and a majority at five, which is the largest repeat this page enumerates exhaustively. Past five the claim rests on two weaker things: the exact loose-strand count, which bounds the failure rate from below, and the sampler above, which estimates it. Both say the majority holds and grows, and by twelve the sampler finds essentially no way left to fail but leaving a thread out. That is evidence, not enumeration. The interesting drafts are not the ones that hold. They are the small handful, like the double cloths, that fail without a loose thread.
Below is the exhaustive five by five result. It is the one number on this page that is not computed live by default, because it is thirty-three and a half million drafts. The button will run it here if you want to watch; on a desktop browser it takes ten to twenty seconds, longer on a phone, and it should land on exactly the same figures.
Instrument 4d · the 5×5 census
precomputed offline, recomputable here
precomputed offline 17,564,070 of 33,554,432 hang together (52.3450%); 15,920,762 fail with a loose strand; 69,600 fail subtly.
Source of that line: research/shake-the-cloth/verify-shake-the-cloth.mjs, which enumerates all 225 drafts in about fifteen seconds under Node (it times that pass itself and prints the figure). It is a literal in this page's HTML until you press the button.
The frontier, part two: none of this is why your shirt holds together
Everything above treats threads as rigid, infinitely long, perfectly slippery lines, and "falls apart" as a rigid lift-off in a fabric with no edges. Real cloth has selvages, hems and finishing; real threads are hairy and grip each other; a six-end step-two draft on a real loom with bound edges does not disintegrate, it just sheds three sleazy floating threads that a fingernail will pull out. The combinatorics tells you when a fabric has no resistance to separation. It says nothing at all about how much resistance a hanging-together fabric has.
That is not a gap you can close by being cleverer with matrices; it is a different subject. Warren, Ball and Goldstein showed in 2018 that even the individual yarn is a frictional object: tension in a staple yarn (one spun from short fibres, which is most of them) is transmitted by collective friction, with a percolation transition above which the transmitted tension is in principle unbounded. Below the threshold the yarn is not strengthless; it fails ductilely, by fibres slipping past each other at around a millinewton per fibre. Above it, failing means breaking fibres, at twenty to a hundred and thirty millinewtons each, and the authors put the jump across the transition at perhaps a hundred-fold increase in tensile strength. A thread is already a fabric that hangs together by friction, one level down.
The instrument below is honest about the seam. The left column is exact combinatorics read off your draft from the first instrument. The right column is a deliberately crude model, and every number in it carries the model badge. It is not calibrated against any measurement and its units are arbitrary.
Instrument 5 · the thread pull
reads the draft from instrument 1
exact counted from your draft
| thread | binds / repeat | longest float | over |
|---|
model, not measurement a toy pull-out test
Two things this toy gets right and one it cannot. Right: a thread with zero binding points has zero resistance at any friction, which is exactly the theorem's loose strand, so no amount of grip saves it. Right: the ratio of resistances between two drafts is the ratio of their binding counts, independent of mu and N, which is why plain weave is the firm one and satin the slippery one. Cannot: it has nothing to say about double cloth, whose two layers separate without any thread sliding anywhere. The combinatorial failure and the frictional failure are different failures.
The check
Every count above except the exhaustive 5×5 census is enumerated by JavaScript in this page at the moment you press the button, from the criterion as stated, with no lookup tables. The 5×5 census is the single exception, and it is itemised as such below. Here are the same quantities recomputed once more on load, independently of the instruments, so you can compare them against what the buttons produced:
What is computed live, and what is not
- live the shake verdict and its lifting sets; the census at 2×2, 3×3 and 4×4; the 144 subtle failures and their symmetry classes; the satin step table and equivalence classes for n = 4 to 24; the spaced-order enumeration for n = 4 to 8; the boolean factorisation of the painted drawdown and its multiply-back check; the exact loose-strand count by inclusion and exclusion; the Monte Carlo sampler; all binding-point and float statistics.
- precomputed offline the exhaustive 5×5 census (17,564,070 / 33,554,432 hanging; 15,920,762 loose; 69,600 subtle) is a literal in the HTML, produced by the verifier, and clearly marked as such. Pressing its button replaces it with a value computed here. The claim that the verifier makes 112 assertions is also a literal, counted at build time.
- published every citation, year, volume and page in the sources list; every verbatim quotation (Thomas's definition, the Handwoven line, the fragments from Thomas 2010 §1 and §5, and Etymonline on the OED); the Warren-Ball-Goldstein result.
- model everything in the right-hand column of instrument 5 that depends on mu, N or T. Arbitrary units, no calibration, no measurement.
Every free choice we made
- The definition of falling apart. Rigid lift-off of whole strands in an unbounded, frictionless, inextensible fabric. This is the Grünbaum-Shephard idealisation. Change it and the census changes.
- Square repeats only. The census enumerates n warps by n wefts. Rectangular repeats are perfectly legal fabrics and are not counted here.
- What counts as a regular satin. We use the weavers' convention 1 < s < n-1 with gcd(s,n) = 1. Excluding s = 1 and s = n-1 is a convention (those are twills, and they hang together perfectly well), not a theorem.
- The spacing rule for irregular satins. "No two cyclically consecutive risers in the same or an adjacent warp" is our formalisation of the rule weaving texts state in words. It is not quoted from a source. Different formalisations give different counts.
- The symmetry group used to reduce the 144. Cyclic row shift, cyclic column shift, transpose, complement (turning the cloth over), row reversal, column reversal. The class count depends on this choice; the page verifies live that all six preserve the verdict.
- mu, N and T in instrument 5 are dials on a toy, chosen so the flip happens somewhere visible on the slider. They are not fitted to anything.
- The snag cap defaults to 4 because it makes the satin/plain contrast read. Real float limits depend on yarn, sett and end use.
What we could not verify
- Clapham's actual theorem statement. The 1980 Bulletin paper is four pages behind a paywall and we did not read it. We cite it for the historical fact that the decision problem was settled that year, confirmed through Crossref and Malkevitch's bibliography. The criterion and the closure argument on this page are derived and proved here, and we do not attribute our wording to him. The same applies to Enns 1984: we cite the existence of an efficient algorithm, not its contents.
- The order 1, 3, 6, 4, 2, 5. It is widely repeated as the standard irregular six-end satin, but we could not reach a primary published source giving that exact sequence. What this page computes is that it satisfies the spacing rule and hangs together. Treat the attribution as folklore.
- The census in the literature. Not found in OEIS as of 2026-07-24 (queries 2,102,22730, 102,22730,17564070, 2,102,22730,17564070 and 14,410,42806 all return nothing; the single-number query 22730 returns an unrelated partition sequence). We could not find it as of 2026-07-24. That is not the same as it being new.
- The etymology of "satin" is disputed and we have left it out of the body rather than repeat the popular version. Etymonline records the derivation from Arabic zaytuni, "from Zaitun", probably Quanzhou, and immediately records that the OED "finds the Arabic connection etymologically untenable" and prefers Latin seta. Two respectable sources, opposite conclusions.
- Enns's page numbers. Malkevitch's bibliography gives Geometriae Dedicata 15 (1984) 259-260. Crossref confirms the journal, volume, issue and year but carries no page range for that article, so the pages rest on one source.
An independent control
While this page was being written, a separate worker was given the question and one self-checking anchor, was forbidden to read this repository, and was asked to derive the counts from the primary literature instead. It took the criterion verbatim from Thomas's arXiv papers, wrote it in Python, derived Clapham's bipartite-tournament form on its own, implemented both, and reported 2 of 16, 102 of 512 and 22,730 of 65,536, with the two 2×2 survivors being exactly plain weave and its complement, and no regular satin at n = 4 or n = 6. Its report, including the blinding audit and the seven places it says the sources admit two honest readings, is at research/shake-the-cloth/BLIND-REDERIVATION.md. It flags one convention as the biggest risk, and this page takes the same reading it did: we count labelled matrices, all 2n² of them, with no quotient by symmetry and no restriction to drafts whose true period is n.
The offline verifier
node research/shake-the-cloth/verify-shake-the-cloth.mjs rebuilds everything from the definitions with no page code, and makes 112 assertions in about seventeen seconds. Among them: the closure procedure is checked against brute force over all 22n candidate pairs on every 3×3 draft (zero disagreements); the census is recomputed at n = 2, 3, 4 and 5; the loose-strand count is computed twice, once by enumeration and once by inclusion and exclusion, and the two must agree; the 144 are found and their four symmetry classes counted; every named fabric's verdict is asserted; the satin table and the class counts are rebuilt; the drawdown factorisation is multiplied back out and compared cell by cell; and the binding-point and float figures behind instrument 5 are asserted thread by thread. Run it with --quick to skip the 5×5 pass.
What would falsify this page
- Exhibit a draft that this page calls hanging together, together with a nonempty proper set of whole warps and wefts satisfying the two lift conditions. That breaks the closure argument and everything downstream.
- Exhibit a step s with 1 < s < 5 and gcd(s,6) = 1. There is none, but that is the shape of the refutation.
- Produce an independent enumeration of hanging n×n drafts that disagrees with 2, 102, 22730 or 17,564,070.
- Exhibit a subtle 4×4 failure whose lifting set is not two warps and two wefts.
- Point at the published source of the census. That would not make the page wrong, but it would retire the "we could not find it" sentence, which is the point of writing it that way.
The small, complete literature of a solved problem
This is an unusual corner of mathematics: a question asked, answered within the year, tidied up over the following decade, and then largely left alone. Grünbaum and Shephard asked it in Mathematics Magazine in 1980. Clapham answered it in the Bulletin of the London Mathematical Society in the same year. Enns gave an efficient algorithm in 1984 and Delaney a further treatment in 1986; Clapham himself generalised to three-way fabrics (three thread directions, as in a woven basket or a triaxial cloth) in 1985, and separately recast the problem as a bipartite tournament. Grünbaum and Shephard then spent the 1980s on the harder classification question: not which drafts are fabric, but which fabrics are isonemal, meaning their symmetry group acts transitively on the threads. Their catalogue of 1985 was extended in 1986 and given its Monthly treatment in 1988, and Richard L. Roth worked out the symmetry groups of the periodic isonemal fabrics in 1993. Robert Thomas has continued the colouring side of it into the 2020s. The open questions that remain are mostly on the classification side, not the decision side.
It is also a corner where the corrections happen in public, and the clearest example is an author correcting himself. Thomas's 2010 paper announces in its own introduction that section 5 "show[s] that not all such designs can be produced by thinly striping an isonemal fabric, correcting an error in" reference [7], which is not Grünbaum and Shephard's catalogue at all but Hoskins and Thomas 1991, a catalogue of fall-apart prefabrics he had co-written himself nineteen years earlier. Section 5 delivers the verdict: "We must conclude that Theorem 2 of [7] is false and that the algorithm on which it is based does not always work either as stated there or improved here." The algorithm had "made a wrong choice" about the redundant cells. That is what a healthy small literature looks like: the catalogue is a claim, and the person best placed to check it is the person who made it.
One more thing worth saying about the notation rather than the mathematics. A drawdown is a grid of two symbols standing for two states, drawn and passed between weavers on paper, and weavers were reading and writing them long before anyone in mathematics had a use for a binary array of that shape. The question on this page is what those grids were always encoding, asked very late. (We have not tried to date the notation, and this page makes no claim about which binary notation came first.)
What is not solved, and is not really a mathematics question, is the one instrument 5 gestures at: given that a draft hangs together, how firm is the cloth? Weavers answer it with interlacement coefficients, float caps and experience. Physics answers a level below, at the yarn. Nothing joins the two.
Why satin is shiny, in one paragraph, with the exact numbers you just computed
A five-end satin binds each warp to the wefts twice per repeat of five, so its binding points are 0.4 per crossing; plain weave binds twice per repeat of two, or 1.0 per crossing, two and a half times as often (both figures are computed live in instrument 5 when you load those presets). The binding points that remain are scattered by the step so that no two are adjacent, which is what the spacing rule is for: an unbroken run of four threads lies flat on the surface with no interruption to catch light at an angle, and the eye reads a sheet rather than a texture. Textile references put it the same way: reflection from the floats is the source of the lustre, and short-float fabrics are more durable than long-float ones. The two facts are the same fact. The floats that make satin shine are the floats that snag, which is why the useful question in a weaving book is never "does it hang together" (the answer is almost always yes) but "how long are the floats".
Sources
The combinatorics. B. Grünbaum and G. C. Shephard, "Satins and Twills: An Introduction to the Geometry of Fabrics", Mathematics Magazine 53(3) (1980) 139-161, doi:10.1080/0025570X.1980.11976845. C. R. J. Clapham, "When a Fabric Hangs Together", Bulletin of the London Mathematical Society 12(3) (1980) 161-164, doi:10.1112/blms/12.3.161. T. C. Enns, "An efficient algorithm determining when a fabric hangs together", Geometriae Dedicata 15(3) (1984), doi:10.1007/BF00147648 (pages 259-260 per Malkevitch's bibliography; Crossref carries no page range). C. R. J. Clapham, "When a three-way fabric hangs together", J. Combinatorial Theory Ser. B 38(2) (1985) 190, doi:10.1016/0095-8956(85)90084-X; and "The bipartite tournament associated with a fabric", Discrete Mathematics 57 (1985) 195-197. C. Delaney, "When a fabric hangs together", Ars Combinatoria 21-A (1986) 71-79 (from Malkevitch's bibliography, which gives that one initial and no more; not indexed in Crossref, and we have not seen it). B. Grünbaum and G. C. Shephard, "A catalogue of isonemal fabrics", Annals of the New York Academy of Sciences 440 (1985) 279-298; "An extension to the catalogue of isonemal fabrics", Discrete Mathematics 60 (1986) 155-192; and "Isonemal Fabrics", American Mathematical Monthly 95(1) (1988) 5-30, doi:10.1080/00029890.1988.11971960. J. A. Hoskins and R. S. D. Thomas, "The patterns of the isonemal two-colour two-way two-fold fabrics", Bulletin of the Australian Mathematical Society 44(1) (1991) 33-43, doi:10.1017/S0004972700029439 (this is reference [7] of Thomas 2010, the paper whose Theorem 2 that section 5 corrects). R. L. Roth, "The symmetry groups of periodic isonemal fabrics", Geometriae Dedicata 48 (1993) 191-210, doi:10.1007/BF01264067. Bibliography: J. Malkevitch, Geometry of Fabrics. The definition quoted in the body is from R. S. D. Thomas, "Perfect colourings of isonemal fabrics by thin striping", arXiv:1006.5653, §1.
The physics. P. B. Warren, R. C. Ball and R. E. Goldstein, "Why Clothes Don't Fall Apart: Tension Transmission in Staple Yarns", Physical Review Letters 120, 158001 (2018), doi:10.1103/PhysRevLett.120.158001 (also arXiv:1804.07606).
The weaving. "True satin isn't possible on six shafts because the counter cannot be spaced evenly" and the satin counter rule: Handwoven, "Satin Dreams". The move-number rules (cannot be 1, cannot be the repeat, cannot be one less than the repeat, cannot share a factor with the repeat): Texwiz101, "Features and Classification of Satin", which states all four and lists 4-end and 6-end satin/sateen among the irregular types. Textile Learner, "Sateen Weave" also classifies 4-end and 6-end sateens as irregular, and is the source for lustre arising from reflection off floats and for short floats being more durable than long ones. Etymology of "satin", including the OED's rejection of the Arabic derivation: Etymonline. Absence check: OEIS search for 2, 102, 22730 (null, re-run 2026-07-24).