Semantic Repetition and Recursion

There are many narratives in which themes --sometimes short, sometimes
long -- recur, perhaps with variations. Is it possible to represent such
a narrative by a DAG? The answer is Yes, and there are several possible

If the number of recurrences is relatively small, we might create a
subDAG, perhaps with parameters, to represent the theme, the parameters
catering for the variations. An example mentioned by (Levison et al,
2013) is the theme:

    F favours younger sibling X over older sibling Y

which occurs at least eight times in the Hebrew Bible. If we create a
subDAG to represent this, we can place it in a library of subDAGs, and
merely refer to it wherever it is required in the main DAG. In fact,
subDAGs may themselves use subDAGs, and the library may be used in
many different stories.

A different approach, used in our study of Madame Arnoux, is to have the
repetition represented by a cycle, not in the DAG itself, but in the
*thread*. Obviously the cycle cannot occur directly in the DAG, which
must, by definition, be acyclic. But there is no such restriction on the

Thirdly, repetition can be represented by recursion.

Recursive stories

A recursive story is a story which itself contains a story. What story
does the story contain? Why, the very story itself!

Recursion is illustrated by a question which has, to the authors'
knowledge, appeared in several exam papers over the years in subjects
such as English or History:

    Write a question suitable for this exam and answer it.

If this were to appear in a Mathematics exam, a reasonably bright (and
daring?) student would be tempted to answer it:

    Question: Write a question suitable for this exam and answer it.
    Answer: Write a question suitable for this exam and answer it.

Reasonably bright? Well, yes, because the student's solution is not
quite complete. Wasn't the Answer part of the solution supposed to
contained both a question an answer? A truly excellent mathematician
would achieve this by recursion:

    Let P be the following:

    Question: Write a question suitable for this exam and answer it.
    Answer:   P

The solution to the question on the exam paper is then simply P.

Initially, recursion can be somewhat difficult to grasp. The reader
not familiar with it should try replacing P in the Answer by the whole
of P (etc.!)

An ancient story of this form, attributed to the Greek philosopher Zeno
of Elea (ca. 490 -430 BCE), is that of Achilles and the Tortoise, in
which it appea\rs that Achilles, having given the tortoise a start in a
footrace, appears never to be able to catch him. (See, for example,'s_paradoxes)

Another is Julio Cortazar's Continuity of Parks (REF). A man sits in a
green chair opposite a wood which contains a cabin. He is reading a
novel. In the novel, two lovers are in a cabin in a wood plotting to
murder the woman's husband. They part, and the man heads towards the
woman's house. Knife in hand he locates a room. He enters, and heads
towards a man sitting in a green chair reading a novel.

There is no difficulty in principle in representing a recursive story
by a DAG. One of the nodes in an elaboration of the DAG is simply a call
to the DAG itself, just as the definition of P includes a reference to
P itself. If the story is not to be infinite, there must be an
alternative elaboration which does not. The threading must then pursue
the alternative at some point to stop the recursion.

Groundhog Day

The story underlying the film Groundhog Day has an unusual repetitive
structure. It tells of a day in the life of Phil, a selfish and
egotistical weatherman, who has been asked to cover an event which takes
place each year on 2nd February at Puxatony, Pennsylvania. Here, a
groundhog, by seeing or not seeing his shadow, pronounces on the
remainder of the Winter[1]. Phil finds himself repeating the same day
over and over again. The day is punctuated by a series of situations
(sit1, sit2, ...) at the end of which Phil has two choices. If he
chooses the negative one, which ends badly for him (neg1, neg2, ...),
this causes him to learn from his poor choice. He then reawakens and
relives the day from its beginning. At the point of a bad choice, he now
makes the better one, causing the bad result to be replaced by a good
one (pos1, pos2, ...). Eventually, Phil wins the heart of his producer,
Rita, and they escape from the cycle.

    Footnote 1. If he sees his shadow, winter will continue for
    another six weeks. (If not, winter will presumably last until
    16th March, 15th in leap years!)

The story requires that Phil have several state-sets, whose states can
be changed "for the better"[2] based on his experiences; thus:

    behaviour: self-centred, helpful-to-others, ..., generous

    attitude to Rita: dislike, lust, ..., love

    preferred suicide method: under bus, toaster, ...

        Footnote 2: "better" obviously includes the possibility of his
        choosing an improved method of suicide when he relives the day!

The DAG might be something like this:

    ... -----------------------------------------   ...
            |              |               |
          sit3           sit4            sit5
            |              |               |
         ___|___        ___|___         ___|___
        |       |      |       |       |       |
      neg3      |    neg4      |     neg5      |
        |       |      |       |       |       |
     learn3     |   learn4     |    learn5     |
        |       |      |       |       |       |
       b3---->pos3    b4---->pos4     b5---->pos5   ...

Note that sit1, sit2, ... present the situations up to the point where a
reaction is called for, and neg1, neg2, ... and pos1, pos2, ... describe
the alternative reactions and their consequences.

The nodes b1, b2, ... indicate that Phil has reached a new state in one
or other of his attitude/experience sets. b4, for example, might imply
that he has become generous. pos4 may involve giving a donation to a
beggar, while neg4 involves refusing it. Thus his choice of pos4 when he
relives the situation depends on his new-found generosity.

The nodes learn1, learn2, ... are somewhat similar in their structure,

          consult an expert

They differ in that the learning node learn4, for example, is specific
in causing Phil to reach state b4.

The narrative threading takes the form of a series of ever-increasing
loops. For the area of the DAG shown above, it might be[3]:

    wake sit1 pos1 sit2 pos2 sit3 neg3 learn3 b3
    wake sit1 pos1 sit2 pos2 sit3 pos3 sit4 neg4 learn4 b4
    wake sit1 pos1 sit2 pos2 sit3 pos3 sit4 pos4 sit5 neg5 learn5 b5
    wake sit1 pos1 sit2 pos2 sit3 pos3 sit4 pos4 sit5 pos5

    Footnote 3. This is a slight oversimplification of the
    actual plot. In fact, Phil may make bad choices affecting
    different state-sets on successive days, before returning to
    a situation related to an earlier improvement and correcting
    his choice.

On later loops, the finer-level threading of the refined nodes omits
most of the content, repeating just sufficient detail (perhaps a piece
of background music from an earlier loop) that the viewer understands
that repetition has taken place.

Phil's current state for each set is analogous to membership in the
set of friends in the DAG for Androcles and the Lion. Thus, if Phil's
generosity-level has increased to 10, a global imperative, the analogue
of "friends do not harm friends", might indicate that members of the
level10 set do not refuse small gifts to beggars. His donation, then,
depends on the global statement and his set-membership.

Does this mean that the narrative thread must pass through the node b4
before it can pass through pos4? Not necessarily. This is a matter only
for the threading process. The author may decide not to represent the
meaning of b4 explicitly in the narrative. The reader, seeing pos4, is
then likely to infer that Phil's attitude has changed for the better.

A recursive representation

By way of illustration, let us sketch a recursive representation of
the repetitive DAG shown above for Groundhog Day.

First we form the sequences such as sit1, sit2, ... into lists,
technically known as arrays:

    array sit = (sit1, sit2, sit3, ... )

with individual members being "indexed" numerically, so that sit3,
for example, is denoted by sit[3], learn2 by learn[2], and so on.

Now, we define a parameterized subDAG, day[p], with parameter p
representing a number, to be:

             |            |
            wake      day[p + 1]
        |         |
      neg[p]      |
        |         |
     learn[p]     |
        |         |
       b[p] --> pos[p]

where 1 <= p < tot, and tot is the total number of times that Phil
relives the day. A different subDAG, day[tot], represents meaning
of the final day, and all its activities. Since it will not include
reference to day[p + 1], this brings the recursion to an end.

                            Note: <= denotes "less than or equal"

The main subDAG itself represents the meaning of the story from the
p'th occurrence of the day to the end. The meaning of the whole
story is denoted by day[1], presumably preceded by a subDAG which
covers the introductory activities.

Expanding the recursion actually produces a slightly different
repetitive DAG from the one presented earlier. For the sake of
simplifying the recursion, a copy of the node (or subDAG) wake
appears at the start of each day, while the original contained just
a single copy. This has no effect on the meaning represented by the
DAG. In the original version the thread presumably passes through the
same node for each day, while here it traverses the separate copies.