It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 2K
- Applied Category Theory Course 162
- Applied Category Theory Exercises 87
- Applied Category Theory Discussion Groups 11
- Chat 431
- Azimuth Code Project 107
- News and Information 144
- Azimuth Blog 148
- Azimuth Forum 29
- Azimuth Project 190
- - Strategy 109
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 706
- - Latest Changes 698
- - - Action 14
- - - Biodiversity 8
- - - Books 1
- - - Carbon 9
- - - Computational methods 38
- - - Climate 53
- - - Earth science 23
- - - Ecology 43
- - - Energy 29
- - - Experiments 30
- - - Geoengineering 0
- - - Mathematical methods 69
- - - Meta 9
- - - Methodology 16
- - - Natural resources 7
- - - Oceans 4
- - - Organizations 34
- - - People 6
- - - Publishing 4
- - - Reports 3
- - - Software 20
- - - Statistical methods 2
- - - Sustainability 4
- - - Things to do 2
- - - Visualisation 1
- General 38

Options

In the thread 'Chapter 2' Keith E. Peterson showed interest to

make a 'Categories for the Working Storyteller' thread

That's a splendid idea, Keith! For the last few months I pondered how to transform a set of reaction networks into fairy tales. I'm quite excited about it, so here, let me go ahead and open that thread.

There are already some comments about this otherthread (which I only just noticed), let me copy this link to a paper Keith dug up:

'Generative Story Worlds as Linear Logic Programs' https://www.cs.cmu.edu/~cmartens/int7.pdf

The title certainly sounds interesting!

## Comments

Oh cool, thank you for making the thread for me. That saves me work.

What's nice about that paper (and other's like it), is that linear logic can be given a nice string semantics via proof-nets.

`Oh cool, thank you for making the thread for me. That saves me work. What's nice about that paper (and other's like it), is that linear logic can be given a nice string semantics via proof-nets.`

As an aside the different ways a narrative's timeline can be structured (is there time travel? does it branch? can we affect the past? etc) 'correspond' to various models of computational persistence, as Erik Demaine has described here:

1. Persistent Data Structuresand here

2. Retroactive Data Structures`As an aside the different ways a narrative's timeline can be structured (is there time travel? does it branch? can we affect the past? etc) 'correspond' to various models of computational persistence, as Erik Demaine has described here: **1. Persistent Data Structures** https://www.youtube.com/watch?v=T0yzrZL1py0 and here **2. Retroactive Data Structures** https://www.youtube.com/watch?v=WqCWghETNDc`

The paper by Martens, Ferreira, Bossa, and Cavazza models a Shakespearian universe using monoids represented by maps between tuples. It is only 7 pages long, so go there and read that, I won't copy the examples here. This stuff could be used for automated story building, perhaps by randomly choosing production rules, or by letting the player of a computer game select from the available choices.

`The paper by Martens, Ferreira, Bossa, and Cavazza models a Shakespearian universe using monoids represented by maps between tuples. It is only 7 pages long, so go there and read that, I won't copy the examples here. This stuff could be used for automated story building, perhaps by randomly choosing production rules, or by letting the player of a computer game select from the available choices.`

The lectures by Eric Demaine are to fill 1½ hour slots, and in the first he looks at implementations for partial, full, and confluent persistence. That is, recordig past versions of a data set using a linear history, a branching history, and branching but we're also allowed to merge versions. The 'pointer machine' model for computation is used as background theory to find out computational complexities for the best algorithms we know to establish the respective persistences. About one hour in he starts talking about details beyond these three types and the relation to functional programming (which you might also view as a kind of persistence).

`The lectures by Eric Demaine are to fill 1½ hour slots, and in the first he looks at implementations for partial, full, and confluent persistence. That is, recordig past versions of a data set using a linear history, a branching history, and branching but we're also allowed to merge versions. The 'pointer machine' model for computation is used as background theory to find out computational complexities for the best algorithms we know to establish the respective persistences. About one hour in he starts talking about details beyond these three types and the relation to functional programming (which you might also view as a kind of persistence).`

There is also the paper Linear logic for non-linear storytelling.

`There is also the paper [Linear logic for non-linear storytelling](https://pdfs.semanticscholar.org/1e11/5083898433cbe4653e80d6ab3f077721c4d9.pdf).`

What are some questions that the group feels should be asked about narratives?

For instance, one of the authors of both the above papers, Anne-Gwenn Bosser, reports on her homepage that, "[l]ately, I have been investigating the use of Linear Logic as a conceptual model for Computational Narratives, aka a Proof is a Story."

So I suppose the first questions that could be possibly asked are,

Can every linear proof be given a corresponding story and vice versa, can any story be given a linear proof?`What are some questions that the group feels should be asked about narratives? For instance, one of the authors of both the above papers, Anne-Gwenn Bosser, reports on her homepage that, "[l]ately, I have been investigating the use of Linear Logic as a conceptual model for Computational Narratives, aka a Proof is a Story." So I suppose the first questions that could be possibly asked are, **Can every linear proof be given a corresponding story and vice versa, can any story be given a linear proof?**`

A 'retroactive datastructure' would be capable of answering what-if questions. It means that changes to the past should propagate to the future, somehow.

Puzzle rf2:What does that even mean? What's the most general setting that makes sense? Can you give examplesEric's lecture doesn't spend much time on this question, but let's have some thoughts anyways.

Let's assume a simple data structure, say a list of numbers \(d:D\), and an algorithm \(f:D→D\). A

historywould then be a sequence of states \(d0, f(d0), f(f(d0)), ...\).Okay, there is not much we can do short of repeating the whole computation, which isn't very interesting complexity-wise.

So let's instead assume a data type with more structure, say a list of numbers \(l:L\), which comes with some operations \(push:N→L→L\) and \(pop:L→N×L\). We could now record what happened to our list in terms of these operations, change that, and see what applying the remaining operations does.

This is what Eric's second lecture discusses, well, for a couple of slightly more structured data types, which he then calls

partial retroactivity.Puzzle rf3:I didn't really get further than partial retroactivity, is it reasonable to talk about full or confluent retroactive data structures similar to their definition in Eric's lecture 1?Maybe not, as there isn't much known about retroactive data structures. I mean, if our type encodes a turing complete model for computation we're asking for trouble.

`A 'retroactive datastructure' would be capable of answering what-if questions. It means that changes to the past should propagate to the future, somehow. __Puzzle rf2:__ What does that even mean? What's the most general setting that makes sense? Can you give examples Eric's lecture doesn't spend much time on this question, but let's have some thoughts anyways. Let's assume a simple data structure, say a list of numbers \\(d:D\\), and an algorithm \\(f:D→D\\). A _history_ would then be a sequence of states \\(d0, f(d0), f(f(d0)), ...\\). Okay, there is not much we can do short of repeating the whole computation, which isn't very interesting complexity-wise. So let's instead assume a data type with more structure, say a list of numbers \\(l:L\\), which comes with some operations \\(push:N→L→L\\) and \\(pop:L→N×L\\). We could now record what happened to our list in terms of these operations, change that, and see what applying the remaining operations does. This is what Eric's second lecture discusses, well, for a couple of slightly more structured data types, which he then calls _partial retroactivity_. __Puzzle rf3:__ I didn't really get further than partial retroactivity, is it reasonable to talk about full or confluent retroactive data structures similar to their definition in Eric's lecture 1? Maybe not, as there isn't much known about retroactive data structures. I mean, if our type encodes a turing complete model for computation we're asking for trouble.`

Thanks for all the nice links, Keith! I'm sorry, yes I'm really that slow. I intend to share sketches from my nucleosynthesis -> fairy tale project as soon as I make some.

`Thanks for all the nice links, Keith! I'm sorry, yes I'm really that slow. I intend to share sketches from my nucleosynthesis -> fairy tale project as soon as I make some.`

I'm not worried. Take as long as needed to think over something.

I'm not sure I'm qualified to answer your puzzles.

That being said, I want to try to bring some of the ideas learned in the course and applied them to the story context.

For one thing, in literary theory of Russian Formalism in the early 20th century divided a narrative into two elements: the fabula (фа́була) and the syuzhet (сюже́т).

The fabula is sort of like a base set of events the story is based on, which is usually a poset (though some postmodern works seem to throw that assumption out the window).

The syuzhet is how the events are ordered in the plot of the written narrative. Unless the narrtive is a gamebook (aka "choose-your-own-adventure" style books), the syuzhet is

alwaysa poset, since one part of a written narration always comes before another.Puzzle KEP1:If the fabula is seen as purely a set (ie, we ignore any chronology between events, and treat all the events as being discrete), then there is a monotone map of posets from the fabula to the syuzhet. Prove this.`I'm not worried. Take as long as needed to think over something. I'm not sure I'm qualified to answer your puzzles. That being said, I want to try to bring some of the ideas learned in the course and applied them to the story context. For one thing, in literary theory of Russian Formalism in the early 20th century divided a narrative into two elements: the [fabula (фа́була) and the syuzhet (сюже́т)](https://en.wikipedia.org/wiki/Fabula_and_syuzhet). The fabula is sort of like a base set of events the story is based on, which is usually a poset (though some postmodern works seem to throw that assumption out the window). The syuzhet is how the events are ordered in the plot of the written narrative. Unless the narrtive is a [gamebook (aka "choose-your-own-adventure" style books)](https://en.wikipedia.org/wiki/Gamebook), the syuzhet is *always* a poset, since one part of a written narration always comes before another. **Puzzle KEP1:** If the fabula is seen as purely a set (ie, we ignore any chronology between events, and treat all the events as being discrete), then there is a monotone map of posets from the fabula to the syuzhet. Prove this.`

Whether it's relevant or not I don't know but Bahktin's Rabelais and his World is my all time favourite book on culture; tracing the history of the elimination of the Dionysian and the grotesque folk culture of the carnival from the Cyprian satires onwards. Crowning a donkey as pope and reciting the lord's prayer backwards is a typical transgressive example from Spain.

`Whether it's relevant or not I don't know but Bahktin's Rabelais and his World is my all time favourite book on culture; tracing the history of the elimination of the Dionysian and the grotesque folk culture of the carnival from the Cyprian satires onwards. Crowning a donkey as pope and reciting the lord's prayer backwards is a typical transgressive example from Spain.`

In the Peruvian Aymara language time is reversed so Aymarans don't wait for the bus - the bus arrives from the future.

`In the Peruvian [Aymara language](http://ucsdnews.ucsd.edu/archive/newsrel/soc/backsfuture06.asp) time is reversed so Aymarans don't wait for the bus - the bus arrives from the future.`

If I recall, in Mandarin, time is ordered vertically. So the past is above and the future is below.

Can any Mandarin speakers confirm?

`If I recall, in Mandarin, time is ordered vertically. So the past is above and the future is below. Can any Mandarin speakers confirm?`

I know just a little bit of Mandarin, but I think you are right: "shang" (above) is used for the "time before" and "xia" (below) for the "time after". This is not necessarily about past or future (e.g., morning is "shang wu" (above noon) and afternoon is "xia wu" (below noon) regardless of whether you are talking about yesterday, today or tomorrow), but the idea is that time is ordered vertically. I guess this is related to the fact that Chinese used to be written vertically: the characters you have written in the past are above; those you will write in the future are below (until you have reached the end of the page and you have to restart from the top :-) ).

`I know just a little bit of Mandarin, but I think you are right: "shang" (above) is used for the "time before" and "xia" (below) for the "time after". This is not necessarily about past or future (e.g., morning is "shang wu" (above noon) and afternoon is "xia wu" (below noon) regardless of whether you are talking about yesterday, today or tomorrow), but the idea is that time is ordered vertically. I guess this is related to the fact that Chinese used to be written vertically: the characters you have written in the past are above; those you will write in the future are below (until you have reached the end of the page and you have to restart from the top :-) ).`