This is a first post about interpreting the Turing machine in ancient terms (I have at least another interpretation in mind, which I shall explain later).
It’s your choice to interpret it as a tongue-in-cheek or verbatim. Here are the facts.
Go to the tutorial “Introduction to graphic lambda calculus” if you want to understand the graphic conventions and the moves.
1. The three Moirai, cite from their wiki page:
In Greek mythology, the Moirai (Ancient Greek: Μοῖραι, “apportioners”, Latinized as Moerae)—often known in English as the Fates—were the white-robed incarnations of destiny (Roman equivalent: Parcae, euphemistically the “sparing ones”, or Fata; also equivalent to the Germanic Norns). Their number became fixed at three: Clotho (spinner), Lachesis (allotter) and Atropos (unturnable). […]
- Clotho ( /ˈkloʊθoʊ/, Greek Κλωθώ [klɔːˈtʰɔː] – “spinner”) spun the thread of life from her distaff onto her spindle. Her Roman equivalent was Nona, (the ‘Ninth’), who was originally a goddess called upon in the ninth month of pregnancy.
- Lachesis ( /ˈlækɨsɪs/, Greek Λάχεσις [ˈlakʰesis] – “allotter” or drawer of lots) measured the thread of life allotted to each person with her measuring rod. Her Roman equivalent was Decima (the ‘Tenth’).
- Atropos ( /ˈætrəpɒs/, Greek Ἄτροπος [ˈatropos] – “inexorable” or “inevitable”, literally “unturning”, sometimes called Aisa) was the cutter of the thread of life. She chose the manner of each person’s death; and when their time was come, she cut their life-thread with “her abhorred shears”. Her Roman equivalent was Morta (‘Death’).
2. Let’s interpret their activity as something equivalent to a Turing machine. I shall use untyped lambda calculus, which has the same computational power as Turing machines. Better, I choose to work with graphic lambda calculus (tag archive , first paper), which has a sector equivalent with untyped lambda calculus.
The challenge is to arrive to generate all graphs in by using the three Moirai, specifically by formalizing their activity in terms of graphic lambda.
The following figure contains this, let’s contemplate it and then pass to explanations.
CLOTHO is creating the thread, namely the new move called “CREA” (from “creation”):
Basically she introduces a FAN-OUT gate into the thread. In order to make this gate to function as FAN-OUT, she also needs from the graphic lambda calculus the moves CO-COMM (which allows her to permute the outputs) and CO-ASSOC (which allows her to not care about the order of application of a cascade of FAN_OUT gates).
ATROPOS cuts the thread, namely she is performing a move which I shall call “GARB” (from “garbage”), which is a new move introduced in graphic lambda calculus:
She picks from the moves of graphic lambda calculus LOCAL PRUNING and ELIMINATION OF LOOPS, which are kind of her style.
LACHESIS is doing only one move, the graphic beta, described here (and see the paper) as a braiding move, when seen in knot diagrams macro. (She might actually be able to do also the oriented Reidemeister 1a move, see further.)
This is a graphic form of reduction, so you may say that LACHESIS is performing something akin to reduction.
3. How does it work? The Moirai have a thread to start from. Their first goal is to produce the gates. They can easily have two gates, one appearing after GARB, the other appearing after CREA. They still need the application gate (corresponding to the application operation in lambda calculus) and the lambda abstraction gate.
They also need to have enough threads to play with. Here are two ways of getting them. The first one is using only GARB and CREA moves. The dashed green curves represent the input and the output of their activities. The dashed red curves indicate where the moves are applied.
Another way of producing two threads from one, more specifically producing a new thread and also keeping the old one, uses also LOCAL PRUNING:
If the Moirai have only one thread and no loop, then we have to add to LACHESIS’s competences the three Reidemeister moves, or at least the Reidemeister 1a move:
Then LACHESIS may use her graphic beta move in order to get a thread and a loop. ATROPOS has to refrain to use her ELIMINATION OF LOOPS for later!
Now the three Moirai are ready to produce the application and lambda abstraction gates. CLOTHO and LACHESIS start with two threads (which they already have), in order to get to an intermediary step.
From here, with some help from ATROPOS, they get a lambda gate and an application gate.
From here the Moirai have to be very clever and patient in order to construct the graphs which correspond to the lambda calculus terms needed for something equivalent of a Turing machine. They have to be clever because they want to construct graphs in from the lambda calculus sector, and for this they have to cleverly use loops in order to satisfy, at the end, the global conditions which graphs from the lambda calculus sector satisfy (that is, basically, the condition that whatever exits from the right hand side exit of a lambda gate, has to either end in garbage, or to continue until it enters by the input of the said lambda gate).
Their work could be made easier if they learn a bit of LISP and they follow the indications of this paper.
We are left with three, very vague questions:
1. Could it be that the Moirai take some shorcuts through the maze of constructing a Turing machine and instead, thread our fates in an equivalent (or more general?) way, but using less sophisticated building blocks?
2. As they spun the destiny of the Universe, they do it in a computable fashion?
3. Could the Moirai build Moirai? (I find this hard to believe, by looking at the GLOBAL CONDITIONS they have to achieve by pure wisdom.)