 Okay, so this talk will be about string transducers, so I will try to convey to you some very nice recent idea about recent results about string transducers over the past 10 years, due to many people here, among them also to Paul. So the talk will be, will give an overview of various results about string transducers, basically over three types of results, so one of them, so one kind of results will talk about resources of transducers because as you will see, transducers can be of very, very various types. Another kind of results will talk about different formalisms to describe string transducers, and the last part of the talk will refer to a classical problem in automata theory, but also for transducers that gets more complicated for transducers, which is the equivalence problem. Okay, so what are transducers? I know that many of you attended already the pre-workshop on transducers trends, organized by Krishna, but let me summarize a little bit for those who did not attend this workshop, what transducers are about. So transducers are basically about transformations of objects, so when you think about transactions, these are transformations of objects, and here I will mainly focus on words, on transformations on words. So transactions are basically mapping so relations from words to words, so here you have some very simple examples, you have, for instance, a transformation that erases vowels in a word, or you can reverse a word, so build a mirror, or you can duplicate words, so all these are functions, so you take a word, you produce one word, or you can have some more complicated things where you, for instance, permute circulary given words, so you get a relation over words, so this is not a function anymore. Now, transactions, it's amazing, but it's a very old notion, in fact, so it's, transactions were considered in formal language theory very early on, even before automata, as a matter of fact, and people were very much motivated by practical applications, contrary to what we do nowadays, that they were much more focused on practical applications, so if you look at a very early paper by Moore, he was introducing transducers actually as a mean of learning devices, or testing devices, so it was already, it was very ahead of his time, so talking about learning systems and learning automata, and then people like Church were using transducers for games, or were introducing games for analyzing transducers, transducers that got inputs from the environment, then there was a whole bunch of people, very known people, starting to work on transducers, and on automata, like Schizom Berger, and so on, and then people like Niva, also in his early times, he was working actually on transactions, people like Ahoko Prof. Ullman, so there's a very known paper here, talking about transducers for compilers, so one of the main applications at that time was to see transformations of programs into programs for compiling, so parsing was the language problem, and compiling was the transuser problem, and then later on, people were looking at more complicated structures like trees, starting with ankle-free, and other people, also Niva, and then in the 80s, 90s, there was interest in transformations of objects from the viewpoint of logic, so Ocel introduced the idea of logical transactions, which is related to logical interpretations, and here it was about objects that were more general, like graphs, so when you have graphs, you don't have any automata, so if you don't have automata, then you stick to logic, and here he introduced the idea of logical transactions. So transducers in their simplest form are automata, however, so if you start to think about what can be a transducer, you can take finite state automata and add some outputs to them, so for instance, you take one-way automata, and with a one-way transducer, finite state transducer, you can erase the vowels, you make a pass over the input, and you erase the vowels, but of course, you get the feeling that this is too weak, so you cannot do anything you want, for instance, mirror or duplications are typical transactions that you cannot do one way, so here you need more complicated devices, like two-way transducers, and I think this is somehow the reason that transducers were not that popular in the early times, because as we know, two-way devices get pretty complicated, so people focused actually on automata because for automata, two-way one-way is the same thing, so they continued with a study of automata and left transducers a bit aside. Okay, so a transaction, so it's just a binary relation over words, and the examples, many of the examples I've presented to you are actually functions, so functional transactions. Here you have a very small example to see a bit what are we formalized transducers, two-way transducers, so we have always markers for the left border and the right border, and then you have your transitions where you say which letter you read, for instance, here you see, in which direction you move and which is the output that you generate, for instance, this is a transducer that will read the input from left to right without any output and then make another pass from right to left in order to copy the input, and so you generate the mirror. Okay, so since I mentioned logic, let's see how we do this with logic because we can do this with logic. So with logic, you construct structures from other structures. So in principle, you can be very general. You can construct from words, even graphs, or you can do whatever you want, but here we stick to two words. So here we want to transform words into words, and so the basic idea is that you fix a number of copies that you can generate from every input position, and then you have formulas, formulas that first they tell you how you will generate, so how you will produce output positions from input positions. So for instance, you have here a domain formula which is a unary monadic second order formula that will tell you, for instance, the seed copy of a certain input position X will appear in the output and will have some label, some precise label, and then you want to construct your structure, so your word, and you use for this a binary MSO formula which is the order formula and which tells you which copy of which position is before which other copy of another position. Of course, such a order formula is not necessarily guaranteed to generate a word, but you can impose with MSO some restriction that says that you obtain a word in the end. Okay, so for instance, if you want to generate the mirror of a word, so you have a domain formula that just tells you that, I mean, you have a single copy, so every position has a single copy, and it carries the same letter, so it has the same label as an input, and the order formula just tells you that you inverse the order. So X is before Y in the output if it was after Y in the input. So it's a very, very simple formula. So now it becomes really interesting because as a matter of fact, this monadic second order transducer transactions turn out to be equivalent to two-way transducers, the deterministic ones. So this makes the model of two-way transducers really interesting because we have now a Bush-like theorem for transducers, the equivalence between automata and logic. And this was a result by Engel Fried and Hoogman in 2001. Actually, a result that was not that much known, so not that much popular, I would say, so it was considered a bit of a terrific, and you will see actually how this result got very interesting, how people got very interested in this result. It's actually because of a third model of transducers, which is in some sense easier to understand because it resembles perhaps more programming languages. So these are the streaming string transducers introduced by Alu and Cherni in 2010, and this was actually the trigger to look at all these classes of transducers and to have a bit more, to look at specific problems that did not arise before. So streaming string transducers are, the difference is not that we deal here with one-way devices, so they are not two-way anymore, but they have registers where you can store information. So these registers can be copyless, so forget for a moment about this restriction, so the registers can be manipulated only by appending to them, right or left. You cannot read what is in a register, you cannot test them. You could do regular tests, but up here you can only append left and right, or you can concatenate registers. And let's take this example for the mirror again, for the mirror transduction, you would use one register X, and what you do here, whenever you read a letter A, you will append this letter to the left of the register, and then you build in the register actually the mirror of your input word. And then you can output this, so you can do it with only one state. What about the copyless restriction? The copyless restriction tells you that you are allowed to use a register when you do an update almost once, so you are not allowed to duplicate, to have several copies of the contents of the registers in the end. So now with this copyless restriction, and with deterministic streaming string transducers, it turns out that you get yet another characterization of the same class that you've seen before, so it's equivalent to MSO transactions. So that's another model with the same expressivity. So let me recap maybe the different classes I've introduced because there are lots of them. So by one DFT, I mean the one-way deterministic finite state transducers, for instance, one that will put the first letter to the end of the word. One NFT are the one-way non-deterministic finite state transducers, for instance, one that could choose to replace every position of the input by some arbitrary letter from an alphabet sigma, so this is a non-deterministic transducer. And here you have an example, the duplication, the duplication transduction that can be done by a two-way deterministic finite state transducer, by a deterministic SST, you just use, let's say you use two registers for this, or by a monadic second order transduction. And here you have the non-deterministic devices. So non-deterministic streaming string transducer, a kind of non-deterministic monadic second order transduction where you have existential quantifiers that allow you to use several copies, in some sense. And non-deterministic two-way transducer, for instance, this, the one that produced the copies, its input, an arbitrary number of times. So this is something that you can do with a non-deterministic two-way transducer, but you cannot do it with this device. So these classes, and here, for instance, this transduction can be done with this model, but not with the other model, so the circular one. So these classes are incomparable, but here you have equality as shown by Engelfried, Hohgebohm, and Alou and Chen. Now, it's not by coincidence that they are so far apart. So actually, early on it turned out that the non-deterministic transducers have an undecidable equivalence problem which made them less attractive. So that's one reason why people focused, actually, on the deterministic model. So the undecidable equivalence problem is already so for one-way transducers, so that's a very old result. Okay, so for this reason, I will, for the moment, focus on functions instead of relations, so I will, as you will see, I will actually look not only at deterministic transducers, but at functional transducers. So what is a functional transducer or a single-valued transducer? It's a transducer where on every input you have at most one output. You're not necessarily deterministic, but you have a function. Now, first question that arises, is it difficult to check whether the transducer is single-valued? Well, no. So you can, I mean, there are early results showing that it's even P time for one-way transducers. Now, for two-way transducers, things get more expensive, so checking single-valuedness is P space complete. So actually, the result does not appear like this. In this truly kawomeki paper, they just say that the problem is decidable and because they look at a more general problem, but actually it's P space complete. And the same applies for streaming transducers. So checking single-valuedness is P space complete. And it's not surprising. So here you have two-way devices, so it's normal that you have P space hardness, and for streaming transducers, you have the registers. The number of registers is not fixed, so again, it's normal that you have this P space bound and it's actually P space complete. Now, for word functions, the landscape that I showed you previously gets a little bit easier to grasp because we can determinize. So in the case of word functions, non-deterministic transducers, so if they are single-valued, they can be determinized and all these models, they have the same expressivity. However, we have here three classes, so what you see here is, you have the class of one-way deterministic transducers, which is the less expressive one. Then you have one-way non-deterministic transducers. So historically, I mean, the class of these transductions is known as sequential transductions. So it's coming from old terminology from generalized sequential machines, sequential meant from left to right in all the times. This class corresponds to rational transductions. Why rational? Because more or less it corresponds to tape, automata. Yeah, so to rational sets over two tapes. And then the third one, which is in some sense the most interesting one because it has so many equivalent characterizations, it's called now regular transductions because it enjoys all this nice correspondence between automata and logic. So it's very robust and so these are the regular transductions. Of course, it's now natural to ask if you can decide whether, let's say, a rational transduction is sequential or whether a regular transduction is rational or sequential and so on. So there are several characterization problems here around and yeah, so first of all, from rational to sequential, it was very early on shown that you can indeed check whether a given rational transduction is equivalent to a, is actually sequential. So if you give a non-deterministic finite state transducer one way, if there is an equivalent one which is deterministic. So this question has been solved early on in polynomial time. This is a very well-known twinning property. If you've heard about that, by Choufrou. But this question, I mean, surprisingly, it was solved quite recently, so in 2013, by Filio and Co-Others, who showed actually that it is indeed possible to check whether a two-way, let's say, a two-way deterministic finite state transducers is equivalent to some one-way non-deterministic transducer and they gave for that a non-elementary algorithm for this. So it's a bit technical, it's doable, so it's decidable and we showed actually that it's doable even in doubly exponential space. So it's actually doable in elementary time. So to be more precise, the result was that if you give a single value of two-way transducer team, you can decide, actually, you can decide in exponential space whether an equivalent one-way transducer exists, but the one that you construct has doubly exponential size. But this decision procedure is actually in exponential space. Now you can ask, okay, is this the best we can do? So actually, we don't know precisely, we have a lower bound for the decision procedure that is p-space, so there's still a gap p-space for the decision procedure. But we know that the size of the one-way transducer that we obtain here, doubly exponential size, is optimal. So which is perhaps the more important thing. So the more important thing is not only to decide whether such a transducer exists, but to construct one. One thing to say also is that what we obtain here is a non-deterministic one-way transducer. Maybe this is more prohibitive because it would be interesting to get a deterministic. You start with a deterministic transducer two-way, but of course we can check because we know how to check whether for a non-deterministic one-way transducer there exists a deterministic one-way, equivalent one. So we can check, but the question would be how to do this directly in a deterministic way. And as a last remark, the question, this question whether given a two-way transducer, there exists some equivalent one-way transducer becomes undecidable if you go to relations, go back to relations. So it's, if you're away from functions, that's another example where things go wrong for relations. Now, yeah, maybe before going to the next part, one can ask, would it be interesting to ask the same question for streaming transducers? So I mean, we know that deterministic two-way transducers are equivalent to deterministic streaming stream transducers. So, but would it be interesting for complexity reasons? So actually not because, yeah, because of a very nice result from 2017 of Lue Dacto and co-authors, that showed that you can translate deterministic streaming transducers in polynomial time even to two-way transducers. So this was very, very surprising because for a long time, we had only an exponential translation between these kinds of transducers. So I want to tell you now, to have a short description of what the result is doing because I find it very, very nice. And I think this will be a result that will be used by people in the future. It's a very, very useful result. Okay, so the main, their main idea is to make transducers reversible. So what, what means, so. So the main point is that we want to make deterministic one-way transducers reversible, first of all, and it's, we show that this is possible to do it with a polynomial blow-up. So to be complete, so this, it was known that we can do deterministic one-way transducers reversible. It was known before by work by Sips, Hopcroft, I don't know, I mean by, I mean it's, the ideas are a bit old. But the only thing that was known before was that you would get this with an exponential. So their merit was to show that you can do it in polynomial time. And I, okay, so reversible. What means reversible? It means just deterministic and co-deterministic. So you can go backwards in a deterministic fashion, forwards and backwards deterministic area. Okay, so let me give you the flavor of their construction because very, very, I mean, it's nice. I mean, it's true that the idea was known before, but I mean, let's, so this is the idea that, the basic idea that was known due to Hopcroft and Arman and used later by Sips. So the idea is that if you have deterministic or let's say co-deterministic one-way automaton is more convenient for my purpose, then you can make it reversible by using that first search. So I took a co-deterministic one-way automaton because I want to have a tree and not a co-tree for the runs, yeah? So if you look at the co-deterministic automaton, let's say this one that looks for the last A in the, yeah. So it looks for the last A that is followed only by Bs in the word. So if I take, for instance, this word A, B, C, A, B, then here I depicted the tree of all runs. It's a tree because my automaton is co-deterministic and I can do here in this tree, I can do a depth-first search for, to look for an accepting run, okay? And the idea is that when you do depth-first search, depth-first search is reversible because you, I mean, you have an order on the successors in the tree, so you can always backtrack your depth-first search and you get something which is reversible, okay? And depth-first search, you can do it in a polynomial automaton by ordering the transitions. Now, if you want to do the same for transducers, this gets more complicated than this is the merit of the paper of, this is the complete list of the authors. It's very nice also because they are all young, so this is for postdocs and docs. Okay, so the idea was to, okay, so to make the transducers, so here I'm talking about a one-way transducer to make it reversible by a double DFS. So by a double DFS, you try to, I would say to sandwich, to sandwich an accepting computation. Okay, so here you have an example of an accepting computation. Okay, here you have, you see an example of a computation that stops, that blocks, but here you have one which is accepting and by a double depth-first search, you will sandwich. Why? Because basically for transducers, you need also to produce output. Yes, so when I do only a simple depth-first search, I don't know when should I produce output? When is it safe to produce output? So in order to know when it's safe to produce output, you need to know that you are on the way to, on a prefix of an accepting computation. So that's why this idea of sandwiching and accepting computation because now if you are here, if the red and the green part are here, you know that here you can safely do output. And then here again, here again, and here on all this part, you will safely do your output and everything is fine. Okay, so this is roughly the intuition behind the construction and to be complete, they show also that two-way determinist transducers can be made reversible. This time, unsurprisingly, you have an exponential blow up because you have crossing sequences and so on. So that's not, but I mean, the main idea was here actually and that's very cute. Okay, so let me just summarize this part with a couple of open problems. So as I said, yeah, it's a shame, but there's no better lower bound for the problem. Is it possible to go from two-way transducers to equivalent one-way transducers? We don't have any better lower bound, but I suppose, I'm not confident that the decision procedure would be in P-space, so I suppose there's some work to do for the lower bound. As you mentioned, natural question, is there a better construction, simpler construction, maybe even more efficient for going from two-way deterministic transducers to deterministic one-way transducers directly? And another question, which is also interesting would be to look at, instead of starting with single-value transducers, starting with finitely-value transducers, you will see the finite-value transducers a bit later on in the talk, so I want to go on, say more to this question. Okay. So let me go now to the second part of the talk where I'm going to present you yet other formalisms for describing transductions, and these formalisms, as you will see, raised again very nice open questions. So the area is extremely rich in open questions, so that's one main message to convey in this talk. So there are many, many questions surprisingly, or maybe not so surprisingly because transducers are quite complex models, so if you have complex models, then you have genuine questions that you don't ask for other models. Okay, algebra. So algebra is another way of looking at things, especially when you're interested in decided decision problems. So there's a long line of research on algebra for regular languages. We know lots of things on languages of words, a bit less on trees, but we know lots of things on traces. I mean, we have other kinds of structures where algebra helps. So algebra usually is very helpful because it offers characterizations that do not depend on the underlying automatas, they're machine independent. So you have minimization, you have canonical objects, decision procedures, and so on. And one of the best known results provided by algebra is the Schutzenberg equivalence between star-free regular languages and upper eodic languages. So this is the way how you decide whether given a regular expression say, is there an equivalent star-free one? So you use Schutzenberg's result or you can rephrase this question in logic by saying, okay, you have a monotonic second-order logic formula and you ask, can you express the same thing in first order logic, which is this result? Now what happens for transducers? So for transducers, I mean, there is, there are some classical results, again by Shofri providing canonical transducers for one-way, in the one-way case. So for deterministic one-way transducers, you can define, there is a canonical minimal transducer that does the outputs as soon as possible, so it's a natural idea. Now for non-deterministic one-way transducers, there's also something. So actually, we know that one-way transducers, non-deterministic ones, we can express them as composition of left to, deterministic left to right and the deterministic right to left transducer. So there is something that resembles the deterministic one-way case, so this result by Elgot and Mazé, and this led to a notion of a special kind of transducer called B-machine. So the B-machines actually correspond exactly to this kind of device, so you have a deterministic, yeah, so you have actually a deterministic left to right transducer that uses a look-ahead that is right to left, which is deterministic, more or less, so this is a B-machine, and it was shown that for every one-way transducer, there is a family of canonical B-machines, which is a result from the early 90s by Roytenauer and Schuesson-Berger. Now you see, it's a family of canonical transducers, so we don't have any canonical, a single one, so things get more complicated in this case. Okay, still this was helpful for asking whether, asking the, so for solving the following question. So you look now at one-way transducers, so one-way transducer can be easily shown to be equivalent to monadic second order transductions which are order-preserving. Okay, so this is not difficult to see. And now these B-machines can be used to decide the following question. So given a one-way transducer, is there an equivalent order-preserving first order transduction? Okay, so we can decide this question. I mean, I express things, things are here expressed with logic because, yeah, why? Because we, I mean, we don't, I mean, it's easier than to start to talk about star-free expressions, as you will see them later, so it's the most, perhaps the most natural, direct way to express the class of a periodic or first order transductions. Okay, you can ask, okay, is there any relation between these kind of transductions and a periodic or what server transactions like in the language case? So there is a relation, but for two-way transducers. So for two-way transducers, there is a equivalence between first order transductions, a periodic two-way transducers, and a periodic streaming transducers. But now the a periodicity here is defined in terms of transformation monoids of transducers. So this is machine-dependent characterization, a periodicity, it's not a function-dependent a periodicity. So these are various results also by look here, so the thesis of look and by Krishna and Emmanuel Fidiot. So seems to be a nice class in terms of characterization, but unfortunately we don't have yet a decision procedure for that. So there's no machine-independent characterization allowing to say whether given a two-way transducer, the transduction, can it be expressed in first order? So we don't have a decision procedure for this question. Basically, because for two-way transducers, we don't have any good notion of algebra. So algebra is missing for two-way transducers, basically. Okay, so as I told you, there are also expressions for transducers. This is an area where especially Paul had very nice contributions. So classically for one-way transductions, so for rational transductions, there are expressions, so you can express them by simple, rational-like expressions with union, concatenation, iteration, but all of this needs to be unambiguous. That starts to be, okay, that's fine, so you can say, okay, this is the transduction that transforms word U into word B. Here you have an unambiguous union, unambiguous concatenation, it's unambiguous on the domain, and unambiguous clean iteration. So this corresponds to rational functions. Now for regular functions, there were several papers proposing several kinds of regular expressions. The nicest ones, so I found them in your survey for Paul's survey for CIA, so that's very nice. You can express regular string functions using as operators, basically you use the regular operators plus composition, so you have closure on the composition, but you need also some specific stuff for two-way transductions like the reverse transduction or end the duplicate transduction, either the duplicate transduction that takes the word and duplicates, or you use Hadamard product that basically also does some duplication. Hadamard product processes input twice and concatenates the result, so it's a Hadamard product of two transactions. So this is very nice, very crisp way to provide expressions for regular transactions. And, okay, so maybe I should also mention that there are other proposals around, so this is by Nikoi Bojancik, Lodavion, and again by Krishna, they call this list functions. So it's a bit more general, so list functions, they are defined as lists of lists, or if you prefer, these are ordered trees of constant depth, yeah? And on these ordered trees of constant depth, they introduce various list operators, so it's a long list of operators, which include composition, reverse, and map. Map is specific to the fact that you have ordered trees of bounded depth, so it transforms lists of lists into lists, okay? And they show also that their list functions are equivalent to up-periodic rational functions. It's a bit less nice, I find it because for regular string functions, they need a more complicated operator, which is a group operator, which means things may be a bit less attractive. So it's quite rich. Here again, we have open problems that look difficult, and I think they're very interesting. So the first one I already mentioned, can you decide whether the regular string of the transaction is up-periodical or, first of all, definable? We don't know. And the second question I would like to mention is, I think it's interesting to look a bit more at expressions for transactions. For instance, if you have regular languages, you have very efficient way to translate an expression into a finite automaton, yeah? So Jozhovsky's construction, yeah? Yeah, I mean, that's just polynomial, so you can translate into non-deterministic finite state automaton very easily. What about expressions for transactions? It looks a bit complicated because you have this composition, for instance. Composition is expensive. So maybe it would be interesting to look at expressions for transactions and to ask, is there an expression using composition in a bounded way? I mean, maybe not too much. I mean, I think for algorithmic purposes, it's a nice area with very nice open questions. Okay, so let me go over to the last part of the talk and now the usual question, how much? Fine. If there are any questions on the first part, please ask. Okay, so you are right in time. So the equivalence problem, that's a classical problem for when you deal with automata or whatever, whatsoever. So if you are given two transducers, you ask whether these two transducers compute the same relation or the same function. Okay, the equivalence problem, I already mentioned this earlier, bad news is in general for non-deterministic transducers. Even one way, the problem is undecidable. So this is a classical result, not very surprising, not very difficult. Doing PCP, as usual. If you don't insist to use Hilbert's 10th problem, then it's usually managed with PCP. Now what about deterministic transducers? Now things are much nicer. So the equivalence of deterministic two-way transducers is PSPACE complete. So this is also a classical result by Gouraille from the 80s. It's not surprising that it is in PSPACE because as I said, if you have two-way transducers, you have easily the intersection problem of finite state automata, of n-state and finite state automata hidden there, so it's PSPACE hard. Now two-way transducers are equivalent in the deterministic case with two streaming-stream transducers. Now, this is something very puzzling. The equivalence of deterministic streaming transducers, it's in PSPACE, that's not surprising. What is really annoying is that we don't know whether it's PSPACE complete. So this is one of the questions that I would like to put here in the red and to ask for help in some sense because this seems to be a difficult question. So I worked for it. I'm not the only one, I worked on this and we don't know whether it can be done better than in PSPACE. What we know here, the only positive result is that if the output of all alphabets is unary, then the problem is in P-time. I don't need to tell you that the law about here, I'm ashamed, it's n-log space. Maybe P-time, but not even NP. Going over to more fancy models, so if you take deterministic streaming transducers that allow to be copy-full. So when you are copy-full, I didn't insist too much on copy-full. When you are copy-full, you can produce outputs that are much longer than the input. You can, for instance, have an input of length n and produce an output of exponential size, which is not possible without copy-full. But equivalence of deterministic copy-full streaming transducers is still decidable. There are very nice papers by Fidiot Vanie and Michael Benedict and James Worrell. And it uses, but it uses a more elaborate proof technique based on basically on Hilbert's basis theorem that you will see later on here. Okay, this is the situation for the deterministic case. So non-deterministic was very bad. Deterministic, we know how to decide equivalence. But actually, it turns out that we don't really need determinism to decide equivalence. Actually, we can do it also for single-valued transducers. Yeah, so for functional transducers. So remember, single-valued meant that for every input word, you have at most one output. So equivalence of single-valued one-way transducers is again in P time. Equivalence of single-valued two-way transducers was shown to be decidable by Chulik and Kahumaki. Only decidable because again, they were looking at more complicated problems. They were looking at equivalence of transducers over domains that are H, D, T, zero, L languages. Actually, it's PSPACE complete. And it's PSPACE complete. It can be seen, it's not completely obvious. It's based on the fact that on another result that I want to stress here because it's very nice result, the equivalence of two-way non-deterministic finite-state automata, which is hidden here because already for the domain I need to check whether two finite-state automata, non-deterministic ones, two-way are equivalent for checking the domain equivalence. This one is already in PSPACE, which is a bit surprising because if you think about non-determinist plus two-way, you have the feeling, naively, that you have two exponentials. But actually it's possible to do it in PSPACE that's a nice short result by Vadi. Okay, and finally, what about equivalence of single-valued streaming transducers? Again, this is PSPACE and here it's even PSPACE complete because we have non-determinism. If you have non-determinism, then equivalence, even for domains is PSPACE hard, so there's no problem. Now for the equivalence problem, it turned out that we even go beyond, can go beyond single-valuedness. So that's very interesting. So a result you by Trudy Kankow making in the late 80s. So they looked at finite-valued transducers. What is a K-valued transducers? A K-valued transducers is one where for every input word there are at most K different outputs. And they show that equivalence of K-valued one-way transducers is decidable. Okay, so it's a very nice paper, not that easy to read because again, they are using HDT-0L systems for the domains and this makes things very, yeah, a bit obscure. And they didn't say in this paper at the end that it's true also for two-way transducers without proof. Okay, it's true, but yeah, again, without proof. But what I want to show you now is a brief sketch of this proof technique because we used it, so for the last result I'm going to present, we used this proof technique for our results. So let me recap this very nice idea. So they showed this disability using the ANFOR conjecture, which is actually the ANFOR theorem. What is the ANFOR conjecture? It says that every infinite system of word equation, word equations has a finite equivalent subsystem. So an infinite, what's a word equation? A word equation is just something like this. You have variables X, Y, Z, T and then you have concatenation and maybe you have constants which are not, so I didn't put here any constants. And you ask, do you have a solution? So can you instantiate these variables by words in such a way that you get equality? So it's a unification problem. If you have an infinite system of word equations, so it's an infinite conjunction and what this ANFOR conjecture says is that you can extract a finite equivalent subsystem. So you can extract the subsystem which has exactly the same solutions as the big infinite system. So this is actually not a conjecture, as I said. It was shown in the late 80s by Albert and Lawrence and independently by Guba. Finally, I mean, the proof uses encodings of words into polynomials and then applies Hilbert's basis theorem for polynomial ideas. And you will see that this idea occurs even more, more frequently. Okay, what's the connection between equivalence of transducers and ANFOR conjecture? The connection is given by the following observation. If I take, I take here for instance, I took a transducer where if you look at it, you see that it's three-valued. So basically you have here inputs over A, but you have for instance here the output BCB and you have here, no, so BCB, sorry. And here you have BCB, the same BCB, or you have here BB. So you have three kinds of outputs, so this is three-valued. And truly can come make you what they show will be that there exists a constant M such that for any K-value transducer with at most N states, the equivalence has to be checked only over words up to length M. M depends of course on N and on the size of the alphabet and on K. And this gives you actually what they call a test set. So they show that the words up to length M are a test set for all transducers, K-value transducers with at most N states over fixed input alphabets. And then this is just existence of a test set, but if you want to get this ability of the equivalence problem, you need to show them that this test set can be computed effectively. So you need to show that M can compute it effectively. And yeah, for this state, so for step number one, they use N first conjecture, for step number two, they use the well-known Macanin's algorithms so the fact that you can check where the word equation has at least one solution. Okay, so solvability of word equations. This is the very well-known algorithm for Macanin that has been improved over time and actually by our joint friend, Folk and Decad. So we'll establish another link. Okay, so how do I get to N first conjecture? So the idea is that you take a transducer and you replace the outputs by variables. Yeah, so this will be word variables, variables that can be instantiated by words. So here I have five variables. So if you look at a particular input, say A to the M plus two, then what you get here, for instance, if you remember I had the output of this path was the same as the output of this path for the same as the output of this path with the concrete words. So now over these symbolic words, I get the word equation. So saying that this path produces the same output as this path is expressed by a word equation. Of course, the word equation, its size depends on the size of the words. Okay, so this was for a fixed word. Now, since my transducer is K valued, I mean, here three values, there can be many passes over a given word. The number of passes is not bounded by K, but the number of different outputs is bounded by K. So I can group the outputs for every given transducer in at most K groups, where I say, okay, in a given group, all the outputs are the same. And this allows also to compare to transducers because if I have to compare to transducers, I just need to say that the group one in transducer one will produce the same output as group four in transducer two, for instance. So basically, my word equations will express equalities between groups of passes. So I have, first of all, an infinite conjunction here because I'm talking about every possible word of the domain actually. For every possible word of the domain, I can group the passes in at most K groups. And then the equalities that I get here are equalities between groups, among a group and between different groups from one transducer to the other transducer. Okay, so here I have this junction because I don't know how the groups are formed. But what I know is that if I come back to the example I had, is that if I replace my variables with these concrete words, BCB and CB, then I get a solution for this infinite system of equations. Now, M-first conjecture tells me that such infinite system of equations has an equivalent subsystem. So what means equivalent subsystem here? It means just that the infinite conjunction can be turned into a finite conjunction. So it means that there exists some M such that this infinite system is equivalent to the system where my conjunction is only over words of length up to M. And this is not the test set. The test set for any pair of transducers, for any pair of transducers that has such a kind of schema, a schema, such a kind of schema. So that has the same number of states and yeah, so the same schema. Okay, so now the second part is the most, so this was the first part showing that there exists a finite test set for any pair of transducers. Now we need to find this test set effectively. So we need to check basically, so here McCann's algorithm strikes in. We need to check whether the conjunction up to length M has the same solutions as the conjunction up to length M plus one. Yeah, so if adding the words of length M plus one doesn't provide you more than for the test set than the words up to length M. And this is now McCann's algorithm that is interesting here. And there's one more ingredient that we need we need here, I mean this was not in the paper of Chulik and Kahomek, so that's something that we translated. We need the notion of quotient of transducer. As you will see for this step, we need to do the following. Given a transducer T, we need the transducer that does the same as T, but so the transducer TA for a letter A does the same as T, but on the word where we add the letter A. So we need some induction step, yeah? And from this induction step that is required here, we use the notion of quotient transducer that is defined here. Basically, I mean if you imagine how you get such a quotient transducer for a one-way transducer, this is very easy. You do a shortcut construction. If you have a one-way transducer, you just need to do a shortcut construction. And usually you don't add any states, you need to be a bit careful with the transition so you can manage in such a way that you don't add transitions either, yeah? But things will get more complicated. You can do the same also for two-way transducers, but things get more complicated for streaming stream transducer, which will be the purpose of this last result, where I will show you that equivalence of K-value streaming transducer is decidable. Now, what about K-value streaming transducer? Here we don't know whether two classes are equal, yeah? And it turns out that this is much more difficult, much more complicated. Why? Because much more complicated than two-way transducers because streaming transducers produce their output in very fancy way. So I can do it also, no, I mean, it's... It's up to you. So as you want, so I can stop here with the open questions so I can take 10 minutes for the proof. As you want. Who wants to... I can go also over to the open questions. Open questions? I feel open questions. So basically, what I didn't say is that for streaming transducers, the problem gets much more complicated because you need to normalize them. So for instance, one of the things that are easy for two-way transducers when they are K-valued, then you know that between any pair of states for any letter, they are at most K transitions, K different outputs, that's easy to see. So this becomes very difficult for streaming stream transducers. It's not obvious anymore because they generate their output in a way that you cannot control very well because the output, I mean, can be concatenated later. Okay, so let me finish with the open questions. So as I told you, there is a very nice open question here. Looks difficult, but who knows. What's the exact complexity of the equivalence of deterministic streaming stream transducers? Is it better than p-space? So I have no conjecture for the moment, so yeah. Another interesting question is, again for streaming stream transducers, I mean, you see, they generated all this research. So it was the main incentive to relook at two-way transducers and so on, but they are pretty difficult, yeah, these streaming stream transducers because they are very fancy. So you put input in several registers, you concatenate, you change the name of the register, you can do lots of different stuff. For instance, computing the minimal number of registers for deterministic stream transducers, this is again something that is not clear how to do it. Yeah, we have a partial result for this, in the case of concatenation-free streaming stream transducers, which are the same as sweeping two-way transducers, but there's no, last question I would like to ask is the thing we were mentioning, the composition theorem for K-valued streaming stream transducers. So we know that for one-way transducers, we can decompose every K-valued transducer into a union of K single-valued ones. And we conjecture that this holds also for streaming stream transducers, and if this holds, then we would get an interesting byproduct that K-valued streaming stream transducers would be, maybe not with the same K, would be equivalent to K-valued two-way transducers. Yeah, so this is, I mean, we know that in the deterministic case, or even functional case, we have equivalence between streaming stream transducers and two-way transducers. Can we lift this to finitely-valued streaming stream transducers and two-way transducers? But probably not with the same K. So we are looking at this currently and it's more complicated than we thought, and probably not with the same K. Okay, so let me conclude. So I tried to present current results on word transducers. I mean, the general goal here is to have a robust theory of word transducers and also to identify real original algorithmic questions on transducers and I think there are lots of them, which are interesting also for the applications. Now I should mention that there are many things that I didn't describe at all. So of course there are more general transducers, like three transducers, but there is a zoo of three transducers, so I don't dare to look at it in more detail. Now on word transducers, there is an attempt to simplify a bit the kind of problems we are encountering by switching to transducers with origin. So this was an idea of Miko Ejbojancik, very nice idea and it started, that's how I started to look at transducers because we were asking ourselves whether we can have a canonical to a transducer to have something about minimal number of registers and since this didn't work well, so he came up with the idea of introducing origin, so this means that you record where the information comes from and it makes things easier because you have less word combinatorics. If you have origins, you have congruences, you have better algorithmic properties. For instance, the equivalence problem for non-deterministic two-way transducers with origins, remember it was undecidable in one way already. So now I mean non-deterministic two-way, but with origins, the equivalence problem is piece space complete. So it's not more difficult than for automata. So transducers with origins look like more like automata and recently we were looking at re-synchronization for transducers with origins, so this is work with my PhD Shogato Boze, which is still going on, and yeah, that's it. So what about non-deterministic from the whole moment? I mean, you mean for the one-way case? For the one-way case, that's this classical result of chauffeur, and you mean now, I mean, in the two-way case, they can be, you can determinize. So deterministic two-way. Non-deterministic. You want to decide the equivalence of non-deterministic two-way transducers? I mean, they are the same model, it's the same model as the deterministic. Then you ask the equivalence of non-deterministic. So I ask for the equivalence of key values, but the equivalence of deterministic is decidable, so it's p-space-complete. So if one is deterministic, then there's a one value. Ah, if one is deterministic, then you first check the other one, whether it's functional, and then... Yeah. One question. Maybe, I think you mentioned the word by Moore and the connection to the learning. The learning is very established for word languages, is there any chance that it can explain this to you? That's also a very interesting question. I know that there are people who are interested in the question, but I'm not aware of any results. So I know about people who are... Of course, I mean, it's very fashionable, so there are people... Origin has a value. With origins, yes. Because with origins, you have this canonical device, so if you have a mind-generated congruence, then you can do it. This was a by-product of Niko's paper, but in the general case, I'm not aware of any published results, but I know that there are people who are interested in it, so that's another open question, yeah. More, even more, Francis. One more question? Yes, thank you, our uncle, again.