Hello and welcome, everyone. It is September 19th, 2020-23, and we are in Octave Mathstream, number 7.1 at the Active Inference Institute. We're here with Vincent, Wang, Machinitza, and guests. It should be quite a discussion, certainly a unique one by what we can already see. So thank you all for joining. We'll be looking forward to this presentation and interleave in discussion. Thanks, Dan. So hi. My name is Vincent, and with me today also is Hamza in the audience. We're both authors on this paper that we'll be talking today, Constructor Theory as Process Theory. So I'll show the format of this discussion, B. So I'd like to tell you a bit about Constructor Theory and Process Theory, and then have a discussion about the diagramatics of Process Theory, how that might fit with Active Inference. All this you can do it as an exercise and seeing things in a diagrammatic way. So I'll get started and the structure will be roughly, I'll talk about what Constructor Theory is first, just from a conceptual level, because I'm the only non-physicist among the authors of this paper, Hamza's a physicist. So any questions about specific examples is there to be directed to Hamza. And then after that, I'm gonna do just a sort of lightning fast introduction to what a process theory is, and then we'll put the two together and then we'll have a discussion. And throughout, I will be making pauses to sort of invite questions and make sure everyone is on the same page conceptually, but everything should be super, super easy, because I think all of the ideas really are, fundamentally, they're quite simple. Okay, so without further ado, what is Constructor Theory? Constructor, that's it. So you may have heard of this already because there's quite a lot of hype. They have a very good PR machine, if nothing else. So among other things it's been described as, and I think this is from Quanta article, a master theory, the set of ideas so fundamental that all other theories would spring from it. And in fact, if you go to Deutsch's original paper, on Constructor Theory, you go so far to say that all other theories of physics, we'll call them, it doesn't matter if it's thermodynamics or quantum or relativity, gravity, whatever, we'll just call them subsidiary theories because that's how big and important Constructor Theory is. And there's this eponymous book by Chiara Maletto, The Science of Can and Can't. I wanna say that, oh, well, you know, if Constructor Theory is about counterfactuals and what is and isn't possible in the domain of physics. And all this is, all this sounds really impressive, but the question is, what do you mean by this? So how this all started is some of Chiara's students, Aniset and Rhea Valeras, they came over to the Wolfson-Quanton Foundation's discussion and they were nice enough to sit down and tell us about what Constructor Theory really is. Cause historically it's been really difficult to sort of pin down, to pin down like, what is the math, what do you really mean here by all these words? And well, they're happy to say, look, it's a meta theory, you can sort of bring your own mathematics, you know, what we really, there's a sort of methodological approach of Constructor Theory that's more important than the specific mathematics that you want to use to instantiate all these words, like what is a constructor and what is impossible. But okay, I'll tell you conceptually what Constructor Theory is. So first, I want you to, let's talk about a space of conceivable processes. Conceivable is the word here. The use of the word conceivable will become clear soon because we're gonna cut this space shortly. And what are the sort of conceivable processes that we might have? Well, let's look at a limited subset. Let's talk about ice cream. There's sort of simple process that can always happen, which is you might have some ice cream, you leave it out for too long and then the ice cream melts, comes a puddle. This is, you know, we want to say, this is obviously a conceivable process. There's another conceivable process where the opposite thing happens. You have the ice cream that's melted, and then it spontaneously unmelt and becomes an ice cream again. This is a conceivable process as well.  Like for example, you have an ice cream and then you've got some machine such that you can take it and you put in anything and it performs this process or task of taking your input and copying it, everything perfectly, down to the quantum states. You know, you're cloning the ice cream. You may be aware there's this quantum, no cloning.  Nevertheless, all of these are conceivable processes of relationships between possible inputs and possible outputs. I should stop using the word possible, just inputs and outputs. Right. So what is the aim of constructor theory really? Well, it stems from this desire to classify the space of conceivable processes into that which is possible and that which is impossible. Well, what might we say intuitively? We might say that, well, we're pretty sure that we're pretty sure that this ice cream melting stuff, that's possible in terms of some theory of physics that explains everything and I go, okay, fine. Like some theory of physics that explains what happens to ice cream, definitely wanna say that ice cream melting is possible. And we definitely, you know, that theory of physics also has gotta say that this sort of cloning situation here, that's gotta be no good. That's impossible. And then the difficulty comes when you've got the cases in the middle where, okay, well, technically, if we're just using English, I mean, it is conceivable. It is possible that an ice cream can spontaneously reform itself. I mean, it can happen. The laws of physics don't forbid it. It is simply very, very unlikely. What is Deutsch's idea that we should say, no, no, no, you know, let's do away with the complexities of statistics and just say that that's straight up impossible. Right. So then the goal of constructive theory is to take the space of conceivable processes and cut it. Just one cut corresponding to on one side, what is impossible and on the other, what is possible, right? So just using this one sort of concept or duality, what is possible and impossible, it is like you take your space of conceivable processes and you just determine what's possible and impossible. And here's the subtle part. Then you claim that any theory of physics corresponds precisely to the content of one of these cuts. And what do I mean by that? Well, I mean is that, well, you know, this is one space of conceivable processes that happens to talk about, for example, the dynamics of ice cream. But there are all kinds of conceivable spaces of processes that might govern, you know, different sort of domain or domains or magisteria or whatever you wanna call them of phenomena. And the idea is that, well, you know, anytime you have a theory of physics, what do you really have? You really have just the domain of phenomena that you care about. And constructive theory says, and in addition to that, a cut that tells you whether, you know, what things are possible in that domain and what things are not possible. And so then every pair of, you know, sort of domain plus one of these cuts that tells you what is possible and impossible is going to kind of encode or summarize just be a particular theory of physics, right? And so we can be very empathetic to this, we can be very empathetic to this kind of formulation. It's a nice thing to try to do to sort of, to summarize or have a sort of bird's eye view of all these different theories of physics to try to boil that down to something that's conceptually a bit simple. But of course, there are problems too, right? So one problem is well, you know, why didn't you call it a possibility theory rather than constructive theory? I don't know the answer to that, but possibility theory sounds a bit too much like a mathematical theory and it doesn't sound as sexy as constructive theory. So that's one reason you might wanna call a constructor theory. But then what is a constructor? What do constructors have to do with all of this? This idea of possibility and impossibility. Well, you see the difficulty was if you go back and you think about the case of the ice cream melting, that's something that is possible by our usage of the word, but you'd want to be able to stick it on one side of the cut and call that impossible, right? The solution unfortunately is verbicide. What you do is you simply make up a technical concept. You call this concept possibility of a task, let's say. And then you, well, what do you mean by possibility or task? Well, that relies on, you know, defining what these constructors are. Possibility depends on defining what constructors are and constructors in turn depend on the definition of tasks and then tasks finally are something that you can cash out in terms of processes. So this is the idea of where a constructor theory wants to go. And now I'm going to tell you how it is that constructor theorists get there, right? Let's see, do we have any questions at this point, any sort of conceptual questions or clarifications that anyone wants to? Because otherwise I'm going to move on. Where it is likely or unlikely fit, that's all on one side of the line, what if something's vanishingly unlikely, but possible? That is an absolutely brilliant question. And the answer is you get to choose as long as you make a cut because so the dogma of constructor theory goes, you only get possible and impossible. I don't care how you pick, how to distinguish the likely and vanishing unlikely. And I didn't make up the rules. I'm merely telling you that everything has to be either possible or impossible. Good question. Sorry, that's the best I can do. Okay, three. So, all right, what is constructor theory? All right, it's a meta theory, bring your own math. The meta theory, what does that mean? That means bring your own math. Okay, let's start from, what is a constructor? You know what? This might be better if I, I'm looking at these notes now and I'm going like, nope, I'm gonna, it wouldn't make sense if I started from there. I'm gonna have to put that as the bottom thing and then we'll get there. What is constructor, right? Okay, let me start with defining what a task is. So all of this so far is gonna be in English and then we're gonna translate to math in a second. But hold on, let's talk about what a task is first. From a task, you get onto this, remember, we said that something was conceivable. We have to break down that initial diagram that we drew this initial informal thing. We had the sort of the space of all conceivable tasks. So first we have to define what do we mean by tasks? What do we mean by conceivable tasks? And then from conceivable, let's just talk about what do we mean by a possible task, right? And then it will turn out that a constructor is a, the constructor is something that's associated with a possible task. So you see that there's a difficulty here of getting from constructors to where ultimately you wanna go. There's a sort of, yeah, right, logic of justification, logic of discovery and they gotta go differently. Okay, fine. So what is a task? Well, remember, we're allowed to bring our own mathematics here. So we asked them, we took a lot of care to ask them, what sort of math do you want? What do you need here and there? And then finally, it came down to look, really what we care about as constructor theorists is just defining these things. Once you pick some sort of sensible interpretation of these things in mathematics, then you can go ahead and play the game of constructor theory. So we go, okay, that's fantastic. So here at Oxford, we have a nice sort of homebrew math, what we call in process theories, but otherwise they're known as symmetric nodal categories. We say, okay, well, let's call a task a process, a process in a symmetric nodal category. Okay, well, we'll get to what that means in a second. So what is a conceivable task that becomes, well, that becomes mathematically trivial, it just becomes a process inside a process theory. What is a possible task? Well, possible task is going to be, and then here's where we have to get technical again. What is a possible task? Well, it's defined as an infinitely iterable task, infinitely iterable, yada, yada, okay. And then if a task turns out to be one of these infinitely, if a task turns out to be infinitely iterable, we call it possible, and a task always is doing something and then there's something in the environment that's helping it do it. That's something in the environment, the super-anciliary thing at the end of these definitions is going to be what a constructor is. And at this point, it will be very helpful to actually go through an example. And it so happens that by going through this example, just in the diagrammatic form, you will understand process theories because the whole point of process theories and symmetric nodal categories is that you have this formal diagrammatic syntax that's extremely intuitive. You don't have to know anything about the category theory, you can just use the diagrams and it's a formal syntax where you sort of can't go wrong as long as you're just like composing the boxes and the wires. So I'm going to now give an example of, I'm going to make an example of a constructor. And this is also a good time. So now that I'm erasing, anytime I'm erasing, it's a good time to chime in with questions. Sure, one question from the chat. Upcycle Club wrote, does this mean that constructor theory as a process theory indeed takes into account the node-leading theorem? I think. No deleting? What do you mean? I'm not familiar with it. Not sure if that's what was written or maybe you referenced no cloning earlier. I referenced no cloning. Ah, so here's the, yeah, so here's the nice bit. So earlier I drew a diagram where there are all these different blobs of different colors and each one was a different domain of physics or whatever, right? So it turns out that, you know, part of the content of a process theory or of a symmetric model category is that you have to pick a category, an ambient category in which you're interpreting. And that choice of ambient category tells you about the sorts, that is the choice of the conceivable processes. So if you choose the category of quantum processes and quantum maps, it will turn out that in that setting, you have no cloning. But if you pick a different setting, like for example, maybe you want just sets and functions, you know, mathematical sets and functions. In which case, of course you can copy it. You can always, you know, copy down any information that you have, you know, as long as it's all on paper and you're just using sets and functions, right? But in physics, fine, you want to model it with the process theory of quantum maps, then you don't care. It depends on the choice of interpreting category. But that's a very good conceptual question. Thank you. Right. So talk about a task. I'm gonna make a task here. I'm gonna draw these tasks as directed boxes with wires. So this is just, what am I drawing here? Okay, I've drawn these directed, so I want everything to be read from left to right. Okay. Now in the process theory, every process is drawn as a box. The process is something that takes as input over here, some systems, and does something to it, whatever, then it outputs some systems. And then processes can be composed in, you know, the kind of usual way that one expects. This is a composite process, for example. All right. So what is the process? So what is the process here? Well, okay, let's talk about these systems. What do I mean by these systems? They can be just about anything. They're subject to a couple of rules. The rules are, anytime you have a system, you just need some way to talk about what it means to have two of these systems side by side. So let's say that the green system is, see the green system here, but now this is something that takes in a green system and a orange system and gives back the green system or the orange system. So it's something that's acting on these systems and it returns them. And what I mean by a system or a system can be, it will, mathematically, we would call them a type, like a system can be like the Booleans or they can be a set or they can even have the vector spaces as systems. And if you have vector spaces as systems, there are lots of different ways that you can interpret this idea of sticking to systems side by side. You can have the direct sum of vector spaces, you have the tensor product of vector spaces, and all of them will give you valid process theories. So you have linear maps with direct sum of linear maps with tensor products and that will all give you a process theory or asymmetrical model category in which you can interpret the diagrams you're drawing here. So let's kind of with a simple one though. A simple one is let's say that this green system is gonna be, this is terribly drawn out, that's a slightly better. So it's shoes, all right? It's a shoe, let's say it's a particular shoe, right? That helps. And what is this other system? I'm gonna call this other system, the system of a bucket with a paintbrush. And bucket, and here's a paintbrush, right? This is perfectly fine systems, talk about it. These systems can be in different states. Like for example, a shoe can be, well, it can be clean or it can be dirty or have all these different colors. With the bucket, well, let's talk about buckets sort of having paint inside. Maybe the bucket has some painting that maybe it doesn't. That's a good example of the system. And I wanna model a particular task here which is paint the shoe, right? It's a process. Well, why do I call it a task? Well, to view a process as a task, I have to look at it in the right way. I have to say like, okay, well, there's gotta be one sort of system that's input and output. I wanna call that system the substrate. Well, why? Because a task has to, that's the substrate there. Painting has to happen to something. If you're one of you painting as a task and the substrate of the painting is gonna be the shoe. And what about this other? What about the paint? Well, the paint part, okay, well, that's gonna be part of what we call just here. Everything else, that's gonna be the environment, okay? It's gonna be a substrate and environment. But then what do we mean by successfully painting a shoe? Well, okay. So here, I'm gonna need to introduce a concept. So, green wire is the shoe system.  Let's remember that. So, now here's the new kind of process. Maybe, yeah, yeah, I could go like this, this is fine. Here's a new kind of process. So, I'm drawing processes and you've seen the process at this point that takes inputs and has outputs. What about a process that doesn't take any inputs and just gives you an output? Well, those we call states, they're special kind of process. In the process theory of sets and functions or it's symmetric model category, I should say, of sets and functions with Cartesian product, states are elements of sets. In the process theory of relations, states are subsets of sets and systems of sets. In, I think, any vector whether it's a direct sum or the tensor product, the state is a vector. So, states really are just sort of like, some, we really call it, you know, it's a sort of a play on words because I was saying like, oh, well, you know, the system can have states, your system can be in different states. The idea is that, well, actually, the name is well-chosen so that a state really is picking out, you know, one of the states of the system that you're interested in. Let's say that we'll call, there's a sort of state of the shoe, which is that it's unpainted.  And what do I mean by the task of painting the shoe? Let's see, how much is visible? Oh, I've got all of that, all of the side over here. Now you will see your first process theoretic equation. So here's a shoe, that's now blue, and here's a bucket of paint. That's now, it's got no more blue paint than. So what we got here, let's say here. So here's full, and here, let's say it's white, so that's not the white shoe. At the ends, we got painted, have here empty, and this is a process theoretic equation. I hope you can see all the data that's happening here. Well, what we're saying is that, okay, look, if I've got as initial states, I've got like a, I've got an unpainted shoe and I've got a full bucket of paint, what this process does is it takes the two systems, if you use one of them as a, it just keeps track, it says, okay, well, this one's a substrate this one's the environment, and what is the result of applying that process to my two states? Well, then I have to end up with two new states and those states are saying, well, okay, now I end up with a painted shoe and I use up all my paints and now I have an empty can of paint as an understate. Is that clear? If you understand this, then you'll understand everything else I'm about to say. This is maybe the only, this is the only conceptually difficult part and constructed theory as process theory. Are we happy with this? If anyone's unhappy or it has any conceptual questions and now's the right time to ask. It seems like we kind of put a box around the entire crux of the issue, but at this level of abstraction, indeed. Right, indeed, right. I mean, like, yeah, of course, there's a lot of boxing away the crux of the issue, but in fact, we haven't even gotten to, rather, we haven't even gotten to the crux of what a constructor is yet. I'm merely defining what it is that for something to be a task. I mean, you can then pick. So the point also of a process theory is that you can work at the level abstraction you so choose. Think of this, if you code, this is basically, you're declaring what the types of the method or the function are. It's still on you to go fill in the implementation details, but here we're just dealing with the level of, this is the level of abstraction where it's perfectly okay to start working to just define what we mean by a constructor. And remember that this is still just an example. At some point, you can just erase all the labels and just keep the coloring that indicates the types, and then this would be the abstract specification of what a task in a constructor is. Yeah, so you're right. We are hiding away a lot of the crux of the difficulty or the meat, but we're doing so in service of sort of getting at a formal incarnation of what constructor theory is. So yeah. Okay, so kind of happy with this. Now I'm going to, let me redo some of this. Let's see. So now, well, let's suppose that it's a, maybe it's a small bucket of paint and it's a fairly big shoe. In either case, the content of the equation was that, you know, you stick in this full bucket of paint and then at the end of it, you run out of paint.  And what that means as a sort of diagrammatic consequence, what happens if we want to paint a shoe twice? Well, I mean by that. Okay, well here, here's two shoes. And just to distinguish them, I mean, just distinguish them. Let's say that this one starts off like a nice yellow shoe and this one's a nice orange shoe. And then in the end, we still have this, you have this again, this bucket of paint. That is kind of, that is full. What do I mean by painting two shoes? Well, okay, let's paint them in the order that they're closest. So first, we want to apply the paint shoe task. Right, we end up with some shoe system. We end up with some bucket of paint system. We want to say, okay, we'll send that first system, we send it away. That second system, we bring it in. Right now, let's line things up again. And let's apply this again. Here's the paint shoe. And here's, you know, let's try it again. Let's try to paint the shoe, right? And now we're seeing a new diagrammatic component, which corresponds to the word symmetric in a symmetric monotl category. The idea is that, well, in a symmetric monotl category, yes, you can put system side by side, but in a sense you don't care about the spatial configuration of how you do it. You're always free to sort of have a bag of systems in order to pick them out. And geometrically, what this amounts to in the diagrammatic syntax is saying that, well, look, if you have a system side by side, you can always swap the two systems. And you can depict the swaps as wires twisting over each other. And the sort of the difficulty of, or the only difficult content of a symmetric monotl category is showing that, you know, the way that the diagrams behave topologically correspond precisely to the algebraic content of the morphisms that are the semantics of the processes. Which means, which is to say that as long as you're tracking the connectivity and the connectivity matches between two different diagrams, they're going to refer to the same formal entity. So it's really like a safe syntax to use, right? But we can follow this, right? And this is what I said, I'm painting. I'm trying to paint the two shoes with one bucket of paint. That should be clear. I'm trying to arrange the paints, the first shoe, the orange shoe. And then I twist in the second yellow shoe and try to apply that process again to do the painting, right? And then we remember the diagrammatic equations. The diagrammatic equations let us reason directly with this. You never have to sort of leave the diagrams once we've defined everything. So what do we have? Well, okay, the diagrammatic equation tells us of what painting shoes does is, okay, well, this is going to be then the same as, well, I empty the bucket of paint. I paint this blue, right? And you'll note that, you know, it doesn't matter whether I stretch things. It doesn't matter if I stretch things or I twist the wires around in a symmetrical model category, it, you know, everything up to stretching doesn't matter. All refers to the same configuration of states and applied processes. But then I run into a problem here because, okay, well, so in a symmetrical model category, everything is okay up to twist. So this thing over here that crosses over, I can sort of pull it. I can yank it all the way to here. And then what do I have? Well, what is this saying? I've just done these diagrammatic derivations to show that, well, I applied the equation that tells me that I can use a full can of paint to paint a shoe. And then I run out of paint. And now I'm trying to apply an empty can of paint to a shoe that needs to be painted. At this point, I'm stuck. I have no more diagrammatic equations to help me to, you know, get this into a simplified state from here because, well, we might wanna define the painting shoe process to be one such that nothing happens if you put in the empty bucket of paint, don't end up painting the shoe. Okay, for this reason, not constructors yet. Let us imagine then that we had this magic bucket of paint. Now this is, I've cast a spell on it. This is a magic bucket of infinite paint. And the nature of this infinite paint is that it's always going to be full. It's always going to have enough paint to paint another shoe. Of course, such a shoe, such a bucket of paint cannot exist in our physical reality. You always have to use up some paint. But if you had this sort of mathematically ideal infinite bucket of paint, then it doesn't matter how many shoes you try to paint.  So I can apply the equation again and I can paint another shoe and I can keep painting shoes. And every time I apply the equation, well, it never goes from a full state to an empty state. It just stays in the same infinite state and allows me to perform this task again and again and again, however many times I want. Rather counter-intuitively, this is what is meant by possible. So painting a shoe, as I've described it, using just a regular bucket of paint that empties is actually not a possible task in the framework of constructive theory, right? This is what I mean by verbicide. You know, you'd want to say, of course, you can paint a shoe, no, no, no, no. Possibility is a completely technical term that refers to the ability of a task to be iterated infinitely. And then this thing, this infinite bucket of paint here, this state that enables the task, the environmental state that enables the task to be repeated infinitely, which is to say, after you apply the task once, the resulting transformation on the environment leaves it in such a state that it can do the task again. That thing is a constructor. So, I'm gonna move on to what's next. What is next? But this is a good time to ask questions. This is a very good time to ask questions. Do you want to ask a question? No, I don't have any questions. Okay. Well, why? I suppose, what else can I say about constructors here? Well, conceptually, where do constructors come from? If you think about, you know, catalysts for some biological reactions, the catalyst is the notion of a catalyst in chemistry and biochemistry. This is one of the sort of, the sort of intellectual sources of this idea of a constructor. You know, if you replace constructor with catalyst, it doesn't really change much about how you should intuit the thing. It's this idea that, well, you know, you need it in order to help this transformation occur, but then at the end, you just get the catalyst back and then the catalyst is unchanged and you can go and participate in another, participate in another reaction. All right, so that's, this is the sort of idea of like what a constructor is. Okay, so why again is, what should I talk about here? Like talk about, okay, we still have to get to this idea of the cut. So how is it that this, how is it that these, having this notion now of a constructor helps us define what we mean by a cut? Yeah, that's it. Cut if possible and not possible. Okay. So what is a constructor? Okay. Let's, I'm going to rehearse one more time, this, but I'm going to simplify it. What I wanna do here. Yeah, okay. And I have now this, this infinite bucket of paint, right? And I have all the shoes, I'll get to them in a second. Okay. So for whatever reason, constructive theorists really like to use the category of sets and relations. They really like to think of things in terms of sets and relations, which is a problem when you're trying to model quantum things and we can get into that in a second. How does this come about? Well, you know, the usual way, which is to say when David Deutsch wrote his first paper, he said, well, you know, let's just, you know, let's take sets and relations as this sort of setting where we can start doing some calculations and we'll use it as a placeholder setting for now.  So, okay, fine. They use sets and relations. And then so the systems in the process theory, we'd call them systems, but in the constructive theory, we would call them substrates or the environments though, just gonna be sets. They're gonna be sets of, they're gonna be sets of, and again, we're dying under the terminology here, sets of macro states. Why do we want, let's just talk about macro states. Well, okay. I mean, like this is a deep constructor theory law thing because they need to talk about like thermodynamics in a second. So why macro states? Because there's lots of different ways a shoe can be blue. You know, if you're really looking at it at the molecular level, there's all these different configurations and you kind of don't care. And you wanna say like, well, look, all of them just count as blue as far as I'm concerned. We'll call all of that, we'll call all of that the macro states of the shoe being blue. And then there's shoe being whatever other color and you don't really care. And then the job of this task here is just to take the macro states that are not blue and to turn them into macro states that are blue. And it must be so for, well, it doesn't matter if this is a set, that's gonna be a set of micro states, macro states, turns out doesn't matter. When you're working process theoretically, we show in the paper that like, look, there is this distinction at the mathematical level when constructive theorists talk about this between like a particular molecular configuration and the macro states of a collection, a sub-collection of configurations that are blue or whatever, but you know, what we show is they look like in this system, it doesn't matter. You can just work directly with the macro states because that's what you really want. And it turns out mathematically it doesn't make a difference. So what are we saying a constructor is, so here's the definition of a constructor. We're saying that this equation ought to hold, right? I mean by this, I mean by this. So in the language of, in the diagrammatic language for sets and relations, you've got a special state and you've got a special something that's the co-state or in effect, something that only takes inputs and doesn't give you any outputs. What's the special state? Remember states in the symmetric model category of relations, set and relations are subsets and this special state is the special subset of everything in the, so what this part, the diagram says here, just up to here saying, okay, well, look, here's my constructor, that's in my environment and my substrate is well, okay, I don't care what you put in here. It could be any macro state, but you perform this task and then the opposite of giving everything, well, here is the effect, the relation that is the converse of this is, well, something that takes every element of the set to the single term, so it's the equivalent of deleting or forgetting about it. And in total, what does this say? And here, look, if you apply this process, do it as a task, it takes this constructor in the environment acting on a substrate. Now, look, if you forget about it, marginalize over or you just trace out or whatever words you wanna use to say, just forget about it, it doesn't matter what you put in the substrate, you're gonna get back something that is good to go again as a constructor and now rather than equality because we're working in sets and relations and recall that these states are now subsets. You can say, well, look, if I give you a constructor, what I mean to give you here is a subs, I'm going to give you a set or a collection of macro states that all work as constructors, because of course the infinite bucket of paint might also have microstates. The paint could be in different configurations but they might all be equally infinite and good for this task. But I give you all of these and if you apply the process to it and you do the task, you get back a set of states that is good to go again as to run this, you can just plug that into another copy of this equation and you can just get it again and again. This is now minus the, now we can just take away all of the sort of stuff that's still tethering us to intuition. And at that point, that is just the definition of a constructor. Right, this is that that's a constructor here. Okay, so what can we do? What can we do with constructors? So recall now, this is going to be the constructor and this is by virtue of having a constructor, that's going to be a possible task. Possible task. And now final bit that we need to get to to end this conceptual story of what's going on in the paper and we can move on to discussion is, oh, what do we mean by this cut? Remember there was this cut between, so there's all these conceivable tasks and then there was a cut, then you had all these possible tasks and then all these impossible tasks. How do you get that cut again? Well, you know, you have a sub process theory. So process theory, process theory is closed under composition in two ways. You can compose processes in sequence and you can compose processes in parallel. A process theory says, well, you give me a bunch of processes and a process theory is, well, I'll give you the closure, all conceivability is the closure of these processes under sequential and parallel composition. And just, you know, what do I mean by a sub process theory? Well, in the same way that you can have a sub group or you can have a vector space that embeds into another, you know, a sub something of some other mathematical construct. We're saying, well, you can also have another process theory where you start off with a subset of processes and then you take the closure of that under sequential and parallel composition and twists in the case of a symmetric model category and then you end up with, well, that's also a process theory and it can be a process theory that's a subset of a larger process theory. And so translating all of that into some, so translating the sort of mathematics there into sort of touching the constructor theory, we'd be saying that, look, what we would have to show in order to claim that, you know, this definition is somehow good for where constructor theory, constructor theorists wanna go, is we wanna say that the possible tasks themselves form a process theory. The possible tasks, you know, what do I mean by that? Well, that means just that, you know, if I give you or identify where the possible tasks are which tasks are possible in an ambient process theory, then these possible tasks with constructors form a sub-symmetric model category which is to say the sequential or parallel composition of possible tasks again yields a possible task, right? And that is not too difficult to show. That is not too difficult to show and perhaps like you can, you know, this is the sort of thing that you can, this is the sort of thing that you can try at home if you have the pen and paper to follow along. All I have to do, well, once you have this equation, I mean, all you have to do is check, you know, because this, sorry, this equation, this subset hood relation must be verified to define whether a task is possible. This inequality simultaneously defines possible tasks and constructors. So that has to be verified for every sequential composite that you can come up with and every parallel composite that you can come up with. And that's not so bad. I'll show you one, maybe. Again, questions, welcome. Is the mind a constructor? Is the mind a constructor? Yeah, well, that depends on your, depends on what you mean. It depends on the process theory or this or whatever other mathematical incarnation you pick for the constructor theory. Remember, it's a meta theory.  So I can't answer that question until the mathematics is brought and all the English has been turned into math and then I can say, oh, yes, that's a chore or no. So it depends. That's pretty good. I like that. Okay, what is the, okay, let's say I have two tasks. I'm not a fan of using letters. I'm more of a fan of using colors. But if anyone is colorblind or if anything's not clear, then just let me know. Maybe there's a different. Yep. Then just to make sure everything matches up to the send. So here is how we're going to sequentially compose tasks. This here is a task. Task one, task two. Both tasks, they work on the same substrate. So for example, paint to shoe and then unpaint to shoe. Sequential composition of tasks. Well, if you're going to sequentially compose it needs to be on the same substrate. Otherwise it's sequential composition that's meaningless and you might want something like parallel composition instead. So for example, you can compose the tasks which may not be possible tasks. So paint the shoe and then strip the shoe of paint. I don't like it, you know, do something else with it. And here's how we will sequentially compose just conceivable tasks. If you have a conceivable tasks that's operating on this orange substrate, you need to compose something else that takes orange as that substrate again. But what about the environment? The environment can differ. Like for example, if I'm going to paint a shoe with paints versus if I'm going to, I don't know, do one of those electrolysis chrome dipping of a shoe to get it covered in chrome. The environment is going to be different, right? So for the first task, I have this particular, for the first task I have this particular environment. The second task that has its own particular environment. Those environments are just systems. I say that, well, okay, if I'm going to sequentially compose I feed in the requisite environment to do task number one. And then I twist in and feed in the requisite environment to do task number two. And then just to make sure that everything type checks at the end. This entire thing here, right? This entire thing here. Now maybe it's better if I like gather these guys here to make it clear. All right, that's sequential composition. That is the same, right? You can always gather systems can also be composite systems that are placed next to each other. This entire thing says, well, you've got to give me the environments for the two different tasks and the substrate, then I'll give you back the environments again for the two different tasks and the substrate. That's how we achieve the sequential composition of tasks. So these two small tasks put them together just like this and then you get this one big task, right? What about parallel composition? Parallel composition looks fairly similar. The parallel composition, you can compose whatever doesn't really parallel composition doesn't particularly matter if I get this right here.  We got substrate two over here. I'm gonna do it like this, that makes it easier to have. I got environment one and then environment two. And then now those are your two tasks and this is your composite task. Is that all visible from there? I wonder. Hopefully that's kind of just, yeah, fantastic. So again, what are we saying? Well, we've got, if you want a parallel compose, parallel composition of task is fantastic. You don't need to match up with the substrate. You can simultaneously on one side paint shoes and the other one go, you know, do your taxes or whatever it is is another task, whatever. So you can have two completely different substrates doesn't particularly matter. You have two different environments for those substrates and that particular task. And here's the parallel composition of conceivable tasks. You know, same principle. If you understand sequential composition and you're happy with just intuiting the twisting wires, then you're good. And now to verify that these guys are... So now that to verify that the composition of possible tasks is again, possible task. So now let's say that these guys are possible tasks. In other words, that there is a particular instructor for green and there's a particular constructor for yellow over here. All right. And remember to check the condition. We just delete those, all right? So how do we go about verifying this? Well, what we want to do is we want to apply the screen one here first. We probably want some kind of formal condition on our tasks, on our possible tasks to tell us that this goes through to then get us that we have this series of inequalities. I'm weighing it here, but there's going to be a proper worked out version in the longer version of this paper. Screen, through, that goes in. I'm happy to take questions while I'm long just over here messing around. I think in the paper, we do one of these variations as well. The principle is kind of simple. You apply the equation that's, sorry, the containment relationship that defines possibility on both of these one by one. And you also make use of the fact that, well, there's this special state and that one that corresponds to everything and delete. You pull those through as well for tasks and you end up with this and then you go, okay, fine. I verified that this is a possible task and then you do the same for parallel composition. And then you're done. You say, okay, well, if I know that if I have sequential and parallel composition plus checking the twists, okay, that then I have another process theory, which means that my possible tasks form a process theory. So what do I have? I get to say, I get to finally give, you know, mathematically formal voice to what a constructive theorist might want to do. So again, I have this first domain here. What is that? That is going to be this space of conceivable tasks. That's going to be some symmetric monodal category, which is telling me this is the domain in which I'm interpreting a particular process theory. And these in this symmetric monodal category, well, my conceivable tasks, they can compose in sequence and in parallel. And what do I mean by the cuts? Well, the cuts that distinguishes what is possible from impossible. Well, it turns out that the possible stuff, that is also a symmetric monodal category. And that's a symmetric monodal category that embeds into larger one. It embeds in the same way that a subgroup embeds. It embeds in the same way that a vector subspace or linear subspace is going to embed into a larger one. And then everything else, well, then everything else is going to be, well, no promises. This is not the sort of stuff, this is the impossible stuff is the stuff that doesn't necessarily iterate instantly because they don't have constructors. And if you followed along so far, and there's more details in the paper, so if you wanna look up the formal details, you understand now constructor theory minus principle of locality, which is perhaps not interesting enough to merit further comment. But if someone's curious about it, we can talk about it. But, so what I presented so far is, a constructor theorist would also be happy to say, yes, this is constructor theory minus principle of locality. So you don't go around saying that this thing is just constructor theory to a constructor theorist because it'll get mad at you. And they'll say, no, no, no, it's missing the principle of locality, but that's a dogma and you don't particularly need it. Like that's, it messes a lot of things up. Okay, so that's all I have to say for now, I think. And yeah, happy to take it to a discussion now. Awesome, wow. Muhammad, would you like to give a first comment or reflection or just share what angle you participated in the work from? Yeah, I am interested in applying this formalism to the various examples that constructor theory has been applied to. So you might have seen papers by Kiarra Malleto and David on constructor theory of information and constructor theory of life. And I'm also interested in seeing how it applies to quantum theory. And if the process view can be shown to be superior to the constructor theory, I take view. Cool, so if you have a given system of interest, like let's just say a cognitive system, like a person or an ant or something like that, like how do you go about demarcating what tasks are in play? Are these cognitive tasks or are these the tasks that the body performs? How do we begin to analyze a situation in a way that's amenable to being framed like this? So like this, could you refine the discourse reference? What do you mean by this? Yeah, if we want to understand, if we want to understand a given informal actual embodied system in a way that's amenable to all of the compositional bountiful benefits, what are we actually looking to break down about that system of interest? Sure. So when we talked about, so tasks are kind of this ad hoc thing, right? Remember that when we drew tasks, so we drew them like directed in this way because we had to say something about the direction. And then we distinguished between their substrates and their environments. And then we said that systems are always these things which sort of have, sorry, that task is something that takes in the system and the environment and returns to the same system and environment, which is something that you can just accept, but also in general a process doesn't need to have the same inputs and output types. So this is perfectly fine as well. You can have a process that's shaped like that. And maybe for some sorts of, at whatever level of abstraction you care about, it might be more, well, maybe there's this level of abstraction where you don't care about the actual physics of what's going on, where everything is sort of like conservative on some level. You might just care about a view of the system where you have inputs and output types, in which case the language of, or the framework of thinking about tasks is perhaps less fundamental. I mean, one of the points that we were making here is like the framework of thinking and tasks, a task is a constructed concept on top of the more fundamental and primitive notion of just being able to construct processes or just being able to compose processes. So then it would depend now on what you sort of want from your notion of task. So what we were able to show is that look just using the language of process theory, we were able to code and formalize this particular notion of what we want tasks to behave like, but then depending on what you would consider a task to be, maybe the same, maybe different. You can encode it in this mathematical language and then start reasoning about it in a diagrammatic way. And there's a lot of things you can reason about in process theoretic. There's a laundry list of them in the paper, like electrical circuit theory, quantum theory, most notably, linear algebra, personal or logic. Yeah, so good. Maybe that's not quite a satisfactory direct answer, but perhaps we can refine the question and the target. So to add to it, it's up to the modular or the user to decide which processes are to be modeled. I mean, if you want to think about cognitive processes, then you can create a sub-symmetric model category to work with that. But you can also have more mechanical process theories or it can even have one where both mechanical and cognitive processes interact. So it's up to the model, I would say. There's no hard and fast rule in the formalism. It's the shoe painting factory. But a lot to say on that. Inactive inference were often interested in a general cybernetic entity or thing, something that's engaging in sense making on the inbound and on action selection decision making on the outbound. And another important idea from ecological psychology is this notion of like extended cognition and the environment and the interactions of the agent and the environment. So I wondered is the substrate, you were twisting different environments in and keeping the spotlight on the thing. Is that how you track an entity as things change around it? Is by twisting in and out different contexts or? Right, so that is just a way to define the sequential way of composition or the parallel composition of tasks in a way that relies upon a more primitive notion of the sequential and parallel composition of processes. So the twisting in and keeping a spotlight on a particular context. So one of the things that we've seen, we've all seen in these examples is that you can start with a process theory of like basic processes that just compose in sequence and in parallel and then you can define a new way to compose in sequence and in parallel on top of that. And that would give you a new symmetric nodal category that would give you a new process theory. So you can kind of, yeah, this is process theory, kind of there's a dog food thing here somewhere where you're kind of eating your own dog food, right? In the case of the twisting, which was, what was the twisting again? In the case of the twisting, we were saying that, okay, well, look, we're gonna define, instead of just plugging things together, we're gonna define a new kind of sequential composition that looks like this, where instead of just taking two boxes and joining them together, we do all this other business over here. This is this other business over here, right? That's allowed and good and expressive, but that's also something that the mathematics has no stance on. Like if you, so you brought in these concepts, like this is how you're spotlighting a particular substrate and keep and switching out the context, right? And if you look at the diagram, it's perfectly okay to start pointing at these things and saying, well, of course, you're spotlighting the substrate and you're switching out the context, but that's on you. That's on you. The mathematics just tells you like, this is a way to compose in sequence, but it does so nicely enough in a way that's, you know, where this sorts of the sort of, we can bring our linguistic intuitions to bear on the situation in a much more direct way because we have the visuality of it available to us. Yeah, that's very deep. The necessary and sufficient conveyance is on the blockboard and then that enables us to take perspectives and direct attention and have procedural flows with our attention and tell narratives and again, have interpretations, but the interpretation isn't what's written on the screen. Yes, yes. Yes. All right, a question from the live chat. Can you please explain in what way does that cut, I believe between the possible and impossible, allow the modeler to express emergent phenomena or laws that arise from the underlying processes in constructor theory? In what ways does the cut allow the modeler to express emergent phenomena or laws that arise from the underlying processes? Yeah, well, if I could just ask for clarification from live chat here and maybe Hans, I can weigh in as well, but like, what's your, well, what's your favorite toy example of the emergence? I'm not a constructor theorist, but you know, we can do that. I'm not a constructor theorist, but you know, we can play with the system and we can play with the system live and see what we get at. But first we're gonna, what are you thinking in terms of emergence? People mean different things sometimes when they say that, right? How about the arising directionality of a flock of birds? The arising directionality of a flock of birds. Or as in there's a dynamic system that's evolving over time, which is you've got these birds that are interacting with each other locally and then they end up, yes, one day. With these, so I think the safe answer or my intuition would say that the vast majority of things you would consider to be possible are not actually technically possible in constructor theory, right? So right off the bat, you can say, look, you've got this into it. So if you thought painting shoes was a fine sensible thing and you think that birds flying around and interacting with each other is a fine sensible thing, that's possible. That probably isn't what is meant by possible. So in the case of like a bird system, you've got this massive interacting system, fine.  What would a constructor for this sort of system be? Well, if you can set up an environment that sort of steers the birds, a possible task, maybe for a chaotic system, the only possible task is the trivial one where you don't expect anything to be done and you accept any sort of outcome. But if you want a particular possible task, that's tantamount to programming like a flock of birds or finding some way to program a flock of birds like in a deterministic and set way that you can keep doing it again and again, right? Yeah. So what is the relationship between constructor theory and programming? There's, that's a pretty good question. I'm gonna try my best answer on behalf of constructor theorists here. But there's a sort of, there's an information theory or perspective on information theory that also comes about from constructor theory. So as a math and computer scientist myself, I'd say that perhaps the most fundamental point of contact between constructor theory and programming is in a notion of information and what in particular you're allowed to do with it. So in a quantum setting, you cannot clone information.  Whereas in everything is not, everything that's not classical, you know, the technical terms say everything's not quantum, you call it classical. In the classical setting, you can copy information. You can write down a one or a zero on a piece of paper and you can get something to copy down the one and zero as many times as you want and you can stick the one and zeros into filing cabinets.  So the difference there is, well, okay. You've got different sort of underlying capacities for copying things and not being able to copy things in your underlying process theory. What is, I guess, the sorts of, there's questions to ask about the sorts of programs you can write, but that's kind of, kind of at a much more fundamental level. I mean, constructive theory, if you gave me a, if you gave a particular process theory of programs, then we can start talking constructive theory. Constructive theories, so I think by and large are more interested in the physics, which is at a much lower and more basic level of abstraction. So I don't know when you're, so when you're asking about like, is this, you know, is this a get rich quick scheme when it comes to emergence? Is this a get rich quick scheme when it comes to, you know, programming and understanding, chaotic behavior, et cetera, et cetera. You know, sorry, but the answer is no. It was like, there's nothing, the extent, I mean, if you can under, you understood the content of constructive theory in about like an hour, and it was all pictures. Like there's nothing more complicated than that. Everything else beyond that is you hallucinating interpretations onto the pictures. It's a get epistemically rich quick scheme.  Yeah, yeah, yeah, yeah. Get epistemically rich quick. You know, you've got the pictures and they're very suggestive, but you know, in principle, it's no different from like a tarot reading. You've got just a very suggestive mathematics and you can read whatever meanings that in you want. And if you play with the mathematics, you can also get some meanings out, but you know, you only get it out as much as you put in in terms of like epistemically weight bearing interpretations of hallucinations in the first place, right? Well, it's an interesting date with constructor theory and process theory and active inference, none of which are opinionated in the last mile about any given system, but all of which are providing us higher levels of expressivity and increasingly inactive inference, category theory is being used to represent the kinds of generative models that are used. And so there's the math and the analytical equations and then there's the kinds of Bayesian graphs that we've traditionally looked at, the partially observable Markov decision processes. And then in the last years, there's some string diagrams and all these other features coming in that are helping like expand the scope of what kinds of cognitive models and the relationships between substrates and cognitive processes that we wanna explore. Indeed, I'm familiar with the friends with Toby, Toby recent Claire Smyth and yeah, so that's my only contact to active inference, but I can definitely see the appeal of having the appeal of having non-opinionated mathematics for things that in the last mile, as you say, don't have an opinion. And I'm butchering it, I'm tired and I'm saying it all wrong, but I'm saying that, look, I think it's a good idea to have like a math of composition to deal with a complex system that's fundamentally compositional, yeah. So what do we, what modules do we load in or what do we bring in in our environment to be able to load up and actually use? So we said, bring your own math that was right at the beginning. So it's like, okay, what do I bring? Piano's axioms or what do I bring? Like my F of X or what do I mean by the mathematics that has to be brought? Okay, so when it comes, so the sort of a basic the core module that you sort of get with process theories is a theory of composition that works for anything that you can name processes that act on systems and these processes can compose in sequence and in parallel. This is the sort of basic conceptual map that you get and becomes gun to head formal when you load it into a process theory. That's what you get that's core. And then everything else is actually expressed like sort of in terms of the diagram. So for example, this Piano's axioms, right? Let's talk about the, what is it? Nice, I forget what the axioms are but I know that they're two generators. You've got a zero, you got a zero state and then you've got a successor box, right? And maybe the first thing that you wanna do if you want to actually, well, you want to load in anything that you can express at the end of the day in terms of algebra and symbols and equations is also doable with also doable like diagrammatically. Like for example, I believe that in the Piano formulation the addition operation is something that's sort of that behaves like a homomorphism with respect to or like a module with respect to the successor box or something like, I think something like this is right. Yeah, it's almost like the equation like that. The axioms are proto procedural in that they define exactly what can it can't be done. Indeed, indeed. So the sort of benefits of thinking in a, or let's say depicting in a process theoretic way is that, well, look, if you're more used to talking about processes and how they interact and you don't really care, you don't want to spell out from the bottom up how they're implemented and do a sort of calculation with like the specifics, what you really just care about are the operational constraints of how they compose and behave when you compose them together and you can express them in terms of equations or containment relations or whatever else, then the process theory is much better as opposed to, for example, just dealing with the sets. Especially if you've got like a very complex system then no hope. Again, to these two key features of cognitive systems like the sense-making on the inbound and the associated world model and then the action selection. I thought about the first blob you drew with the conceivable. That's like, well, you drew the lines and we have the rest of the blackboard. So it's like we know that there's unconceivable but that's the scope of the sense-making for a given setting. And then the line between what is possible and what isn't possible is what is actionable. And I guess you can develop thought settings where, okay, well, I'm gonna speculate what could happen if I could lift up 10,000 pounds and then you could do tasks related to moving cargo containers. Whereas if you were using tweezers and you defined what was possible with a different threshold then there'd be different kinds of plausible tasks. And so for sort of what might interest you is I'm gonna shill it now. Why not? I've got some time. My interest here for this sort of reading is that well, for the constructive theory it really just wants to force you on one side of a binary. And this may be too restrictive in terms of expressive capacity when you're trying to especially map it on to something that involves anything as complex as a distinction between cognitive and physical tasks and processes. And we had questions to this effect earlier as well. Like what do we do with the likely? What do we do with the vanishingly unlikely? What do we do with the plausible? How do we? So I wanna point out that and this is something that's coming in the longer version of the paper is a relationship between constructive theory as a special case of resource theories. So this idea that you have to, with the constructive theory you have to either go like infinitely many times or infinite or bust. A resource theory is sort of going like, yeah, but we'd be happy also if we could do it a couple of times. So we'd be happy if we could do, tell me how many times you can do it. That's pretty good. And so resource theory in principle give you this idea of like, well, here's the sort of things that you can do once so you can do twice that you can do three times you can do, blah, blah, blah, blah, blah. And finally, in the very, very core over here that's the sort of stuff that's picked out. That's the sort of stuff that can be picked out by a constructive theoretic cut in the limit whereas a resource theoretic point of view is saying like, well, of course, if you wanna make more distinction from that then like an easy generalization that's also quite simple to think about is let's talk about the stuff that we can do for free all the time, let's talk about the things that we only get to do once. And it turns out that resource theories are particularly, resource theories are actually like a practical bit of mathematics when it comes to quantum circuit optimization because there are certain components that are very expensive and you want to be able to work out what sort of quantum maps you can implement only using this particular say T gate, let's say like three times or maybe you get like one extra one or maybe you get like two less and then the resource theory is going to tell you precisely what your gain and loss and expressive capacity is when you have fewer or more resources which is something that is a very computer science down to earth practical thing as opposed to just the distinction between infinity and everything else that constructive theory gives you that sneak peek for some of that's coming the next installment or the extended version of this paper that's going on archive. That is super exciting and relevant certainly organizations or any other kind of system that's being designed and having an ability to handle the finite, very relevant. Here's one other kind of speculative question. So of course we had the ice cream melting and unmelting. Yeah, yeah, yeah, yeah. You had the ice cream unmelting as impossible. Yeah. But of course in a freezer, in a freezer, it does happen and or at room temperature with a reversed time arrow. And so within this notion of the Gibbs free energy, we have catalysts like protein enzymes which are not able to enable what isn't possible but rather they can accelerate by reducing the activation energy and they can accelerate a negative Delta G and they can accelerate something that is possible catalytically, hence catalyst and be regenerated. And it made me think about the change in variational free energy as the ball rolling downhill cognitively and about how the channels and the landscapes of the mind or of the cognitive system, sometimes the landscape is changed and what is possible becomes different but just because something's possible doesn't mean it's ever reached and then we still need this question of the catalyst to actually implement and get it to where it can be. Right, right. And I think that perhaps one of the, one of the sort of intuitive appeals of constructor theory is that at first glance and with an intuitive mapping of concepts, this constructor theory sounds like the right kind of mathematics to talk about these interactive concepts that you're talking about, the free energy and catalysis as enabling but the caveat with constructor theory, remember, is infinite robust hard binaries which means that if you want to do, so like, I'm sorry to say but if you want to do anything that's remotely nuanced, more nuanced than like a pair of qubits interacting which already because of principal locality gives constructor theorists a lot of pain, constructor theory is probably not the right system for you. Process theories though, if you want to deal with composition, not bad and especially you get diagrams for free and also you get other add-ons that are very good at doing the sort of things that you want to do. Let's have the right expressivity and shape like resource theories. Constructor theory one should think of as a particular way or methodology that's designed for a particular problem to be a meta theory of physics in whatever David Deutsch considers to be like a sort of conceptually clean setting of just being able to make a single cut to tell you about like to distinguish in a black and white way all of physics. Interesting. And in the Bayesian mechanics, which is some of the recent developments in active inference and free energy principle area that grounding of physics to I guess what we want to call physical even though we know that so many asterisks have to be added when we knock on the wood and everything like that. But if the physics of cognitive systems can be described purely informationally, then we can have a procedural compositional cognitive physics that would enable us to do anything from the mind conceptualizing that the shoe could be a different color to the multi-agent setting and composed across individuals. And there's just, there's more walls to paint on. And there are many possible walls to paint on. Yes. Yeah. What are you curious about? I mean, what's an exciting direction? In terms of what exactly? Because in terms of this whole business with constructive theory, this is kind of a side project for me. I mean, a fun one, but just a side interest. What's your main interest or what motivates or what excites the context such that this could be a side interest? Well, you know, my main interest is more, I suppose it's more aligned with this notion of sense making. My main interest is sort of using diagrams, not only for sense making, but as a formal platform to articulate theories of what sense making might be. So I played around with these diagrams that they're good for quantum, for example, but the same kind of mathematics is quite good for other sorts of composite. There are other domains, not just, for example, psychology that are dearly in need of some sort of a compositionally native approach like diagrams like linguistics, for example. So I like to draw language and because language is a particular tool of sense making, and then to formalize the kind of sense making that we make, for example, when we use metaphor to get the point across relies on a complex metaphor where information is stuck into words as a box and then the box is moved across a conduit and this sort of sense making is beyond the merely, let's say, truth theoretic, yet nevertheless is systematic in a way such that the compositional aspects of the language precisely map on to the compositional aspects of the domain of sense making. And I suspect that's where we might have more to talk about. Because sense making is, I consider sense making, it's capital S, it's a very big thing and perhaps like the important activity to understand. And I'm interested in the systematicity of it and in particular trying to depict that systematicity. There's something that's direct about string diagrams in the same way that perfume or music is sort of directed. It's not mediated by the rows of Greek and the symbols, right? So I don't know, maybe that's, yeah. Wow, there's a lot there. Can we say that the screen is the substrate that we're writing language on if we're going by hand with pen and then we have an infinite pen and this is the inexhaustible pen and then. That certainly does seem to be one thing at which the, yeah, yeah, yeah. I mean, you mean to refer to, in the context of the mind, we have a, I mean, as long as we're not a fantastic, we have a sort of theater of mind that's sort of infinitely refreshable paper or infinitely refreshable stage for us to arrange things on and sort of replenish the representation. That does sound kind of like a constructor if we're happy also to sort of rule out Heraclitus or Heraclitus. You mentioned Heraclitus earlier. A man never steps the same river twice. You know, in so far as we are the same entity that is perhaps observing the theater of mind as we're infinitely refreshing it, then fine.  Is that still, is it still the same task? Is it still the same task refreshing or looking at a memory 10 years on? I don't know. The eye is able to nest sub tasks. However, it may not have the awareness to know what it is embedded within, but at least within this internal theater, it can make a sub representation that it believes could be wrong, but that it believes would have continuity also beyond itself, but also not saying what is beyond itself. Beyond itself in what sense? Like there's the environments that one is confronted with and then one could at least suspect that there are other environments that one is not being confronted with, but also know that they can't say anything more than that about environments that they aren't being confronted with. Yes, I'm not sure what to say to that, but I'll have to think about that. Mohamed, any last comments before we have to go? No, I'm very good. Just like to everyone to know that the longer version of this very paper is going to come out soon-ish on archive where we work out some more examples. We relate to constructive theory to resource theories and everything is going to be very readable. So if this condensed journal version is a bit technical and difficult to follow, watch the space and there's going to be a longer, more pedestrian version that hopefully everyone can follow. Yeah. Great. Thank you both for joining. Hope to see you again. It's a very exciting and evocative line of work. Thank you. Thanks, Daniel. I'll see you again soon. Very well, bye. Bye.