More ties than we thought
 Published
 Accepted
 Received
 Academic Editor
 Anne Bergeron
 Subject Areas
 Algorithms and Analysis of Algorithms, Computational Linguistics, Theory and Formal Methods
 Keywords
 Necktie knots, Formal language, Automata, Chomsky hierarchy, Generating functions
 Copyright
 © 2015 Hirsch et al.
 Licence
 This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.
 Cite this article
 2015. More ties than we thought. PeerJ Computer Science 1:e2 https://doi.org/10.7717/peerjcs.2
Abstract
We extend the existing enumeration of neck tieknots to include tieknots with a textured front, tied with the narrow end of a tie. These tieknots have gained popularity in recent years, based on reconstructions of a costume detail from The Matrix Reloaded, and are explicitly ruled out in the enumeration by Fink & Mao (2000). We show that the relaxed tieknot description language that comprehensively describes these extended tieknot classes is context free. It has a regular sublanguage that covers all the knots that originally inspired the work. From the full language, we enumerate 266,682 distinct tieknots that seem tieable with a normal necktie. Out of these 266,682, we also enumerate 24,882 tieknots that belong to the regular sublanguage.
Introduction
There are several different ways to tie a necktie (Fig. 1). Classically, knots such as the fourinhand, the half windsor and the full windsor have commonly been taught to new tiewearers. In a sequence of papers and a book, Fink & Mao (2001), Fink & Mao (2000) and Fink & Mao (1999) defined a formal language for describing tieknots, encoding the topology and geometry of the knot tying process into the formal language, and then used this language to enumerate all tieknots that could reasonably be tied with a normalsized necktie.
The enumeration of Fink and Mao crucially depends on dictating a particular finishing sequence for tieknots: a finishing sequence that forces the front of the knot—the façade—to be a flat stretch of fabric. With this assumption in place, Fink and Mao produce a list of 85 distinct tieknots, and determine several novel knots that extend the previously commonly known list of tieknots.
In recent years, however, interest has been growing for a new approach to tieknots. In The matrix reloaded (Wachowski et al., 2003), the character of “The Merovingian” has a sequence of particularly fancy tieknots. Attempts by fans of the movie to recreate the tieknots from the Merovingian have led to a collection of new tieknot inventions, all of which rely on tying the tie with the thin end of the tie—the thin blade. Doing this allows for a knot with textures or stylings of the front of the knot, producing symmetric and pleasing patterns.
Knorr (2010) gives the history of the development of novel tieknots. It starts out in 2003 when the edeity knot is published as a PDF tutorial. Over the subsequent 7 years, more and more enthusiasts involve themselves, publish new approximations of the Merovingian tieknot as PDF files or YouTube videos. By 2009, the new tieknots are featured on the website Lifehacker and go viral.
In this paper, we present a radical simplification of the formal language proposed by Fink and Mao, together with an analysis of the asymptotic complexity class of the tieknots language. We produce a novel enumeration of necktieknots tied with the thin blade, and compare it to the results of Fink and Mao.
Formal languages
The work in this paper relies heavily on the language of formal languages, as used in theoretical computer science and in mathematical linguistics. For a comprehensive reference, we recommend the textbook by Sipser (2006).
Recall that given a finite set $\mathcal{L}$ called an alphabet, the set of all sequences of any length of items drawn (with replacement) from $\mathcal{L}$ is denoted by ${\mathcal{L}}^{\ast}$. A formal language on the alphabet $\mathcal{L}$ is some subset $\mathcal{A}$ of ${\mathcal{L}}^{\ast}$. The complexity of the automaton required to determine whether a sequence is an element of $\mathcal{A}$ places $\mathcal{A}$ in one of several complexity classes. Languages that are described by finite state automata are regular; languages that require a pushdown automaton are context free; languages that require a linear bounded automaton are context sensitive and languages that require a full Turing machine to determine are called recursively enumerable. This sequence builds an increasing hierarchy of expressibility and computational complexity for syntactic rules for strings of some arbitrary sort of tokens.
One way to describe a language is to give a grammar—a set of production rules that decompose some form of abstract tokens into sequences of abstract or concrete tokens, ending with a sequence of elements in some alphabet. The standard notation for such grammars is the Backus–Naur form, which uses : : = to denote the production rules and 〈some name〉 to denote the abstract tokens. Further common symbols are ∗, the Kleene star, that denotes an arbitrary number of repetitions of the previous token (or group in brackets), and , denoting a choice of one of the adjoining options.
The Anatomy of a Necktie
In the following, we will often refer to various parts and constructions with a necktie. We call the ends of a necktie blades, and distinguish between the broad blade and the thin blade^{1}—see Fig. 2 for these names. The tieknot can be divided up into a body, consisting of all the twists and turns that are not directly visible in the final knot, and a façade, consisting of the parts of the tie actually visible in the end. In Fig. 3 we demonstrate this distinction. The body builds up the overall shape of the tieknot, while the façade gives texture to the front of the knot. The enumeration of Fink and Mao only considers knots with trivial façades, while these later inventions all consider more interesting façades. As a knot is in place around a wearer, the Yshape of the tie divides the torso into 3 regions: Left, Center and Right—as shown to the right in Fig. 2.
A tieknot has to be tied by winding and tucking one of the two blades around the other: if both blades are active, then the tie can no longer be adjusted in place for a comfortable fit. We shall refer to the blade used in tying the knot as the leading blade or the active blade. Each time the active blade is moved across the tieknot—in front or in back—we call the part of the tie laid on top of the knot a bow.
A Language for Tieknots
Fink & Mao (2000) observe that once the first crossing has been made, the wrapping sequence of a classical tieknot is completely decided by the sequence of regions into which the broad blade is moved. Adorning the region specifications with a direction—is the tie moving away from the wearer or towards the wearer—they establish a formal alphabet for describing tieknots with 7 symbols. We reproduce their construction here, using U for the move to tuck the blade Under the tie itself.^{2} The notation proposed by Fink & Mao (2000) interprets repetitions U^{k} of U as tucking the blade k bows under the top. It turns out that the complexity analysis is far simpler if we instead write U^{k} for tucking the blade under the bow that was produced 2k windings ago. This produces a language on the alphabet: $\left\{{L}_{\otimes},{L}_{\odot},{C}_{\otimes},{C}_{\odot},{R}_{\otimes},{R}_{\odot},U\right\}$
They then introduce relations and restrictions on these symbols:
 $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{1}}$
No region (L, C, R) shall repeat: after an L only C or R are valid next regions. U moves do not influence this.
 $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{2}}$
No direction (⊙—out of the paper, ⊗—in towards the paper) shall repeat: after an outwards move, the next one must go inwards. U moves do not influence this.
 $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{3}}$
Tucks (U) are valid after an outward move.
 $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{4}}$
A tieknot can end only on one of C_{⊗}, C_{⊙} or U. In fact, almost all classical knots end on U.^{3}
 $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{5}}$
A kfold tuck U^{k} is only valid after at least 2k preceding moves. Fink & Mao (2000) do not pay much attention to the conditions on kfold tucks, since these show up in their enumeration as stylistic variations, exclusively at the end of a knot.
This collection of rules allow us to drastically shrink the tie language, both in alphabet and axioms. Fink & Mao are careful to annotate whether tieknot moves go outwards or inwards at any given point. We note that the inwards/outwards distinction follows as a direct consequence of axioms $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{2}}$, $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{3}}$ and $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{4}}$. Since nontuck moves must alternate between inwards and outwards, and the last nontuck move must be outwards, the orientation of any sequence of moves follows by backtracking from the end of the string.
Hence, when faced with a nonannotated string like $\mathtt{RCLCRCLCRCLRURCLU}$ we can immediately trace from the tail of the knot string: the last move before the final tuck must be outwards, so that L must be a L_{⊙}. So it must be preceded by R_{⊙}C_{⊗}. Tracing backwards, we can specify the entire string above to ${R}_{\otimes}{C}_{\odot}{L}_{\otimes}{C}_{\odot}{R}_{\otimes}{C}_{\odot}{L}_{\otimes}{C}_{\odot}{R}_{\otimes}{C}_{\odot}{L}_{\otimes}{R}_{\odot}U{C}_{\otimes}{R}_{\odot}{C}_{\otimes}{L}_{\odot}U$
Next, the axiom $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{1}}$ means that a sequence will not contain either of LU^{∗}L, CU^{∗}C, RU^{∗}R as subsequences.^{4} Hence, the listing of regions is less important than the direction of transition: any valid transition is going to go either clockwise or counterclockwise.^{5} Writing T for clockwise^{6} and W for counterclockwise,^{7} we can give a strongly reduced tie language on the alphabet T, W, U. To completely determine a tieknot, the sequence needs a starting state: an annotation on whether the first crossing of a tieknot goes across to the right or to the left. In such a sequence, a U instruction must be followed by either T or W dictating which direction the winding continues after the tuck, unless it is the last move of the tie: in this case, the blade is assumed to continue straight ahead—down in front for most broadblade tieknots, tucked in under the collar for most thinblade knots.
The position of the leading blade after a sequence of W/T windings is a direct result of #W − #T(mod3). This observation allows us to gain control over several conditions determining whether a distribution of U symbols over a sequence of W/T produces a physically viable tieknot.
A position in a winding sequence is valid for a kfold tuck if the subsequence of the last 2k W or T symbols is such that either
starts with W and satisfies #W − #T = 2 (mod3)
starts with T and satisfies #T − #W = 2 (mod3).
The initial symbol produces the bow under which the tuck will go. If the initial symbol goes, say, from R to L, then the tuck move needs to come from C in order to go under the bow. In general, a tuck needs to come from the one region not involved in the covering bow. Every other bow goes in front of the knot, and the others go behind the knot. Hence, there are 2k − 1 additional winding symbols until the active blade returns to the right side of the knot. During these 2k − 1 symbols, we need to transition one more step around the sequence of regions. The transitions W and T are generator and inverse for the cyclic group of order 3, concluding the proof. □
It is worth noticing here that a particular point along a winding can be simultaneously valid for both a kfold and an mfold tuck for k ≠ m. One example would be in the winding string TWTT: ending with TT, it is a valid site for a 1fold tuck producing TWTTU, and since TWTT starts with T and has 2 more T than W, it is also a valid site for a 2fold tuck producing TWTTUU. We will revisit this example below, in ‘Recursive tucks.’
We may notice that with the usual physical constraints on a tie—where we have experimentally established that broad blade ties tend to be bounded by 9 moves, and thin blade ties by 15 moves, we can expect that no meaningful tuck deeper than 7 will ever be relevant; 4 for the broad blade ties. The bound of 4 is achieved in the enumeration by Fink & Mao (1999).
In our enumeration, we will for the sake of comfort focus on ties up to 13 moves.
Language Complexity
In this section, we examine the complexity features of the tieknot language. Due to the constraints we have already observed on the cardinality of W and T, we will define a grammar for this language. We will write this grammar with a Backus–Naur form. Although in practice it is only possible to realise finite strings in the tieknot language due to the physical properties of fabric, we assume an arbitrarily long (but finite), infinitely thin tie.
Singledepth tucks
The classical Fink and Mao system has a regular grammar, given by $\begin{array}{rcl}\hfill \langle \mathit{tie}\rangle & \hfill ::=\hfill & \mathtt{L}\langle \mathit{L}\rangle \hfill \\ \hfill \langle \mathit{lastR}\rangle & \hfill ::=\hfill & \mathtt{L}\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{C}\langle \mathit{lastC}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{LCU}\hfill \\ \hfill \langle \mathit{lastL}\rangle & \hfill ::=\hfill & \mathtt{R}\langle \mathit{lastR}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{C}\langle \mathit{lastC}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{RCU}\hfill \\ \hfill \langle \mathit{lastC}\rangle & \hfill ::=\hfill & \mathtt{L}\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{R}\langle \mathit{lastR}\rangle \hfill \end{array}$
We use the symbol 〈lastR〉 to denote the rule that describes what can happen when the last move seen was an R. Hence, at any step in the grammar, some tie knot symbol is emitted, and the grammar continues from the state that symbol was the last symbol emitted.
The above grammar works well if the only tucks to appear are at the end. For intermediate tucks, and to avoid tucks to be placed at the back of the knot (obeying $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{3}}$), we would need to keep track of winding parity: tucks are only valid an even number of winding steps from the end.
We can describe this with a regular grammar. For the full tieknot language, the grammar will end up contextfree, as we will see in ‘Recursive tucks.’ $\begin{array}{rcl}\hfill \langle \mathit{tie}\rangle & \hfill ::=\hfill & \langle \mathit{prefix}\rangle \left(\langle \mathit{pair}\rangle \hspace{0.17em}\hspace{0.17em}\langle \mathit{tuck}\rangle \right)\ast \langle \mathit{tuck}\rangle \hfill \\ \hfill \langle \mathit{prefix}\rangle & \hfill ::=\hfill & \mathtt{T}\hspace{0.17em}\left\hspace{0.17em}\mathtt{W}\hspace{0.17em}\right\hspace{0.17em}\u03f5\hfill \\ \hfill \langle \mathit{pair}\rangle & \hfill ::=\hfill & \left(\mathtt{T}\mathtt{W}\right)\left(\mathtt{T}\mathtt{W}\right)\hfill \\ \hfill \langle \mathit{tuck}\rangle & \hfill ::=\hfill & \mathtt{TTU}\hspace{0.17em}\hspace{0.17em}\mathtt{WWU}\hfill \end{array}$
The distribution of T and W varies by type of knot: for classical knots, #W − #T = 2 (mod3); for modern knots that tuck to the right, #W − #T = 1 (mod3); and for modern knots that tuck to the left, #W − #T = 0 (mod3). This grammar does not discriminate between these three subclasses. In order to track these subclasses, the RLCnotation is easier.
In order to rebuild this grammar to one based on the RLCnotation, note that from L a T takes us to C and a W takes us to R. So from a 〈lastT〉 residing at L, we have the options: W to R, T to C, or TU to C. In particular, there is a 〈lastT〉 at L if we arrived from R. Hence, the TU option can be seen as being a TTU option executing from the preceding R state.
There is thus, at any given position in the tie sequence, the options of proceeding with a T or a W, or to proceed with one of TTU or WWU. In the latter two cases, we can also accept the string. Starting at L, these options take us—in order—to C, to R, to CRU and to RCU respectively. This observation extends by symmetry to all stages, giving the grammar below. $\begin{array}{rcl}\hfill \langle \mathit{lastR}\rangle & \hfill ::=\hfill & \mathtt{LR}\langle \mathit{lastR}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{CR}\langle \mathit{lastR}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{LC}\langle \mathit{lastC}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{CL}\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}\hfill \\ \hfill & \hfill \hfill & \mathtt{LCU}\left[\langle \mathit{lastC}\rangle \right]\hspace{0.17em}\hspace{0.17em}\mathtt{CLU}\left[\langle \mathit{lastL}\rangle \right]\hfill \\ \hfill \langle \mathit{lastL}\rangle & \hfill ::=\hfill & \mathtt{RL}\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{CL}\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{RC}\langle \mathit{lastC}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{CR}\langle \mathit{lastR}\rangle \hspace{0.17em}\hspace{0.17em}\hfill \\ \hfill & \hfill \hfill & \mathtt{RCU}\left[\langle \mathit{lastC}\rangle \right]\hspace{0.17em}\hspace{0.17em}\mathtt{CRU}\left[\langle \mathit{lastR}\rangle \right]\hfill \\ \hfill \langle \mathit{lastC}\rangle & \hfill ::=\hfill & \mathtt{LC}\langle \mathit{lastC}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{RC}\langle \mathit{lastC}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{LR}\langle \mathit{lastR}\rangle \hspace{0.17em}\hspace{0.17em}\mathtt{RL}\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}\hfill \\ \hfill & \hfill \hfill & \mathtt{LRU}\left[\langle \mathit{lastR}\rangle \right]\hspace{0.17em}\hspace{0.17em}\mathtt{RLU}\left[\langle \mathit{lastL}\rangle \right]\hfill \\ \hfill \langle \mathit{tie}\rangle & \hfill ::=\hfill & \mathtt{L}\left(\langle \mathit{lastL}\rangle \hspace{0.17em}\hspace{0.17em}R\langle \mathit{lastR}\rangle \hspace{0.17em}\hspace{0.17em}C\langle \mathit{lastC}\rangle \right)\hfill \end{array}$
By excluding some the exit rules, this allows us to enumerate novel tieknots with a specific ending direction, which will be of interest later on.
Recursive tucks
We can write a contextfree grammar for the arbitrary depth tuck tieknots. $\begin{array}{rcl}\hfill \langle \mathit{tie}\rangle & \hfill ::=\hfill & \langle \mathit{prefix}\rangle \left(\langle \mathit{pair}\rangle \hspace{0.17em}\hspace{0.17em}\langle \mathit{tuck}\rangle \right)\ast \langle \mathit{tuck}\rangle \hfill \\ \hfill \langle \mathit{prefix}\rangle & \hfill ::=\hfill & \mathtt{T}\hspace{0.17em}\left\hspace{0.17em}\mathtt{W}\hspace{0.17em}\right\hspace{0.17em}\u03f5\hfill \\ \hfill \langle \mathit{pair}\rangle & \hfill ::=\hfill & \left(\mathtt{T}\mathtt{W}\right)\left(\mathtt{T}\mathtt{W}\right)\hfill \\ \hfill \langle \mathit{tuck}\rangle & \hfill ::=\hfill & \langle \mathit{ttuck2}\rangle \hspace{0.17em}\hspace{0.17em}\langle \mathit{wtuck2}\rangle \hfill \\ \hfill \langle \mathit{ttuck2}\rangle & \hfill ::=\hfill & \mathtt{TT}\langle \mathit{w0}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{TW}\langle \mathit{w1}\rangle \mathtt{U}\hfill \\ \hfill \langle \mathit{wtuck2}\rangle & \hfill ::=\hfill & \mathtt{WW}\langle \mathit{w0}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{WT}\langle \mathit{w2}\rangle \mathtt{U}\hfill \\ \hfill \langle \mathit{w0}\rangle & \hfill ::=\hfill & \mathtt{WW}\langle \mathit{w1}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{WT}\langle \mathit{w0}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{TW}\langle \mathit{w0}\rangle \mathtt{U}\mathtt{TT}\langle \mathit{w2}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\hfill \\ \hfill & \hfill \hfill & \langle \mathit{ttuck2}\rangle \text{'}\langle \mathit{w2}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\langle \mathit{wtuck2}\rangle \text{'}\langle \mathit{w1}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\u03f5\hfill \\ \hfill \langle \mathit{w1}\rangle & \hfill ::=\hfill & \mathtt{WW}\langle \mathit{w2}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{WT}\langle \mathit{w1}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{TW}\langle \mathit{w1}\rangle \mathtt{U}\mathtt{TT}\langle \mathit{w0}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\hfill \\ \hfill & \hfill \hfill & \langle \mathit{ttuck2}\rangle \text{'}\langle \mathit{w0}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\langle \mathit{wtuck2}\rangle \text{'}\langle \mathit{w2}\rangle \mathtt{U}\hfill \\ \hfill \langle \mathit{w2}\rangle & \hfill ::=\hfill & \mathtt{WW}\langle \mathit{w0}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{WT}\langle \mathit{w2}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\mathtt{TW}\langle \mathit{w2}\rangle \mathtt{U}\mathtt{TT}\langle \mathit{w1}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\hfill \\ \hfill & \hfill \hfill & \langle \mathit{ttuck2}\rangle \text{'}\langle \mathit{w1}\rangle \mathtt{U}\hspace{0.17em}\hspace{0.17em}\langle \mathit{wtuck2}\rangle \text{'}\langle \mathit{w0}\rangle \mathtt{U}\hfill \end{array}$
Note that the validity of a tuck depends only on the count of T and W in the entire sequence comprising the tuck, and not the validity of any tucks recursively embedded into it. For instance, TWTT is a valid depth2tuckable sequence, as is its embedded depth1tuckable sequence TT. However, TTWT is also a valid depth2tuckable sequence, even though WT is not a valid depth1tuckable sequence.
We introduce the symbol ' to delineate different tucks that may come in immediate sequence, such as happens in the tie knot TWTTU'UU.
Classification of the tieknot language
If we limit our attention to only the singledepth tieknots described in ‘Singledepth tucks,’ then the grammar is regular, proving that this tie language is a regular language and can be described by a finite automaton. In particular this implies that the tieknot language proposed by Fink & Mao (1999) is regular. In fact, an automaton accepting these tieknots is given by:
After the prefix, execution originates at the middle node, but has to go outside and return before the machine will accept input. This maintains the even length conditions required by $\mathcal{T}\phantom{\rule{0.16667em}{0ex}}{\mathit{ie}}_{\mathbf{3}}$.
As for the deeper tucked language in ‘Recursive tucks’, the grammar we gave shows it to be at most contextfree. Whether it is exactly contextfree requires us to exclude the existence of a regular grammar.
The deeper tucked language is contextfree.
Our grammar in ‘Recursive tucks’ already shows that the language for deeper tucked tieknots is either regular or contextfree: it produces tieknot strings with only single nonterminal symbols to the left of each production rule.
It remains to show that this language cannot be regular. To do this, we use the pumping lemma for regular languages. Recall that the pumping lemma states that for every regular language there is a constant p such that for any word w of length at least p, there is a decomposition w = xyz such that xy ≤ p, y ≥ 1 and xy^{i}z is a valid string for all i > 0.
Since the reverse of any regular language is also regular, the pumping lemma has an alternative statement that requires yz ≤ p instead. We shall be using this next.
Suppose there is such a p. Consider the tieknot TTW^{6q−2}U^{3q} for some q > p/3. Any decomposition such that yz ≤ p will be such that y and z consist of only U symbols. In particular y consists of only U symbols. Hence, for sufficiently large values of i, there are too few preceding T/Wsymbols to admit that tuck depth.
Hence the language is not regular. □
Enumeration
We can cut down the enumeration work by using some apparent symmetries. Without loss of generality, we can assume that a tieknot starts by putting the active blade in region R: any knot starting in the region L is the mirror image of a knot that starts in R and swaps all W to T and vice versa.
Generating functions
Generating functions have proven a powerful method for enumerative combinatorics. One very good overview of the field is provided by the textbooks by Stanley (1997) and Stanley (1999). Their relevance to formal languages is based on a paper by Chomsky & Schützenberger (1959) that studied contextfree grammars using formal power series. More details will appear in the (yet unpublished) Handbook AutoMathA (Gruber, Lee & Shallit, 2012).
A generating function for a series a_{n} of numbers is a formal power series $A\left(z\right)=\sum _{j=0}^{\infty}{a}_{j}{z}^{j}$ such that the coefficient of the degree k term is precisely a_{k}. Where a_{k} and b_{k} are counts of “things of size k” of type a or b respectively, the sum of the corresponding generating functions is the count of “things of size k” across both categories. If gluing some thing of type a with size j to some thing of type b with size k produces a thing of size j + k, then the product of the generating functions measures the counts of things you get by gluing things together between the two types.
For our necktieknot grammars, the sizes are the winding lengths of the ties, and it is clearly the case that adding a new symbol extends the size (thus is a multiplication action), and taking either one or another rule extends the items considered (thus is an additive action).
The Maple^{8} package combstruct has builtin functions for computing a generating function from a grammar specification. Using this, and the grammars we state in ‘Singledepth tucks,’ we are able to compute generating functions for both the winding counts and the necktie counts for both Fink and Mao’s setting and the singledepth tuck setting.

The generating function for Fink and Mao necktieknots is $\frac{{z}^{3}}{\left(1+z\right)\left(12z\right)}={z}^{3}+{z}^{4}+3{z}^{5}+5{z}^{6}+11{z}^{7}+21{z}^{8}+43{z}^{9}+O\left({z}^{10}\right).$

The generating function for single tuck necktieknots is $\frac{2{z}^{3}\left(2z+1\right)}{16{z}^{2}}=2{z}^{3}+4{z}^{4}+12{z}^{5}+24{z}^{6}+72{z}^{7}+144{z}^{8}+432{z}^{9}+864{z}^{10}+\text{2,592}{z}^{11}+\text{5,184}{z}^{12}+\text{15,552}{z}^{13}+O\left({z}^{14}\right).$

By removing final states from the BNF grammar, we can compute corresponding generating functions for each of the final tuck destinations.
For an Rfinal tuck, we remove all final states except for CRU and LRU, making the nonterminal symbol mandatory for all other tuck sequences. For L, we remove all but CLU and RLU. For C, we remove all but RCU and LCU. This results in the following generating functions for Rfinal, Lfinal and Cfinal sequences, respectively. $\begin{array}{rcl}\hfill \frac{{z}^{3}\left(2{z}^{3}2{z}^{2}+z+1\right)}{16{z}^{2}}& \hfill =\hfill & {z}^{3}+{z}^{4}+4{z}^{5}+8{z}^{6}+24{z}^{7}+48{z}^{8}+144{z}^{9}\hfill \\ \hfill & \hfill \hfill & +288{z}^{10}+864{z}^{11}+\text{1,728}{z}^{12}+\text{5,184}{z}^{13}+O\left({z}^{14}\right)\hfill \end{array}$ $\begin{array}{rcl}\hfill \frac{2{z}^{4}\left(2{z}^{2}2z1\right)}{16{z}^{2}}& \hfill =\hfill & 2{z}^{4}+4{z}^{5}+8{z}^{6}+24{z}^{7}+48{z}^{8}+144{z}^{9}\hfill \\ \hfill & \hfill \hfill & +288{z}^{10}+864{z}^{11}+\text{1,728}{z}^{12}+\text{5,184}{z}^{13}+O\left({z}^{14}\right)\hfill \end{array}$ $\begin{array}{rcl}\hfill \frac{{z}^{3}\left(2{z}^{3}2{z}^{2}+z+1\right)}{16{z}^{2}}& \hfill =\hfill & {z}^{3}+{z}^{4}+4{z}^{5}+8{z}^{6}+24{z}^{7}+48{z}^{8}+144{z}^{9}\hfill \\ \hfill & \hfill \hfill & +288{z}^{10}+864{z}^{11}+\text{1,728}{z}^{12}+\text{5,184}{z}^{13}+O\left({z}^{14}\right).\hfill \end{array}$

Removing the references to the tuck move, we recover generating functions for the number of windings available for each tie length. We give these for Rfinal, Lfinal and Cfinal respectively. Summed up, these simply enumerate all possible T/Wstrings of the corresponding lengths, and so run through powers of 2. $\begin{array}{rcl}\hfill \frac{{z}^{3}}{1z2{z}^{2}}& \hfill =\hfill & {z}^{3}+{z}^{4}+3{z}^{5}+5{z}^{6}+11{z}^{7}+21{z}^{8}+43{z}^{9}+85{z}^{10}+171{z}^{11}\hfill \\ \hfill & \hfill \hfill & +341{z}^{12}+683{z}^{13}+O\left({z}^{14}\right)\hfill \end{array}$ $\begin{array}{rcl}\hfill \frac{2{z}^{4}}{\left(12z\right)\left(1+z\right)}& \hfill =\hfill & 2{z}^{4}+2{z}^{5}+6{z}^{6}+10{z}^{7}+22{z}^{8}+42{z}^{9}+86{z}^{10}+170{z}^{11}\hfill \\ \hfill & \hfill \hfill & +342{z}^{12}+682{z}^{13}+O\left({z}^{14}\right)\hfill \end{array}$ $\begin{array}{rcl}\hfill \frac{{z}^{3}}{1z2{z}^{2}}& \hfill =\hfill & {z}^{3}+{z}^{4}+3{z}^{5}+5{z}^{6}+11{z}^{7}+21{z}^{8}+43{z}^{9}+85{z}^{10}+171{z}^{11}\hfill \\ \hfill & \hfill \hfill & +341{z}^{12}+683{z}^{13}+O\left({z}^{14}\right).\hfill \end{array}$

For the full grammar of arbitrary depth knots, we set w to be a root of (8z^{6} − 4z^{4}) ζ^{3} + (−8z^{6} + 18z^{4} − 7z^{2}) ζ^{2} + (−16z^{6} + 14z^{4} − 6z^{2} + 2) ζ − 12z^{4} + 9z^{2} − 2 = 0 solved for ζ. Then the generating function for this grammar is: $\frac{1}{8{z}^{4}11{z}^{2}+3}\left(64{w}^{2}{z}^{7}128w{z}^{7}+32{w}^{2}{z}^{6}64w{z}^{6}48{z}^{5}{w}^{2}+216{z}^{5}w24{w}^{2}{z}^{4}96{z}^{5}+108w{z}^{4}+8{w}^{2}{z}^{3}48{z}^{4}110w{z}^{3}+4{w}^{2}{z}^{2}+82{z}^{3}55{z}^{2}w+41{z}^{2}+16zw16z+8w8\right)=2{z}^{2}+4{z}^{3}+20{z}^{4}+40{z}^{5}+192{z}^{6}+384{z}^{7}+\text{1,896}{z}^{8}+\text{3,792}{z}^{9}+\text{19,320}{z}^{10}+\text{38,640}{z}^{11}+\text{202,392}{z}^{12}+\text{404,784}{z}^{13}+\text{2,169,784}{z}^{14}+O\left({z}^{15}\right).$
Tables of counts
For ease of reading, we extract the results from the generating functions above to more easytoreference tables here. Winding length throughout refers to the number of R/L/C symbols occurring, and thus is 1 larger than the W/T count.
The cases enumerated by Fink & Mao (2000) are
Winding length  3  4  5  6  7  8  9  Total 
# tieknots  1  1  3  5  11  21  43  85 
A knot with the thick blade active will cover up the entire knot with each new bow. As such, all thick blade active tieknots will fall within the classification by Fink & Mao (2000).
The modern case, thus, deals with thin blade active knots. As evidenced by the Trinity and the Eldredge knots, thin blade knots have a wider range of interesting façades and of interesting tuck patterns. For thick blade knots, it was enough to assume that the tuck happens last, and from the C region, the thin blade knots have a far wider variety.
The case remains that unless the last move is a tuck—or possibly finishes in the C region—the knot will unravel from gravity. We can thus expect this to be a valid requirement for the enumeration. There are often more valid tuck sites than the final position in a knot, and the tuck need no longer come from the C region: R and L are at least as valid.
The computations in ‘Generating functions’ establish
Winding length  3  4  5  6  7  8  9  10  11  12  13  Total 
# left windings  0  2  2  6  10  22  42  86  170  342  682  1,364 
# right windings  1  1  3  5  11  21  43  85  171  341  683  1,365 
# center windings  1  1  3  5  11  21  43  85  171  341  683  1,365 
# left knots  0  2  4  8  24  48  144  288  864  1,728  5,184  8,294 
# right knots  1  1  4  8  24  48  144  288  864  1,728  5,184  8,294 
# center knots  1  1  4  8  24  48  144  288  864  1,728  5,184  8,294 
# single tuck knots  2  4  12  24  72  144  432  864  2,592  4,146  15,552  24,882 
total # knots  2  4  20  40  192  384  1,896  3,792  19,320  38,640  202,392  266,682 
The first point where the singly tucked knots and the full range of knots deviate is at the knots with winding length 4; there are 12 singly tucked knots, and 8 knots that allow for a double tuck, namely:
TTTTU  TTWWU  TWTTU  TWWWU 
WTTTU  WTWWU  WWTTU  WWWWU 
TTUTTU  TTUWWU  WWUTTU  WWUWWU 
TTTWUU  TTWTUU  TWTTUU  TWTTU'UU 
WTWWUU  WTWWU'UU  WWTWUU  WWWTUU 
The reason for the similarity between the right and the center counts is that the winding sequences can be mirrored. Leftdirected knots are different since the direction corresponds to the starting direction. Hence, a winding sequence for a center tuck can be mirrored to a winding sequence for a right tuck.
In the preprint version of this paper, we claimed the total count of knots using only singledepth tucks to be 177,147. During the revision of the paper, we have discovered two errors in this claim:

There is an offbyone error in this count.

This count was done for tieknots that allow tucks that are hidden behind the knot. Adding this extra space to the generating grammar produces the generating function $2{z}^{3}+6{z}^{4}+18{z}^{5}+54{z}^{6}+162{z}^{7}+486{z}^{8}+\text{1,458}{z}^{9}+\text{4,374}{z}^{10}+\text{13,122}{z}^{11}+\text{39,366}{z}^{12}+\text{118,098}{z}^{13}+O\left({z}^{14}\right)$ with a total of 177,146 tieknots with up to 13 moves.
Aesthetics
Fink & Mao (2000) propose several measures to quantify the aesthetic qualities of a necktieknot; notably symmetry and balance, corresponding to the quantities #R − #L and the number of transitions from a streak of W to a streak of T or vice versa.
By considering the popular thinblade neck tieknots: the Eldredge and the Trinity, as described in Krasny (2012a) and Krasny (2012b), we can immediately note that balance no longer seems to be as important for the look of a tieknot as is the shape of its façade. Symmetry still plays an important role in knots, and is easy to calculate using the CLR notation for tieknots.
Knot  TWstring  CLRstring  Balance  Symmetry 
Eldredge  TTTWWTTUTTWWU  LCRLRCRLUCRCLU  3  0 
Trinity  TWWWTTTUTTU  LCLRCRLCURLU  2  1 
We do not in this paper attempt to optimize any numeric measures of aesthetics, as this would require us to have a formal and quantifiable measure of the knot façades. This seems difficult with our currently available tools.
Conclusion
In this paper, we have extended the enumeration methods originally used by Fink & Mao (2000) to provide a larger enumeration of necktieknots, including those knots tied with the thin blade of a necktie to produce ornate patterns in the knot façade.
We have found 4,094 winding patterns that take up to 13 moves to tie and are anchored by a final single depth tuck, and thus are reasonable candidates for use with a normal necktie. We chose the number of moves by examining popular thinblade tieknots—the Eldredge tieknot uses 12 moves—and by experimentation with our own neckties. Most of these winding patterns allow several possible tuck patterns, and thus the 4,094 winding patterns give rise to 24,882 singly tucked tieknots.
We have further shown that in the limit, the language describing neck tieknots is context free, with a regular sublanguage describing these 24,882 knots.
These counts, as well as the stated generating functions, are dependent on the correctness of the combstruct package in Maple, and the correctness of our encoding of these grammars as Maple code. We have checked the small counts and generated strings for each of the grammars against experiments with a necktie and with the results by Fink and Mao and our own catalogue.
Questions that remain open include:

Find a way to algorithmically divide a knot description string into a body/façade distinction.

Using such a distinction, classify all possible knot façades with reasonably short necktie lengths.
We have created a website that samples tieknots from knots with at most 12 moves and displays tying instructions: http://tieknots.johanssons.org. The entire website has also been deposited with Figshare (VejdemoJohansson, 2015).
All the code we have used, as well as a table with assigned names for the 2,046 winding patterns for up to 12 moves are provided as Supplemental Information to this paper. Winding pattern names start with R, L or C depending on the direction of the final tuck, and then an index number within this direction. We suggest augmenting this with the bitpattern describing which internal tucks have been added—so that e.g., the Eldredge would be L373.4 (including only the 3rd potential tuck from the start) and the Trinity would be L110.2 (including only the 2nd potential tuck). Thus, any singledepth tuck can be concisely addressed.