Ivan Et Maïlys

Nolwenn Be

Marie-Aude Bl

Valérie, Kenny Jacques Nelly

Lisa

Joël Salomon

Vincent Et Micaëlla

Dylan

Séverine Billy Lionel

Simon Hu

Boris Olivier K Gaston

Florine L Libby

Ulisses Et Maryllya

Yohann, Génovah Denis Et Francine

Isabelle Gaëtan

Po Guillaume Y Mblia

Lyès -J Situo

Keywords: Complexité algorithmique, minorants, Nečiporuk, programmes sur monoïdes, DA, J i Computational complexity, lower bounds, Nečiporuk, programs over monoids, DA, J

Cette thèse porte sur des minorants pour des mesures de complexité liées à des sous-classes de la classe P de langages pouvant être décidés en temps polynomial par des machines de Turing. Nous considérons des modèles de calcul non uniformes tels que les programmes sur monoïdes et les programmes de branchement.

Notre première contribution est un traitement abstrait de la méthode de Nečiporuk pour prouver des minorants, indépendamment de toute mesure de complexité spécifique. Cette méthode donne toujours les meilleurs minorants connus pour des mesures telles que la taille des programmes de branchements déterministes et non déterministes ou des formules avec des opérateurs booléens binaires arbitraires ; nous donnons une formulation abstraite de la méthode et utilisons ce cadre pour démontrer des limites au meilleur minorant obtenable en utilisant cette méthode pour plusieurs mesures de complexité. Par là, nous confirmons, dans ce cadre légèrement plus général, des résultats de limitation précédemment connus et exhibons de nouveaux résultats de limitation pour des mesures de complexité auxquelles la méthode de Nečiporuk n'avait jamais été appliquée.

Notre seconde contribution est une meilleure compréhension de la puissance calculatoire des programmes sur monoïdes issus de petites variétés de monoïdes finis. Les programmes sur monoïdes furent introduits à la fin des années 1980 par Barrington et Thérien pour généraliser la reconnaissance par morphismes et ainsi obtenir une caractérisation en termes de semi-groupes finis de NC 1 et de ses sous-classes. Étant donné une variété V de monoïdes finis, on considère la classe P(V) de langages reconnus par une suite de programmes de longueur polynomiale sur un monoïde de V : lorsque l'on fait varier V parmi toutes les variétés de monoïdes finis, on obtient différentes sous-classes de NC 1 , par exemple AC 0 , ACC 0 et NC 1 quand V est respectivement la variété de tous les monoïdes apériodiques finis, résolubles finis et finis. Nous introduisons une nouvelle notion de docilité pour les variétés de monoïdes finis, renforçant une notion de Péladeau. L'intérêt principal de cette notion est que quand une variété V de monoïdes finis est docile, nous avons que P(V) contient seulement des langages réguliers qui sont quasi reconnus par morphisme par des monoïdes de V. De nombreuses questions ouvertes à propos de la structure interne de NC 1 seraient réglées en montrant qu'une variété de monoïdes finis appropriée est docile, et, dans cette thèse, nous débutons modestement une étude exhaustive de quelles variétés de monoïdes finis sont dociles. Plus précisément, nous portons notre attention sur deux petites variétés de monoïdes apériodiques finis bien connues : DA et J. D'une part, nous montrons que DA est docile en utilisant des arguments de théorie des semi-groupes finis. Cela nous permet de dériver une caractérisation algébrique exacte de la classe des langages réguliers dans P(DA). D'autre part, nous montrons que J n'est pas docile. Pour faire cela, nous présentons une astuce par laquelle des programmes sur monoïdes de J peuvent reconnaître beaucoup plus de langages réguliers que seulement ceux qui sont quasi reconnus par morphisme par des monoïdes de J. Cela nous amène à conjecturer une caractérisation algébrique exacte de la classe de langages réguliers dans P(J), et nous exposons quelques résultats partiels appuyant cette conjecture. Pour chacune des variétés DA et J, nous exhibons également une hiérarchie basée sur la longueur des programmes à l'intérieur de la classe des langages reconnus par programmes sur monoïdes de la variété, améliorant par là les résultats de Tesson et Thérien sur la propriété de longueur polynomiale pour les monoïdes de ces variétés.

Ça y est, vient enfin le temps d'écrire les remerciements en prélude de mon manuscrit de thèse, quasiment quatre ans jour pour jour après avoir débuté mon doctorat ! Je me livre donc ici à l'exercice de remercier toutes les personnes qui ont, de près ou de loin, fait partie de l'aventure de mon doctorat sachant que, bien souvent, ma reconnaissance à leur égard ne se limite de loin pas à celle que j'exprime succinctement ici en rapport avec ma thèse. Ma finitude humaine faisant que j'en oublierai très certainement certaines d'entre elles, je les prie d'ors et déjà de m'excuser.

J'aimerais commencer par remercier mes deux directeurs de thèse, Pierre McKenzie et Luc Segoufin, sans qui -et c'est indéniable -le manuscrit que voici n'aurait pas pu voir le jour : il n'aurait pas existé, ou tout du moins, aurait été fondamentalement différent. C'est à eux que je dois l'orientation des recherches effectuées à la fois durant mon stage de M2 et mon doctorat, c'est eux qui ont été à la genèse de nombre des questions abordées dans ce manuscrit et eux encore qui ont toujours été présents sur le chemin parfois tortueux vers leur résolution -chemin au bout duquel je ne suis pas encore arrivé pour certaines d'entre elles. Je les remercie tout particulièrement de m'avoir fait confiance en me prenant sous leur tutelle en stage de recherche de M2 puis en thèse, alors que je n'étais, du point de vue de mes résultats en Master, pas non plus l'étudiant le plus brillant qui soit ! Pierre, alors que nous avons peut-être moins travaillé ensemble que ce que j'ai pu faire avec Luc, j'ai toujours grandement apprécié les moments passés dans ton bureau quand j'étais à Montréal, afin d'y discuter de l'avancement de mes recherches (plutôt de celui de la rédaction de ma thèse au cours de l'année qui vient de passer, d'ailleurs), de ton cours l'été où j'en étais l'assistant d'enseignement, de problèmes intéressants liés à tes cours ou aux travaux de tes autres étudiants, ou alors tout simplement de choses et d'autres non académiques. Les pistes que tu m'as données pour mes recherches se sont révélées être précieuses voire fondamentales au cours des quatre ans et demi qui viennent de passer : sans elles, ma thèse n'aurait assurément pas le même visage ! Ton érudition en théorie de la complexité algorithmique ainsi que ta capacité à formuler des questions de recherche xvii intéressantes, parfois à la croisée de différents sujets, sont un exemple pour moi. Je te suis également reconnaissant pour ton important travail de relecture, que ce soit pour mon manuscrit de thèse, les articles que nous avons coécrits bien évidemment, diverses présentations ou encore des documents plus administratifs ; leur qualité linguistique, surtout pour ceux rédigés en anglais, s'est vue améliorée et tu as pu y contenir quelque peu mon style littéraire alambiqué. Par-dessus tout, je te remercie tout particulièrement d'avoir eu un souci discret mais constant pour moi, bien au-delà des aspects académiques de ma vie, et pas uniquement lors de mes séjours à Montréal.

Luc, bien que j'aie pour l'instant encore du mal à estimer son étendue, je pense que tu as exercé une influence durable et profonde sur ma manière de faire de la recherche, et je pense que c'est une très bonne chose. Nos longues et régulières sessions de réflexion communes sont non seulement à l'origine de nombre des résultats les plus importants de cette thèse, en plus d'avoir été un véritable moteur pour l'engrangement de connaissances en informatique théorique et le développement de mes compétences mathématiques, mais auront très certainement, à l'avenir, une portée plus importante encore pour ce qui est de ma manière d'aborder les problèmes de recherche : ta persévérance à toute épreuve face à un problème affreusement résistant, ta préoccupation marquée pour l'élégance et la simplicité que tu crois intrinsèque aux mathématiques sont autant de qualités de chercheur que j'admire et auxquelles j'aspire. Je te remercie pour les heures que tu as passées à relire mon manuscrit de thèse ou à remanier les articles que nous avons coécrits, souvent beaucoup trop longs, difficiles à lire et parfois inutilement techniques sous ma plume, et ce toujours avec le souci de me faire progresser dans ce domaine. Si cette thèse est un tant soit peu claire et lisible sans indigestion, tu n'y es justement pas pour rien. Merci, enfin, pour ta disponibilité exemplaire en tant que directeur de thèse, tes encouragements constants vis-à-vis de mon travail et tous tes bons conseils vis-à-vis de l'organisation du travail et de la carrière d'un chercheur. J'aimerais à présent remercier les personnes qui ont accepté de faire partie de mon jury de thèse, sans qui je ne pourrais pas obtenir le titre de docteur.

Ma reconnaissance va d'abord à Volker Diekert et Marc Zeitoun, qui ont tous les deux accepté d'être rapporteurs de ma thèse, se prêtant par là, malgré toutes leurs contraintes et obligations de professeurs, à la lecture du pavé non négligeable que représente mon manuscrit de thèse. J'avoue être quelque peu gêné d'avoir dû leur infliger la lecture et l'évaluation d'une thèse aussi longue, aussi je leur suis doublement reconnaissant non seulement de l'avoir fait, mais aussi pour la qualité de leur travail. Avoir de tels chercheurs de premier plan en informatique théorique pour rapporteurs est un honneur pour moi xviii et j'ai été véritablement encouragé par leurs rapports très élogieux. Danke Volker, merci Marc ! Je tiens ensuite à exprimer ma gratitude à Stefan Göller, Matthias Függer qui l'a remplacé in extremis, et Sylvie Hamel pour avoir accepté d'être examinateurs dans mon jury de thèse. Danke Stefan für dein Interesse an meiner Arbeit, es hat mich gefreut mit dir ein bisschen über Forschung diskutieren zu können und es hätte mich gefreut, dich wie geplant als Jurymitglied meiner Dissertation Verteidigung zu haben. Danke Matthias, dass du noch im letzten Moment akzeptiert hast, Stefan zu ersetzen -das hast du sehr ernst genommen und toll gemacht, in sehr kurzer Zeit ! Merci Sylvie, toi qui fus déjà membre du jury de mon examen pré-doctoral à l'Université de Montréal, d'avoir en plus accepté d'être membre de mon jury de thèse. Les considérations de mes recherches ne sont certes pas des plus proches des tiennes, mais je sais que cela ne te pose pas de problème ! Je souhaiterais maintenant passer à toutes les personnes aux côtés desquelles j'ai pu travailler à Cachan, au LSV, ainsi qu'à Montréal, au DIRO.

Pour ce qui est du LSV, je commence par remercier tous les confrères doctorants que j'ai pu y côtoyer. Merci en particulier à toi Jérémy D. pour nos discussions de science et d'autre (même si parfois mes questions d'algèbre devaient paraître enfantines pour un matheux comme toi), pour le soutien mutuel dans notre travail et les galères administratives ; merci à toi Simon Ha. pour les nombreuses discussions que nous avons pu avoir (et pas seulement de théorie de la complexité algorithmique), mais surtout pour ta gracieuse et précieuse aide logistique extra-académique à plusieurs reprises ; thank you Juraj for our numerous discussions about so many subjects, you're an incredibly cultivated person and I was particularly glad to spend so much time with you talking about God and reading the Bible ; merci à toi Marie v.d.B. pour le temps que nous avons passé à discuter de beaucoup de choses en tant qu'occupants du quatrième étage, ainsi que pour tes conseils et ton soutien d'« aînée » ; merci à tous mes autres « aînés » que j'ai pu côtoyer, à savoir Guillaume S., Julien, Nadime, Rémy, Simon T., David M., Daniel St., Lucca, Patrick ; merci à tous les autres doctorants résidents du quatrième étage, dont Samy, Hugues M. et en particulier Pierre C. et Mengqi qui ont partagé mon bureau à différentes périodes. Je remercie également les autres occupants du quatrième étage que j'ai pu côtoyer assez régulièrement, dont Laurent D., Dietmar, Serge A., Étienne, Cristina, Stefan G., Thomas C. et spécialement Jakub, Thomas P.-T. et Fabian qui ont été, à un moment ou un autre, installés dans le même bureau que moi. Je ne veux pas oublier de remercier tous ceux avec qui j'ai pu enseigner dans divers cours à l'ENS Cachan, à savoir David B., Claudine et Stefan S., qui m'ont permis de le faire dans de très bonnes conditions tout en apprexix nant et en progressant ; à ce sujet, merci aussi à Paul G. et Serge H., directeurs successifs du département informatique de l'ENS Cachan. Ma reconnaissance va enfin à l'efficace et sympathique personnel administratif et technique du LSV, à savoir Catherine, Imane, Virginie, Thida, Francis et Hugues M.-V. : merci car j'ai toujours pu trouver chez vous une oreille attentive quand j'avais besoin de quelque chose ! Du côté du DIRO, je commence également par remercier tous les confrères doctorants du LITQ que j'y ai côtoyés : Charles B., Paul R.-R., Michael B., Sara et Dendi, sans oublier Philippe L. avec qui j'ai partagé mon bureau lors de mes trois séjours à Montréal. Je remercie aussi Martin et Hugo, étudiants de Pierre au niveau maîtrise, avec qui j'ai pu m'entretenir et travailler un peu, ainsi que Billel, doctorant d'une autre équipe, cooccupant du bureau qu'on m'avait affecté durant mes premiers mois à l'UdeM. Je souhaite exprimer ma gratitude à Louis pour son cours sur la cryptographie que j'ai pu suivre ainsi que pour nos nombreuses conversations touchant à la cryptographie, la théorie de la complexité algorithmique et bien d'autres sujets encore, scientifiques ou non ; merci aussi à lui d'avoir été membre du jury de mon examen pré-doctoral. Yuval, I am grateful for the moments we spent together during my first stay in Montreal and for the contact we maintained since then ; thanks also for your particular concern and encouragement about my research. Pour terminer, comme pour le côté français, ma reconnaissance va à la partie du personnel administratif et technique du DIRO à laquelle j'ai eu affaire, comparablement efficace et sympathique : Véronique, Céline, Violette, Linda et Mohamed, merci pour votre disponibilité et votre aide ! Il est un certain nombre d'amis non liés directement au LSV ou au DIRO, ni aux catégories qui suivent, que je me dois de remercier maintenant.

Wei Guo, thank you for all this time that we spent together eating Southeast Asian, Chinese, Alsatian and French food, discussing about a great variety of topics, encouraging each other and even celebrating Christmas together with my family. I'm glad we could have such a close relationship and I hope we will find some way to keep on with it. Dorian, je t'exprime, toi aussi, ma gratitude pour tous les moments que nous avons passés ensemble à faire des mathématiques, manger, parfois jouer, mais aussi lire la Bible et parler de Dieu. Je te suis particulièrement reconnaissant d'avoir pris l'initiative, durant l'époque où nous étions encore en M2, de travailler avec moi les cours que nous avions en commun, et ce du début de l'année jusqu'aux examens finaux, alors que, tandis que toi tu survolais les cours, moi je frôlais dangereusement le sol -je pense avoir, mathématiquement parlant, véritablement progressé avec toi ! Je remercie également l'équipe des « Cachanais » avec qui j'ai fait mon M2, à savoir xx

Introduction

The general framework. The theory of computation is the branch of mathematics1 that seeks to understand the foundations of computation. That branch was born during and as a consequence of the early 20th century foundational crisis of mathematics, when the need arose for mathematicians to formalise and understand precisely the notion of an algorithm, informally an effective procedure defining a sequence of operations carrying out a computation. Formalising computation hinges on models of computation, classes of mathematical objects that each implement a computational strategy built from elementary computational steps. A computation is then a particular rolling out of such a strategy given a certain mathematical object as input, which it transforms into a certain mathematical object called output. A given computational strategy therefore computes some transformation of a set of mathematical objects into another such set. It should be clear that the notion of computation depends on the model of computation. To each model of computation, we can also associate one or more complexity measures: each of them relies on some measure of computational cost associated to any computational strategy of this model, and gives for any transformation (often restricted to be of a certain type), the minimum cost of a computational strategy of this model computing that transformation.

A central example of a model of computation is the Turing machine: such a machine has a read/write head and a register holding one of finitely many possible states. The head points to a cell on an infinite one-dimensional discrete tape made of cells, each containing a letter taken from a finite set (called an alphabet). At each step, the head is positioned on a certain cell, reading some letter, and the register holds a certain state; following a finite set of rules, depending on this letter and this state, the machine then carries out the step by changing the state in its internal register, writing a letter in the cell the head is currently on and moving its head one cell to the left or one cell to the right. A computation is then the sequence of steps the machine does starting at an initial position, holding an initial state in its internal register and with the input tape initialised to some input and stopping in some final state. Two essential examples of associated complexity measures are those based, respectively, on the notion of time (the number of steps done by the machine for a given computation) and the notion of space (the number of cells used by the machine for a given computation). Decision problems, in which given some input, one shall give a yes/no answer as to whether this input verifies some property, are central in the theory of computation. This is why the transformations we are mostly interested in are those that correspond to the indicator function of some language (a set of words over some given alphabet), that tells, for each word over the associated alphabet, whether the word belongs to the language or not. When some computational strategy of a given model of computation computes the indicator function of a language, we say it decides that language.

Two important branches in the theory of computation are:

• computability theory, that seeks to understand, given a certain model of computation, what transformations can be computed by a computational strategy from this model;

• computational complexity theory, that seeks to understand, given a certain model of computation and an associated complexity measure, how efficiently, in terms of computational cost (given by this measure), a transformation can be computed by a computational strategy from this model. This Ph.D. thesis deals with a subject rooted at the heart of the second aforementioned branch. More precisely, a central question in computational complexity theory is to understand the relationship between the class L of languages that can be decided by Turing machines using an amount of space that is upper bounded logarithmically in the length of the input word and the class P of languages that can be decided by Turing machines using an amount of time that is upper bounded by a polynomial in the length of the input. It is well known that L ⊆ P, but almost nothing is known about the reverse inclusion, though it is widely believed not to hold.

A way to prove that P L would be to show strong enough lower bounds on the size of branching programs deciding some explicit language in P. A branching program on binary words of length n is a directed acyclic graph with one source and two sink vertices, one labelled 0, the other labelled 1, each internal node labelled by some position in the input and having exactly two outgoing arcs, one labelled 0 and the other one labelled 1. A certain input word then yields a unique path in that branching program that either goes to the sink vertex labelled 0 (rejection) or to the sink vertex labelled 1 (acceptance).

The fundamental measure of computational cost of a branching program is its size, the number of its non-sink vertices. All this can easily be generalised to an arbitrary alphabet. To decide a language of words of arbitrary length, we then provide a sequence of branching programs, each deciding the restriction of that language to words of a different length; this is why this model of computation is said to be non-uniform, as opposed to uniform models of computation like Turing machines, verifying that we provide a sole computational strategy for deciding a given language of words of arbitrary length. The measure of size associated with that model is, for a given language, the function giving for each possible input length the minimum size of any branching program deciding the restriction of that language to words with that given length. The model of branching programs is another well-studied model of computation and the complexity measure of size in this model captures precisely the measure of space in the model of Turing machines, in that if a language is decided by a Turing machine using space at most s(n) on any input word of length n (s : N → N being a function satisfying some mild conditions), then it can be decided by a sequence of branching programs, the one for length n ∈ N input words being of size at most 2 α•s(n) for some constant α ∈ R >0 . Thus, proving a super-polynomial lower bound on the size of branching programs deciding some explicit language in P would separate the latter from L, because it would imply a super-logarithmic lower bound on the amount of space used by any Turing machine deciding that language.

Although the branching program model is combinatorially simpler to handle than the Turing machine model, such a lower bound is currently far out of reach, and a lower bound in Θ(n 2 / log 2 n) is still the best we have been knowing for more than 50 years. This state of affairs is similar to the case of the most common non-uniform models of computation based on circuits. The latter have been the most studied non-uniform models of computation because the measure of size of circuits with NOT and OR, AND gates of fan-in 2 captures precisely the measure of time in the model of Turing machines, thus giving a way to attack the most famous (and, perhaps, most fundamental) open question in computational complexity theory: understanding the relationship between P and the class NP of languages that can be decided by non-deterministic Turing machines using an amount of time that is upper bounded by a polynomial in the length of the input. Unfortunately, not even a super-linear lower bound on the size of such circuits is known, while a super-polynomial lower bound on the size of such circuits deciding some explicit language in NP would be needed. This is, especially since the 1980s, why computational complexity theorists have mostly focused on size lower bounds for circuits, branching programs and other related non-uniform models of computation on which some restrictions have been placed, in the hope that proving such lower bounds would give new ideas to prove size lower bounds for the unrestricted models. This approach has been rather successful, leading to some fundamental results in computational complexity theory, even if the aforementioned ultimate hope failed to materialise for the moment (and still seems well out of reach). The present Ph.D. thesis is a modest contribution to the advancement of that strand of research in computational complexity theory.

Nečiporuk's method. As pointed out earlier, the best lower bound known for the size of branching programs deciding a language in NP is still, at the time of writing of this thesis, the one proved by Nečiporuk more than 50 years ago [START_REF] Nečiporuk | On a Boolean function[END_REF], that is in Θ(n 2 / log 2 n). Nečiporuk implicitly used a technique that has later on been explicitly identified, defined and applied to several other complexity measures for different models of computation, and also been exposed in several classical textbooks [START_REF] Savage | The Complexity of Computing[END_REF], [START_REF] Wegener | The complexity of Boolean functions[END_REF][START_REF] Wegener | Branching Programs and Binary Decision Diagrams[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]. The first contribution of this thesis is a formulation of Nečiporuk's lower bound method upstream from any specific complexity measure (which had never been done systematically before) and the analysis of the limitations of the method (in terms of the best lower bound obtainable) induced by upper bounds on the complexity of deciding one specific language. This framework is then used to apply the method and show its limitations for both classical computational models and associated complexity measures as well as variants of those never studied before. In the end, in this slightly more general framework, well-known lower bounds and limitation results are reproved and new ones are shown.

Programs over monoids. The remainder of this Ph.D. thesis then concentrates on one specific restricted variant of branching programs. Among the variants studied by computational complexity theorists, bounded-width branching programs appeared to be of particular interest, especially starting from the moment at which [START_REF] Barrington | Bounded-width polynomial-size branching programs recognize exactly those languages in NC 1[END_REF] proved the unexpected result that bounded-width polynomial-size branching programs decide all languages in NC 1 . NC 1 is the class of languages decided by polynomialsize logarithmic-depth circuits with NOT and OR, AND gates of fan-in 2, a central and well-studied complexity class based on circuits whose depth has been restricted. Its inclusion into L when considering an appropriate uniform variant is probably strict, but it is still not excluded that NP ⊆ NC 1 . A wealth of the major lower bound results on the size of restricted variants of circuits were obtained for variants in which circuits are required to be of constant depth, variants which all correspond to important subclasses of NC 1 .

As a direct follow-up of that result and its proof, [START_REF] Barrington | Finite monoids and the fine structure of NC 1[END_REF] introduced the program-over-monoid model. Given some finite monoid (M, * ) and an alphabet Σ, an (M, * )-program P over Σ for input length n is simply a sequence of instructions

(i 1 , f 1 )(i 2 , f 2 ) • • • (i l , f l ) ,
where for each j, i j indicates some position in the input and f j associates an element of M to each element of Σ. That way, P associates to each input word w over Σ of length n a unique element of M ,

P (w) = f 1 (w i 1 ) * f 2 (w i 2 ) * • • • * f l (w i l ) .
A language of words in Σ n is then recognised by P if and only if it is equal to the set of words in Σ n to which the program P associates an element in some subset F of M . A language of words of arbitrary length is for its part recognised by a sequence of (M, * )programs. This model of computation and notion of recognition can be seen as a generalisation of the notion of recognition through morphisms into finite monoids, a notion at the very basis of algebraic automata theory. As for the case of classical recognition through such morphisms, we are usually interested in the class of languages recognised by a sequence of (M, * )-programs where (M, * ) is a finite monoid drawn from some variety of finite monoids V (such a variety being a class of finite monoids closed under direct product and division, two basic operations on monoids). The striking result proved by Barrington and Thérien (and in some following papers) is that NC 1 and almost all of its well-known subclasses (with the notable exception of TC 0 ) can each be characterised as some class P(V) of languages recognised by sequences of polynomial-length programs over monoids taken from such a variety V. For instance, let us consider AC 0 , the class of languages decided by polynomial-size constant-depth circuits with NOT and OR, AND gates of unbounded fan-in, and ACC 0 the same class with the addition of modular counting gates -two of the most important subclasses of NC 1 . Then, we have that NC 1 , ACC 0 and AC 0 contain, respectively, exactly those languages recognised by polynomial-length programs over monoids from the variety of all finite monoids, of finite solvable monoids and of finite aperiodic monoids. In algebraic automata theory, lots of techniques have been developed since the 1960s to characterise algebraically classes of regular languages by the varieties of finite monoids recognising them through morphisms. The hope was, and still is, that those would be generalisable to recognition through programs and help to tackle open computational-complexity-theoretic questions related to NC 1 and its inner structure; or, at least, lead to new semigroup-theoretic proofs of well-known results in that realm. The most prominent and fundamental of these results is the one stating that for all m ≥ 2, the language MOD m of words over {0, 1} containing a number of 1s not divisible by m is not in AC 0 .

But none of these hopes materialised for the moment, at the time of writing of this thesis. As already explained for the case of lower bounds on the sizes of (unrestricted) circuits, branching programs and other related non-uniform models of computation, one general approach one can follow in face of such difficulties is to focus on more restricted models and try to accumulate knowledge and techniques that could help in the unrestricted setting. The program-over-monoid formalism offers a straightforward way to restrict the power of the model, simply by restricting the "algebraic power" at hand by considering programs over monoids taken from some "small" (in the sense of inclusion) varieties; the hope is then to reuse what we learn by studying the power of programs over monoids taken from these "small" varieties when conducting that study with bigger varieties like those given just above. The study of the expressiveness of programs over "small" varieties of finite monoids also leads to questions interesting in their own right, often related to algebraic automata theory and logic. Several previous works have followed that line of research (e.g. [START_REF] Barrington | Non-uniform automata over groups[END_REF], [START_REF] Gavaldà | Algebraic characterizations of small classes of Boolean functions[END_REF], [START_REF] Lautemann | An algebraic point of view on the Crane Beach property[END_REF], [START_REF] Maciel | Programs over semigroups of dot-depth one[END_REF], [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF], [START_REF] Tesson | The computing power of programs over finite monoids[END_REF]).

The second contribution of this Ph.D. thesis is twofold: at a general level, the investigation of a general property of the class of regular languages contained in P(V) for any variety of finite monoids V; at a more specific level, the study of each of the case V = DA and V = J, two well-known subvarieties of that of finite aperiodic monoids, important in algebraic automata theory and related fields. Exactly characterising the class of regular languages in P(V) as V ranges over all possible varieties of finite monoids is a fundamental task because, as shown in [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF], two classes P(V) and P(W) are equal if and only if they contain exactly the same regular languages. Drawing inspiration from the work of [START_REF] Péladeau | Finite semigroup varieties defined by programs[END_REF] for programs over semigroups taken from finite semigroup varieties of a certain form, a new notion of tameness of a variety of finite monoids V is introduced, that basically captures the property that, for monoids stemming from this variety, recognition by polynomiallength programs does not allow to recognise unexpectedly more regular languages than classical morphism recognition.

The rest of the thesis then first shows that DA is tame, thus deriving an exact algebraic characterisation of the class of regular languages belonging to P(DA). Additionally, other properties of independent interest concerning P(DA) are shown. The thesis at last turns to J, the variety of so-called finite J-trivial monoids, a notable example of a variety of finite monoids which is proven not to be tame. This means, most importantly, that polynomial-length programs over monoids in J can recognise "much more" regular languages than when only considering classical morphism recognition through monoids in J. The sizeable last chapter in this thesis develops (yet unpublished) partial results towards an algebraic characterisation of the class of regular languages belonging to P(J) (along with some distinct small results about P(J)).

Outline of the thesis. This manuscript is organised as follows. This introduction is followed by Chapter 1, whose aim is to introduce the basic notions used throughout the thesis, give a brief history of computational complexity theory and precisely set the scientific context of the thesis. Chapter 2 is dedicated to the work on Nečiporuk's lower bound method. Chapter 3 then moves on to give the necessary background in algebraic automata theory before introducing the program-over-monoid formalism, giving some general properties about it and examining its behaviour with respect to regular languages, notably introducing the notion of tameness of a variety of finite monoids. Finally, building on this, Chapter 4 and Chapter 5 deal with the computational power of polynomial-length programs over monoids taken from DA and J, respectively. The thesis concludes with a summary of the findings it presents and a list of ideas for future directions along the lines of the work it reports.

Publications. The present Ph.D. thesis is partly based on two scientific publications:

• [START_REF] Beame | Nondeterminism and an abstract formulation of Nečiporuk's lower bound method[END_REF], a journal article published in ACM ToCT the thesis' author co-wrote with Paul Beame and his two Ph.D. advisors, Pierre McKenzie and Luc Segoufin, that in overwhelming majority corresponds to the contents of Chapter 2 as is;

• [START_REF] Grosshans | The power of programs over monoids in DA[END_REF], a conference article presented at the MFCS 2017 conference the thesis' author co-wrote with his two Ph.D. advisors, that forms the basis of Subsection 3.4.2 in Chapter 3 and of Chapter 4.

Chapter 1

Languages and computation

In this first chapter, we set the necessary mathematical background on which this Ph.D. thesis relies as a whole, formalising most of the concepts mentioned in the introduction.

We then give a short history of the field of computational complexity theory, laying out the context in which this thesis fits.

Some mathematical conventions

We start reviewing some conventions and notations that we will use throughout this thesis.

Sets. We will denote by N the set of all natural numbers (including 0), by Z the set of all integers and R the set of all real numbers. For E any of these sets, E >0 shall denote the set of positive numbers in E and E ≥0 the set of non-negative numbers in E. Given some positive natural number d, we shall denote by Z/d Z = {0, . . . , d -1} the set of integers modulo d. For n, m ∈ N, we denote by [[n, m]] the set of natural numbers from n to m, which is empty if m < n. We also denote by [n] the set of integers from 1 to n, i.e. [[1, n]], using the convention that [0] = ∅. For some set E, we will denote by P(E) the powerset of E, i.e. the set of all subsets of E. For two sets E 1 and E 2 , E 1 ⊂ E 2 shall denote strict inclusion, and E 1 ⊆ E 2 inclusion or equality.

Indexed families. Let V be a subset of N. We view u ∈ E V as a sequence (u i ) i∈V of elements u i ∈ E for all i ∈ V . For all n ∈ N, we won't also make the difference between E n and E [n] .

Functions. For X some set, we shall denote by id X : X → X the identity function on X, i.e. defined by id X (x) = x for all x ∈ X. Given a function f : X → Y from a set X to a set Y and a subset S ⊆ X of X, we will denote by f | S : S → Y the restriction of f to S, defined by f | S (x) = f (x) for all x ∈ S, and by f (S) = {f (x) | x ∈ S} the image of S by f . We shall also denote by Im(f ) the image of E by the function f , i.e. f (X). Given T ⊂ Y , we will denote by f -1 (T ) = {x ∈ X | f (x) ∈ T } the inverse image of T by f and shall write f -1 (y) when T is the singleton {y}.

Given two functions f : X → Y and g : Y → Z where X, Y and Z are sets, we will denote by g • f : X → Z the function obtained by composition of f and g, defined by (g • f )(x) = g(f (x)) for all x ∈ X. When X = Y , for each n ∈ N, we shall denote by f n : X → X the composition of n copies of f , defined by Landau symbols. We will also use the following common Landau symbols. Let f : N → R ≥0 and g : N → R ≥0 , we will write:

f n =    f n-1 • f if n > 0 id E if n = 0 . For all b ∈ R >0 ,
• f (n) ∈ O(g(n)) if and only if there exist α ∈ R >0 and n 0 ∈ N such that for all n ∈ N, n ≥ n 0 we have f (n) ≤ α • g(n);

• f (n) ∈ o(g(n)) if and only if for all α ∈ R >0 , there exists n 0 ∈ N such that for all n ∈ N, n ≥ n 0 we have f (n) ≤ α • g(n);

• f (n) ∈ Ω(g(n)) if and only if there exist α ∈ R >0 and n 0 ∈ N such that for all n ∈ N, n ≥ n 0 we have f (n) ≥ α • g(n);

• f (n) ∈ ω(g(n)) if and only if for all α ∈ R >0 , there exists n 0 ∈ N such that for all n ∈ N, n ≥ n 0 we have f (n) ≥ α • g(n).

Given an additional function h : N → R ≥0 , we shall abuse notation by writing

f (n) ∈ g(n) O(h(n)) , f (n) ∈ g(n) o(h(n)) , f (n) ∈ g(n) Ω(h(n)) or f (n) ∈ g(n) ω(h(n))
to express that there exists a function h : n) for all n ∈ N.

N → R ≥0 respectly verifying h (n) ∈ O(h(n)), h (n) ∈ o(h(n)), h (n) ∈ Ω(h(n)) or h (n) ∈ ω(h(n)) such that f (n) = g(n) h (

Alphabets, words and languages

Let us start with the basics about alphabets, words and languages.

Alphabets and words

The basic building block of languages is that of a letter, taken from some alphabet.

Definition 1.2.1. An alphabet is a finite set of symbols, called letters.

Given an alphabet, we can define words by assembling letters from this one in a sequence.

Definition 1.2.2. Let Σ be an alphabet.

A word w over (or on) Σ is a finite sequence of elements of Σ, i.e. an element of Σ k for some k ∈ N, and we say k is the length of the word w, written |w|. When k = 0, w is the empty word, denoted by ε, the only element in Σ 0 , i.e. the empty sequence. Otherwise, when k ∈ N >0 , instead of (w 1 , . . . , w k ), we usually write w 1 • • • w k .

We denote by Σ * the set of all words over Σ, i.e. Σ * = k∈N Σ k , and by Σ + the set of all non-empty words over Σ, i.e. Σ + = k∈N >0 Σ k . For each l ∈ N, we also denote by Σ ≤l the set of all words over Σ of length at most l, i.e. Σ ≤l = k∈N,k≤l Σ k .

Words can be combined by the operation of concatenation, that glues them together, to obtain new words.

Definition 1.2.3. Let Σ be an alphabet. For words u ∈ Σ k and v ∈ Σ l (k, l ∈ N), we denote by u • v or uv the word u

• v = u 1 • • • u k v 1 • • • v l in Σ k+l
which is the concatenation of u and v.

We might from time to time need to talk about the letters that appear specifically in a given word over some alphabet, and how many times each of those appears. Definition 1.2.4. Let Σ be an alphabet. For a word w ∈ Σ * , we will denote by alph(w) the alphabet of w, i.e. the set of letters of Σ that appear in w. Given additionally some specific letter a ∈ Σ, we will denote by |w| a the number of occurrences of the letter a in w.

Finally, another set of important notions is those talking about the different ways some word can appear in another one, formalised below. Definition 1.2.5. Let Σ be an alphabet and u, v ∈ Σ * two words over Σ.

• We say that u is a subword of v if and only if v can be written as

v = v 0 a 1 v 1 • • • a l v l
where l ∈ N, v i ∈ Σ * for all i ∈ [[0, l]] and u = a 1 • • • a l with a i ∈ Σ for all i ∈ [l]. For all k ∈ N, k ≥ l, we also say that u is a k-subword of v.

• We say that u is a factor of v if and only if v can be written as v = v 0 uv 1 where v 0 , v 1 ∈ Σ * . Additionally, we say that u is a prefix of v if and only if v 0 = ε, and similarly we say that u is a suffix of v if and only if v 1 = ε.

Languages Now that we have a notion of words, we can create collections of them to form languages.

Definition 1.2.6. Let Σ be an alphabet. A language L over (or on) Σ is a set of words over Σ, i.e. L ⊆ Σ * . For any n ∈ N we define L =n = {w ∈ L | |w| = n} the set of words (or finite language of words) of L of length n. Finally, we denote by χ L : Σ * → {0, 1} the indicator function of L, such that for all w ∈ Σ * , χ L (w) = 1 if and only if w ∈ L.

Remark 1.2.7. For a given alphabet Σ, we shall call the empty language ∅ and the full language Σ * over Σ the trivial languages over Σ. Furthermore, given u ∈ Σ * , we shall sometimes, when the context is clear, write u for {u} (the language composed solely of the word u).

Remark 1.2.8. We also could have chosen to have infinite alphabets or infinite words (or both), but in this work, both will always be finite. In contrast, languages can be both finite or infinite -and, in fact, we are usually interested in infinite languages.

A set of basic operations on languages to form new ones is the set of so-called Boolean operations.

Definition 1.2.9. Let Σ be an alphabet.

• Let L ⊆ Σ * be a language over Σ. The complement of L (in Σ, but this is usually clear from the context), denoted by L , is the language L = Σ * \ L over Σ.

• Let L 1 , L 2 ⊆ Σ * be two languages over Σ. The union (or sum) of L 1 and L 2 , denoted by L 1 ∪ L 2 or L 1 + L 2 , is simply the union of the two sets L 1 and L 2 . Similarly the intersection of L 1 and L 2 , denoted by L 1 ∩ L 2 , is simply the intersection of the two sets L 1 and L 2 .

• Let L 1 , . . . , L k ∈ Σ * be k ∈ N >0 languages over Σ. A Boolean combination of the languages L 1 , • • • , L k is a language over Σ obtained by a finite combination of unions, intersections or complements of these languages.

Another two basic operations operating on languages is the concatenation product and the associated star operation.

Definition 1.2.10. Let Σ be an alphabet.

• Let L 1 , L 2 ⊆ Σ * be two languages over Σ. The concatenation product (or product) of L 1 and L 2 , denoted by

L 1 • L 2 or L 1 L 2 , is the language L 1 • L 2 = {w 1 • w 2 | w 1 ∈ L 1 , w 2 ∈ L 2 } over Σ.
• Let L ⊆ Σ * be a language over Σ. For all k ∈ N, the k-th power of L, denoted by L k , is the language

L k = L • L • • • • • L k times
over Σ, using the convention that L 0 = {ε}.

• Let L ⊆ Σ * be a language over Σ. The star of L, denoted by L * , is the language L * = k∈N L k over Σ. We also set L + = k∈N >0 L k .

The last basic operation we may introduce is the quotient.

Definition 1.2.11. Let Σ be an alphabet. Let L ⊆ Σ * be a language over Σ. Given some word u ∈ Σ * , the left (right) quotient of L by u, denoted by u -1 L (Lu -1 ), is the language u -1 L = {v ∈ Σ * | uv ∈ L} (Lu -1 = {v ∈ Σ * | vu ∈ L}) over Σ. For any subset K ⊆ Σ * of words on Σ, the left (right) quotient of L by K, denoted by K -1 L (LK -1 ), is the language K -1 L = u∈K u -1 L (LK -1 = u∈K Lu -1 ) over Σ.

Models of computation and complexity classes

We now proceed to the definition of the main models of computation and associated complexity classes used throughout this manuscript. The main references used here are the book by [START_REF] Arora | Computational Complexity -A Modern Approach[END_REF] and its French twin by [START_REF] Perifel | Complexité algorithmique[END_REF].

Turing machines

For a formal definition of Turing machines, of computations performed on such machines and of the notions of time and space taken by such computations, we refer the reader to [START_REF] Perifel | Complexité algorithmique[END_REF]. We shall abbreviate "deterministic Turing machine" by DTM and "nondeterministic Turing machine" by NTM.

We define the usual Turing machine time and space complexity classes as follows. Let f : N → N, we define • DTIME(f (n)) (NTIME(f (n))) as the class of all languages over any alphabet Σ that are decided by a DTM (an NTM) running in time at most α • f (|w|) (for all possible executions) on any input w ∈ Σ * , α ∈ R >0 being some constant depending only on the DTM (the NTM);

• DSPACE(f (n)) (NSPACE(f (n))) as the class of all languages over any alphabet Σ that are decided by a DTM (an NTM) halting and running in space at most α•f (|w|) (for all possible executions) on any input w ∈ Σ * , α ∈ R >0 being some constant depending only on the DTM (the NTM).

We can now define the following well-known Turing machine complexity classes.

• The class of deterministic polynomial time P = k∈N DTIME(n k ).

• The class of non-deterministic polynomial time NP = k∈N NTIME(n k ).

• The class of deterministic logarithmic space L = DSPACE(log 2 (n)).

• The class of non-deterministic logarithmic space NL = NSPACE(log 2 (n)).

The models of DTMs and NTMs are uniform models of computation, because each Turing machine works on input words of any length and to decide a language, one should give a TM that works for all input lengths. As we shall see in the next subsection, there also exist non-uniform models of computation where each associated computational strategy works only on input words of a fixed length and to decide a language, one should give a sequence of such computational strategies, one working for each possible input length. To make the models based on Turing machines non-uniform, we can define the notion of classes with advice. Definition 1.3.1. Let f : N → N be a function and C a complexity class. Then we denote C/f (n) the class of languages L over any alphabet Σ such that there exists a language K over the alphabet Σ ∪ {#} (where # is a new letter) and a sequence of words (u n ) n∈N verifying that:

• u n ∈ {0, 1} f (n) for all n ∈ N; • for all w ∈ Σ * , w ∈ L if and only if w#u |w| ∈ K.
Of particular importance in our case will be the classes with polynomial length advice.

Circuits

The most important and common non-uniform models of computation are those based on circuits.

Definition 1.3.3. Let Σ be an alphabet and Ω be a set of Boolean functions of the form g : {0, 1} m → {0, 1} with m ∈ N >0 . A circuit over basis Ω (or Ω-circuit) on Σ V , for some finite set V ⊆ N, is a directed acyclic graph (whose vertices are also called gates) where

• there is a single sink vertex (also called output gate);

• every source vertex (also called input gate) is labelled by "x i ∈ Γ" for some i ∈ V and Γ ⊆ Σ, or by one of the constants 0 and 1;

• every non-source vertex (also called internal gate) is labelled by some Boolean function g : {0, 1} m → {0, 1} (m ∈ N >0 ) from Ω and has exactly m predecessors, given in a certain order.

The size of C, denoted by |C|, is the number of its non-source vertices, while the depth of C, denoted by depth(C), is the length of the longest path from an input gate to the output gate. Given a non-output gate γ in C, we will call induced subcircuit of C at gate γ the circuit over Ω on Σ V obtained from C by setting γ as the output gate and keeping only the gates of C from which there exists a path to γ.

For each gate γ in C, we define f γ : Σ V → {0, 1} the function computed at gate γ in the following way. For each w ∈ Σ V :

• if γ is an input gate labelled by "x i ∈ Γ" (i ∈ V and Γ ⊆ Σ), then f γ (w) = 1 if and only if w i ∈ Γ, otherwise if γ is labelled by b ∈ {0, 1}, then f γ (w) = b;
• if γ is an internal gate labelled by g : {0, 1} m → {0, 1} (m ∈ N >0 ) and having γ 1 , . . . , γ m as predecessors, then f γ (w) = g(f γ 1 (w), . . . , f γm (w)).

C computes the function

f o : Σ V → {0, 1}
where o is the output gate of C.

Below we define how circuits decide languages and define complexity classes based on the size and depth computational costs. Definition 1.3.4. Let Σ be an alphabet. Let L ⊆ Σ * be a language on Σ. We say that a sequence (C n ) n∈N of Ω-circuits (for some basis Ω) such that each C n is on

Σ n for n ∈ N decides L if and only if C n computes χ L | Σ n for all n ∈ N.
Let Ω be some basis, as well as s : N → N and d : N → N two functions. We define

SIZE -DEPTH Ω (s(n), d(n)) (SIZE Ω (s(n)), DEPTH Ω (d(n)))
as the class of languages L over any alphabet Σ such that there exist a constant α ∈ R >0 and a sequence of Ω-circuits

(C n ) n∈N deciding L, where for all n ∈ N, |C n | ≤ α • s(n) and depth(C n ) ≤ α • d(n) (|C n | ≤ α • s(n), depth(C n ) ≤ α • d(n)).
Let us now define some specific circuit complexity classes that will be referred to in this manuscript. But first, we need to define some useful bases of Boolean functions.

Definition 1.3.5. We will denote by ¬ the Boolean NOT function and for all m ∈ N, m ≥ 2, ∧ m will denote the Boolean AND function on m inputs, and ∨ m the Boolean OR function on m inputs. Moreover, for all m, q ∈ N, m, q ≥ 2, ≡ q m will denote the boolean MOD-q function on m inputs, that is equal to 1 if and only if the number of inputs that are 1 is not divisible by m.

We shall use three quite common bases:

• the basis B 2 containing only NOT and the fan-in 2 OR and AND, i.e. B 2 = {¬, ∧ 2 , ∨ 2 };

• the basis B ∞ containing NOT and arbitrary fan-in ORs and ANDs, i.e.

B ∞ = {¬} ∪ {∧ m | m ∈ N, m ≥ 2} ∪ {∨ m | m ∈ N, m ≥ 2};
• for any q ∈ N, q ≥ 2, the basis C ∞,q containing NOT and arbitrary fan-in ORs, ANDs and MOD-qs, i.e.

C ∞,q = B ∞ ∪ {≡ q m | m ∈ N, m ≥ 2}.
Definition 1.3.6. We define the following circuit complexity classes.

• For all i ∈ N,

NC i = k∈N SIZE -DEPTH B 2 (n k , log 2 i (n))
and NC = i∈N NC i .

• For all i ∈ N,

AC i = k∈N SIZE -DEPTH B∞ (n k , log 2 i (n))
and AC = i∈N AC i .

• For all i ∈ N and q ∈ N, q ≥ 2,

ACC i [q] = k∈N SIZE -DEPTH C∞,q (n k , log 2 i (n)) , ACC i = q∈N,q≥2 ACC i [q] and ACC = i∈N ACC i .
It is a classical result that

NC 0 ⊆ AC 0 ⊆ ACC 0 ⊆ NC 1 ⊆ • • • ⊆ NC i ⊆ AC i ⊆ ACC i ⊆ NC i+1 ⊆ • • • ⊆ NC = AC = ACC
for all i ∈ N. Nevertheless, while all the inclusions in this infinite chain are widely conjectured to be strict, the only which are actually proven to be so are the first two, as well as the third one in the specific case of ACC 0 [p] for p ∈ N some prime, using the following results. For all m ∈ N, m ≥ 2, let MOD m = {w ∈ {0, 1} * | |w| 1 = 0 mod m} be the language on the alphabet {0, 1} of words containing a number of 1's not congruent to 0 modulo m.

Theorem 1.3.7 [START_REF] Merrick | Parity, circuits, and the polynomial-time hierarchy[END_REF], Ajtai [1983]). For all m ∈ N, m ≥ 2, MOD m / ∈ AC 0 .

Theorem 1.3.8 [START_REF] Razborov | Lower bounds on the size of bounded depth circuits over a complete basis with logical addition[END_REF], [START_REF] Smolensky | Algebraic methods in the theory of lower bounds for Boolean circuit complexity[END_REF]). Let p ∈ N and q ∈ N be two

distinct primes. Then MOD p / ∈ ACC 0 [q].
The size of circuits over the basis B 2 (or even any other basis including B 2 ) is an important computational cost measure, as it captures the measure of time on DTMs, as made precise below.

Proposition 1.3.9 ([Perifel, 2014, Proposition 5-Y]). For all t : N → N,

DTIME(t(n)) ⊆ SIZE B 2 (t(n) 2 ) .
Proposition 1.3.10 ( [Arora and Barak, 2009, Theorem 6.18], [Perifel, 2014, Proposition 5-AC]). We have

P/poly = k∈N SIZE B 2 (n k ) .

Branching programs

Other common non-uniform models of computation are those based on branching programs.

Definition 1.3.11. Let Σ be a finite alphabet. A non-deterministic branching program (NBP) on Σ V , for a finite set V , is a tuple P = (X, δ, τ, s, t 0 , t 1 ) where

• X is a finite set of vertices (or states);

• s ∈ X is the start (or source) vertex;

• t 0 , t 1 ∈ X, t 0 = t 1 are two distinct sink vertices;

• δ : X \ {t 0 , t 1 } × Σ → P(X \ {s}) gives the transition rules (for each non-sink vertex and letter of the alphabet, the set of successors it is linked to thanks to arcs labelled with this letter);

• τ : X \ {t 0 , t 1 } → V labels each non-sink vertex.

The size of P , denoted by |P |, is the number of its non-sink vertices, that is to say

|P | = |X \ {t 0 , t 1 }|. Each assignment w ∈ Σ V defines a set of arcs A[w] = {(u, v) ∈ X \ {t 0 , t 1 } × X \ {s} | v ∈ δ(u, w τ (u) )}
and thus a directed graph

P [w] = (X, A[w]). P computes a function f : Σ V → {0, 1} given by f (w) = 1 if
(X, {(u, v) ∈ X \ {t 0 , t 1 } × X \ {s} | ∃a ∈ Σ, v ∈ δ(u, a)})
is acyclic and each non-sink vertex of X has precisely one out-arc labelled by each possible letter of Σ, i.e. |δ(u, a)| = 1 for all u ∈ X \ {t 0 , t 1 } and a ∈ Σ.

As for the case of circuits, we can now define how BPs and NBPs decide languages and define complexity classes based on the size computational cost measure. Definition 1.3.12. For all finite alphabet Σ and function f : Σ V → {0, 1} (for V ⊆ N finite) we denote by BP(f ) and NBP(f ) the minimum size of, respectively, a BP and an NBP over Σ V computing f . Let L ⊆ Σ * be a language on Σ. We say that a sequence (P n ) n∈N of BPs (NBPs) such that each P n is on Σ n for n ∈ N decides L if and only if

P n computes χ L | Σ n for all n ∈ N.
For all s : N → N, we define BPSIZE(s(n)) (NBPSIZE(s(n))) as the class of languages L over any alphabet Σ such that exist a constant α ∈ R >0 and a sequence of BPs (NBPs)

(P n ) n∈N deciding L, where for all n ∈ N, |P n | ≤ α •s(n). We set PBP = k∈N BPSIZE(n k ) and PNBP = k∈N NBPSIZE(n k ).
Similarly to the case of the size of circuits over the basis B 2 that captures the measure of time on DTMs, the size of BPs (NBPs) captures the measure of space on DTMs (NTMs).

Proposition 1.3.13 ([Arora and Barak, 2009, Theorem 14.13]). For all s :

N → N such that s(n) ≥ log 2 (n) for all n ∈ N >0 , • DSPACE(s(n)) ⊆ c∈N BPSIZE(2 c•s(n) ); • NSPACE(s(n)) ⊆ c∈N NBPSIZE(2 c•s(n) ).
Proposition 1.3.14 [START_REF] Razborov | Lower bounds for deterministic and nondeterministic branching programs[END_REF]). We have the following equalities.

• L/poly = PBP.

• NL/poly = PNBP.

1.4

The great quest: on the relationship between time and space and the power of non-determinism

Facing walls, or the embarrassing state of affairs in computational complexity theory

As we know since the very beginning of the field of computational complexity theory, which really started in 1965 (see [START_REF] Fortnow | A short history of computational complexity[END_REF], [START_REF] Perifel | Complexité algorithmique[END_REF]), under some conditions, the more time we have on a deterministic Turing machine, the more languages we can decide, and similarly, under some conditions, the more space we have on such a machine, the more languages we can decide (this is an informal presentation -but sufficient for introductory purposes -of what is called, respectively, the deterministic time hierarchy theorem [Perifel, 2014, Theorem 2-J] and the deterministic space hierarchy theorem [Perifel, 2014, Theorem 4-N]). It is also well known that a deterministic Turing machine running in time t(n) runs in space at most t(n) and, conversely, that such a machine running in space s(n) ≥ log 2 (n) can be made to run in time at most 2 α•s(n) for some fixed constant α ∈ R >0 depending only on the machine.

That being said, it is absolutely remarkable that after more than 50 years of continuous developments in computational complexity, we are not able to say anything more precise about the relationship between time and space complexities on deterministic Turing machines. In particular, while it is intuitive to think that there exist languages decidable in polynomial time in the size of the input on a deterministic Turing machine that cannot be decided using only a logarithmic amount of space in the size of the input (i.e. L ⊂ P), there exists no proof of that belief, which might as well be false.

The other huge wall faced by complexity theorists is trying to understand the influence of non-determinism on time and space complexities. Indeed, it seems natural to think that allowing a Turing machine to do non-deterministic transitions would allow it to save some time or space, in comparison to the case in which only deterministic transitions are allowed. Back in 1970, Savitch showed that the space a TM can save by making non-deterministic choices cannot be more than quadratic, i.e. NSPACE(s(n)) ⊆ DSPACE(s(n) 2 ) for any s : N → N satisfying some mild conditions [Perifel, 2014, Theorem 4-AS]. This proves that non-determinism does not make such a huge difference for space complexity, and that we have for instance PSPACE = k∈N DSPACE(n k ) = k∈N NSPACE(n k ) = NPSPACE. However, we do not know whether this inclusion is optimal, that is to say, it is not excluded that for some s : N → N, we have NSPACE(s(n)) ⊆ DSPACE(s (n)) for some s : N → N verifying s (n) ∈ o(s(n) 2 ): this means that even 48 years after the publication of Savitch's result, we still have some interesting and difficult open questions about the influence of non-determinism on space complexity, especially in the case of logarithmic space bounded TMs (i.e. L vs NL). In contrast, when it comes to time complexity, we know almost nothing about the influence of nondeterminism, excepting the elementary fact that NTIME(t(n)) ⊆ c∈N DTIME(2 c•t(n) ) for any t : N → N [Perifel, 2014, Proposition 2-AG]. The state of affairs in the case of the relationship between deterministic and non-deterministic time complexities on Turing machines is similar to the one in the case of deterministic time and space, and the most famous open question in computational complexity theory, the relationship between polynomial deterministic and non-deterministic time on Turing machines (or the P versus NP question) seems to be, for all we already know about P and NP, a deep mathematical question [START_REF] Wigderson | NP and mathematics-a computational complexity perspective[END_REF], [START_REF] Allender | A status report on the P versus NP question[END_REF].

1.4.2 Finding small breaches in the walls, or how the field did evolve While the fundamental questions above still remain unanswered, the field of computational complexity evolved much during its slightly more than 50 years of existence.

The focus in the beginning, until the end of the 1970s, was essentially directly on time and space complexities on deterministic and non-deterministic Turing machines; this led to results such as the aforementioned hierarchy theorems and, for lack of other separation results between complexity classes, to the first results of the immensely fruitful theory of resource bounded reducibility among languages and completeness within complexity classes (the most important and significant case being that of NP-completeness: see, e.g., [START_REF] Wigderson | NP and mathematics-a computational complexity perspective[END_REF], [START_REF] Allender | A status report on the P versus NP question[END_REF]). It soon became obvious, supported by a seminal 1975 result by Baker, Gill and Solovay [Perifel, 2014, Theorem 7-AA] and subsequent results such as the one by [START_REF] Ladner | Relativization of questions about log space computability[END_REF][START_REF] Ladner | Relativization of questions about log space computability[END_REF][START_REF] Ladner | Relativization of questions about log space computability[END_REF], that the diagonalisation techniques used so far, inherited from computability theory, and that handle TMs merely as black boxes, would be of no use to solve some of the central questions in computational complexity theory, among them the P versus NP and L versus P questions. It was therefore necessary to develop techniques that would analyse the precise internal working of Turing machines, but this is, as [START_REF] Perifel | Complexité algorithmique[END_REF] states it, rather tricky due to the complicated definition of a Turing machine. This is where the close relationship between time on DTMs and size of circuits, established in 1972 by [START_REF] Savage | Computational work and time on finite machines[END_REF], as well as the close relationship between space on Turing machines and size of various types of branching programs, first observed in 1976 by [START_REF] Masek | A fast algorithm for the string editing problem and decision graph complexity[END_REF] for the deterministic case, step in. Indeed, those relationships show that proving lower bounds for the circuit-type and branching program-type complexity measures would imply lower bounds for time and space Turing machine complexities, and the fact is that these models of computation are somewhat easier to handle structurally than TMs and are hence better suited for the precise internal analysis mentioned earlier. But, as Boppana and Sipser state it in their 1989 survey [START_REF] Boppana | The complexity of finite functions[END_REF], this approach through non-uniform models of computation to proving lower bounds for Turing machine complexity measures first did not help much, because proving size lower bounds for general circuit-type or branching program-type models of computation appears to be a difficult task, and the best lower bounds known at the end of the 1970s (which did, by the way, not evolve much until the time of redaction of this manuscript) were quite weak.

This approach started to really bear fruit in the 1980s when computational complexity theorists started to consider restricted types of circuit or branching program models of computation. Researchers were able to develop specific methods to prove significant lower bounds on the sizes of sequences of circuits on which they placed restrictions such as (see this survey [START_REF] Boppana | The complexity of finite functions[END_REF] by Boppana and Sipser):

• requiring the depth of the circuits in the sequence to stay constant (those correspond to the classes AC 0 and ACC 0 [q] for q ∈ N, q ≥ 2);

• in the case of Boolean circuits (i.e. operating on {0, 1}), requiring that the basis at use does not contain NOT (those are called monotone Boolean circuits);

• requiring that the underlying graphs of the circuits in the sequence are all trees (those are called formulae).

Similarly, researchers also developed specific methods to prove significant lower bounds on the sizes of sequences of branching programs on which they placed restrictions such as (see this survey [START_REF] Razborov | Lower bounds for deterministic and nondeterministic branching programs[END_REF] by Razborov):

• requiring that each branching program in the sequence can have its set of vertices partitioned into levels whose size does not exceed a constant (those are called bounded-width branching programs);

• requiring that each branching program in the sequence can have its set of vertices partitioned into levels, all vertices in one level being labelled with the same input index (those are called oblivious branching programs);

• requiring that each branching program in the sequence verifies that any consistent computation path from the start to a source vertex queries each input variable at most once (those are called read-once branching programs).

In parallel, complexity theorists also started to introduce and study more and more new types of computational models and associated complexity measures: this led to the development of several new threads in computational complexity theory, sometimes deeply linked with (or even rooted in) other domains in mathematics, that brought forth plenty of new questions and further shaped the complicated and rich landscape of complexity classes, but also gave novel insights into central complexity classes. Some of these threads include the following -a much more precise account of them, as well as many other threads, can be found in classical references about computational complexity theory [START_REF] Arora | Computational Complexity -A Modern Approach[END_REF], [START_REF] Perifel | Complexité algorithmique[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF] or historical surveys about the field [START_REF] Fortnow | A short history of computational complexity[END_REF], [START_REF] Impagliazzo | Computational complexity since[END_REF].

• The study of the power of randomness as a computational resource, just like for the case of non-determinism. Or, does allowing a Turing machine to do probabilistic transitions allow it to save some time or space, in comparison to the case in which only deterministic transitions are allowed? How efficiently can we remove the use of randomness in computation?

• The study of the complexity of communication protocols, models of computation where two or more players, each having a distinct input, communicate following a given protocol to compute a function of all of the players' inputs, the complexity of a protocol being measured as the total amount of communication.

• The study of the power of adding quantum computation abilities to basically all models of computation presented so far. The central question, in each case and for each complexity measure, is how the quantum variant compares to the "classical" variants (deterministic, non-deterministic, randomised, etc.) in terms of complexity.

• Descriptive complexity, that seeks to find out how expressive a logic must be so as to express membership in a given language thanks to a formula in that logic.

All these threads in computational complexity theory are still very active at the time of redaction of this manuscript and are also all largely of independent interest. At the beginning of the second millennium, computational complexity theory had definitely become a mathematically important research field, as witnessed by its numerous connections to other domains in mathematics (Aaronson even says that "today (2011, editor's note) it draws on probability, number theory, combinatorics, representation theory, Fourier analysis, and nearly every other subject about which yellow books are written" [START_REF] Aaronson | Why philosophers should care about computational complexity[END_REF]), its active research community as shown above, as well as the mathematical challenging and deep questions it raises [START_REF] Wigderson | NP and mathematics-a computational complexity perspective[END_REF], [START_REF] Allender | A status report on the P versus NP question[END_REF]. Moreover, as Impagliazzo claims, computational complexity theory, though made up of many threads, also exhibits a remarkable unity and connection between those, and "is best tackled as a single, united field, not splintered into specialized subareas [START_REF] Impagliazzo | Computational complexity since[END_REF]. Some authors also point to the importance of computational complexity theory in a wealth of other sciences, as well as in philosophy [START_REF] Wigderson | NP and mathematics-a computational complexity perspective[END_REF], [START_REF] Allender | A status report on the P versus NP question[END_REF], [START_REF] Aaronson | Why philosophers should care about computational complexity[END_REF].

Unfortunately, while all this flurry of activity and new developments since the 1980s brought several new techniques and a variety of new approaches and viewpoints for proving complexity measure lower bounds, significant progress on central complexity measures kept on facing new formal barriers, as explained in [Arora and Barak, 2009, Chapter 23].

In the 2000s and up to the date of writing of this manuscript, computational complexity continued to be developed along the same lines as described above, trying to circumvent these barriers. "Nevertheless", as Perifel puts it [START_REF] Perifel | Complexité algorithmique[END_REF], "the big questions remain without answer. The quest is not finished."

This thesis

The big framework of this Ph.D. thesis is the approach to the L versus P question based on lower bounds on the size of branching programs, its ultimate goal being to prove that there exists a language in P that does not belong to PBP = L/poly, thus settling this dauntingly difficult open question. If we zoom in into the lower levels of the NC hierarchy, we actually have the following: [START_REF] Mahajan | Polynomial size log depth circuits: Between NC 1 and AC 1[END_REF] and [Vollmer, 1999, Figure 4.6], though in these references the inclusion structure is presented for uniform versions of those classes, using a notion of uniformity that we won't elaborate -we refer the interested reader to Vollmer's book [START_REF] Vollmer | Introduction to Circuit Complexity -A Uniform Approach[END_REF]), showing that PBP is well within the NC hierarchy, which is believed to be strict and even such that P NC. However, as we explained in the previous section, strictness of the NC hierarchy is very far from being proven (we only know that AC 0 is stricly included in ACC 0 ) and concerning its relationship to P, the best result currently known is that P ACC 0 [p] for p ∈ N some prime (see Theorem 1.3.8). In fact, though considered extremely unlikely by computational complexity theorists, it still isn't ruled out that actually NP ⊆ ACC 0 (the best result indicating this is wrong known at the time of writing of this thesis is William's result that NTIME(2 n ) ACC 0 [START_REF] Williams | Nonuniform ACC circuit lower bounds[END_REF]). This may be why AC 1 and its subclasses, that already yield a wealth of strikingly difficult and deep questions (also because of fundamental links with formal language theory and logicsee, e.g., [START_REF] Mahajan | Polynomial size log depth circuits: Between NC 1 and AC 1[END_REF] and [Vollmer, 1999, Chapter 4]), of whom most are still open, has been one of the main playgrounds for research in the domain of lower bounds for nonuniform models of computation since the 1980s, as witnessed by Jukna's recent (at the time of writing ot this thesis) book on the subject [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]. (For instance, all lower bound results for restricted types of circuit or branching program models of computation mentioned in the previous subsection are linked to classes inside AC 1 , except for those holding for monotone Boolean circuits.)

AC 0 ⊆ ACC 0 ⊆ NC 1 ⊆ PBP ⊆ PNBP ⊆ AC 1 (see
This thesis precisely falls within this context of searching for lower bounds for complexity measures on non-uniform models of computation corresponding to subclasses of AC 1 : we first study Nečiporuk's method to prove lower bounds for these complexity measures, as well as for some complexity measures on variants of these non-uniform models of computation that may be more powerful (i.e. correspond to classes believed to be bigger than AC 1 ), in Chapter 2, before we move on to a restricted variant of branching programs based on algebraic automata theory concepts capturing NC 1 and its subclasses in Chapter 3 and prove new results about mostly unstudied strict subclasses of AC 0 captured with this variant in Chapter 4 and Chapter 5.

Chapter 2 The Nečiporuk method and its limitations

As explained in the previous chapter, computational complexity theorists do not know how to prove "strong" complexity lower bounds in general non-uniform models of computation and, in fact, relatively few methods exist to prove such bounds at all. Fifty-two years ago, Nečiporuk wrote his famous two-page note entitled "A Boolean function [START_REF] Nečiporuk | On a Boolean function[END_REF]. That note contained the first super-linear lower bounds on the size of Boolean formulae over arbitrary bases and the size of contact schemes needed to compute some explicit Boolean function, both corresponding to subclasses of AC 1 .

Nečiporuk's [START_REF] Nečiporuk | On a Boolean function[END_REF] method still yields the best lower bounds known today for explicit functions in a number of complexity measures. In particular, there are explicit functions for which Nečiporuk's method yields lower bounds of Ω(n 2 / log n) on formula size over an arbitrary basis, Ω(n 2 / log 2 n) on deterministic branching program size and on contact scheme size, and Ω(n 3/2 / log n) on non-deterministic branching program size, switching-and-rectifier network size, parity branching program size and span program size. (All of these complexity measures, except probably for the two last ones, related to subclasses of ACC 1 , are related to subclasses of AC 1 . Those not defined in the previous chapter are specifically defined in Subsection 2.1.3.) All of these are the best known lower bounds for these complexity measures for any explicit function. The first two of these lower bounds are contained in Nečiporuk's original paper [START_REF] Nečiporuk | On a Boolean function[END_REF]. [START_REF] Pudlák | The hierarchy of Boolean circuits[END_REF] points out that Nečiporuk's method yields the third lower bound for non-deterministic branching program size, as well as for switching-and-rectifier network size [START_REF] Razborov | Lower bounds for deterministic and nondeterministic branching programs[END_REF]; [START_REF] Karchmer | On span programs[END_REF] point out that Pudlák's observation extends to parity branching program size and hence also applies to span program size.

Two simple explicit functions that yield the lower bounds mentioned above are the Element Distinctness function and the Indirect Storage Access function (see Subsection 2.1.2).

Nečiporuk's method relies on counting subfunctions induced on blocks in a partition of the input variables, a concept introduced in Subsection 2.1.1. It is natural to try to optimise the use of the method, both in terms of how the bound depends on the numbers of subfunctions for each block in the partition and whether there are functions other than Element Distinctness and Indirect Storage Access for which one can prove stronger lower bounds.

For formula size over arbitrary bases, it is well known (see, e.g., [START_REF] Wegener | The complexity of Boolean functions[END_REF], Savage [1976]) that Θ(n 2 / log n) is indeed the best lower bound obtainable by Nečiporuk's method. [START_REF] Savage | The Complexity of Computing[END_REF] also cites Paterson (unpublished) as improving the constant factor in the bound. Similarly, Θ(n 2 / log 2 n) is the best lower bound obtainable by Nečiporuk's method for deterministic branching program size, as noted by Wegener [Wegener, 1987, p. 422], who states the claim with a hint at its proof. Moreover, [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF] derived the optimal multiplicative constant in this lower bound as a function of the number of subfunctions of f in each block. Beame and McKenzie, in an unpublished note written in 2011 and now integrated in Section 2.2, formally showed that the third lower bound also uses Nečiporuk's method in an optimal way, namely that the best bound on non-deterministic branching program size obtainable by Nečiporuk's method is indeed Θ(n 3/2 / log n), as was already implicitly admitted. We observe that exactly the same arguments allow to show that this is also the best bound on parity branching program size obtainable by Nečiporuk's method. This automatically applies to span program size and switching-and-rectifier network size since these measures are upper-bounded by parity and non-deterministic branching program size, respectively.

The main contribution of this chapter is to be found in Section 2.3, where we define precisely what the Nečiporuk method actually is, independently from any specific complexity measure, so as to provide a unifying framework in which it makes sense to speak about the Nečiporuk method. Indeed, although Nečiporuk published his original result 50 years ago and his "technique" has been treated in several classical references (see [START_REF] Savage | The Complexity of Computing[END_REF], [START_REF] Wegener | The complexity of Boolean functions[END_REF][START_REF] Wegener | Branching Programs and Binary Decision Diagrams[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]), to the best of our knowledge, there did not exist any abstract, measure-independent, unifying definition of the "method" that would encompass all previous applications of the "method" and allow new ones to be carried out easily, or at least in a clear way. The definition we suggest is in fact an abstract version of the general definition that was considered by [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF] for the case of deterministic branching programs. In this abstract framework we can then show, in a generic way, that for any complexity measure, an upper bound on the complexity, for this measure, of computing the Indirect Storage Access function with suitable parameters yields an upper bound on the best lower bound obtainable using Nečiporuk's method (defined that way).

In Section 2.4, we then prove an upper bound on the complexity of all Indirect Storage Access functions for each of the complexity measures introduced in Subsection 2.1.3. We finally use those to prove that the more general and abstract definition of Nečiporuk's lower bound method introduced in this chapter yields the same lower bounds and hits the same limits as those already known in the case of the size measure of non-determinitic and parity branching programs (Section 2.5), deterministic branching programs (Section 2.6) and formulae (Section 2.7), as well as to prove new lower bounds and limitations results, in this framework, for the size measure of limited non-deterministic variants of branching programs (Section 2.6) and formulae (Section 2.7). In each case, the Indirect Storage Access function family with suitable parameters yields the asymptotically best-possible lower bound.

The content of this chapter is almost taken as is from the article [START_REF] Beame | Nondeterminism and an abstract formulation of Nečiporuk's lower bound method[END_REF].

Specific preliminaries

For k ∈ N >0 and a ∈ {0, 1} k we denote by bin k (a) its associated natural number with big-endian representation, i.e. k i=1 a i 2 k-i . Throughout this chapter, the binary representation of a natural number will refer to its big-endian representation.

Boolean functions and subfunctions

In this chapter, we will essentially consider computation of Boolean functions in the following sense: for n ∈ N, an n-ary Boolean function over V is a function f : {0, 1} V → {0, 1}, where V ⊆ N and |V | = n. When V is not specified we assume that V = [n]. A family of Boolean functions is an indexed family F = {f i } i∈I where I ⊆ N and such that for all i ∈ I, f i is a Boolean function of arity i.

Subfunctions will play a key role in the lower bound method studied in this chapter, the intuition being that the more different subfunctions a given Boolean function has, the more difficult it is to compute it.

Let f be an n-ary Boolean function. For any V ⊆ [n] and any ρ ∈ {0, 1} [n]\V , we will denote by f | ρ the subfunction of f on V induced by the partial assignment ρ on [n] \ V , that is the function f | ρ : {0, 1} V → {0, 1} such that for all y ∈ {0, 1} V , we have f | ρ (y) = f (x) where x i = y i for all i ∈ V and x i = ρ(i) for all i ∈ [n] \ V . We will also denote by r V (f ) the total number of subfunctions of f on V , i.e. the cardinality of the set s

V (f ) = {f | ρ | ρ ∈ {0, 1} [n]\V }.
The following easy lemma gives an upper bound on the total number of subfunctions of a given Boolean function on a certain subset of input variable indices. Let f : {0, 1} V → {0, 1} be a Boolean function and i ∈ V . We say that f depends on its i-th variable if there exist a, a ∈ {0, 1} V that differ only in the bit corresponding to i such that f (a) = f (a ) (definition based on [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]). In particular, if f does not depend on a set W of variables and a, a ∈ {0, 1} V differ only on bits whose positions are in W , then f (a) = f (a ). The following proposition shows that variables on which f does not depend do not affect its number of subfunctions.

Lemma 2.1.1. Let f : {0, 1} n → {0, 1} be a Boolean function. For any V ⊆ [n], r V (f ) ≤ min{2 2 |V | , 2 n-|V | }. Proof. Since r V (f ) counts the total number of subfunctions f | ρ : {0, 1} V → {0, 1} of f on V induced by a partial assignment ρ ∈ {0, 1} [n]\V , it
Proposition 2.1.2. Let f : {0, 1} n → {0, 1} be a Boolean function. Let V ⊆ [n] and W ⊆ V such that for all i ∈ W , f does not depend on x i . Then for V = V \ W , r V (f ) = r V (f ).
Proof. We give a bijection from s

V (f ) to s V (f ). For g ∈ s V (f ), say g = f | ρ for some ρ ∈ {0, 1} [n]\V , define ψ(g) ∈ s V (f ) by ψ(g) = g| ζ = f | ρζ where ζ = 0 W assigns 0 to all elements of W . By assumption, for all i ∈ W , f does not depend on x i so for all ζ ∈ {0, 1} W , f | ρζ = f | ρζ ; moreover, it is also easy to see that f | ρζ = f | ρ ζ for any ρ ∈ {0, 1} [n]\V such that g = f | ρ . Now let h ∈ s V (f ).
By definition, there is some ρ ∈ {0, 1} [n]\V and ζ ∈ {0, 1} W such that h = f | ρ ζ and by assumption, the latter equals

f | ρ ζ = ψ(g ) for g = f | ρ and hence ψ is surjective.
Similarly, for g, g ∈ s V (f ) such that g = g , we have that there exists a ∈ {0,

1} V verifying g(a) = g (a). Let ρ, ρ ∈ {0, 1} V such that g = f | ρ and g = f | ρ , and let ζ ∈ {0, 1} W such that ζ (i) = a i for all i ∈ W . Then ψ(g) = f | ρζ = f | ρζ = f | ρ ζ = f | ρ ζ = ψ(g ), so ψ is 1-1 and hence r V (f ) = |s V (f )| = |s V (f )| = r V (f ).
It will often also be useful to enlarge the size of the domain of a Boolean function by adding additional input variables on which the function does not depend in order to obtain complete families of Boolean functions even if we cannot build a specific Boolean function for each possible input size.

(a) = f (a 1 , . . . , a n ) for all a ∈ {0, 1} n . Then, for any V ⊆ [n], r V (f ) = r V (f ). Proof. It is immediate by definition that for V ⊆ [n], s V (f ) = s V (f ).

Hard functions: Indirect Storage Access functions and Element Distinctness

In this section we define two natural families of functions for which Nečiporuk's method is known to produce asymptotically optimal lower bounds for some complexity measures. The first is the Element Distinctness function. The second is the family of Indirect Storage Access functions. These will turn out to be useful in a broader range of applications than the Element Distinctness function and we will see that we can characterise Nečiporuk's method in terms of the bounds it achieves for these functions.

Indirect Storage Access functions seem to have been originally defined by [START_REF] Paul | A 2.5 n-lower bound on the combinational complexity of Boolean functions[END_REF] to give an example of a family of Boolean functions for which we have a trade-off between the minimum sizes of Boolean binary formulae computing them and the minimum sizes of Boolean binary circuits computing them. Definition 2.1.5. The Indirect Storage Access function for k, ∈ N >0 , denoted

ISA k, : {0, 1} k+2 k +2 → {0, 1}
is such that for all a ∈ {0, 1} k+2 k +2 , ISA k, (a) = a γ(a) where γ is computed from a as follows.

Let α(a) be the number represented in binary by the first k bits of a. Let β(a) be the number represented in binary by the sequence of bits of a starting at position k + 1 + • α(a). Then γ(a) is the position k + 2 k + 1 + β(a). Informally speaking, ISA k, is just a function reading a bit using two levels of addressing: a k-bit pointer selects an -bit pointer (among 2 k such pointers) that picks one bit from a 2 -bit data string.

It is known that both these families of Boolean functions yield the asymptotically strongest lower bounds obtainable using Nečiporuk's method for Boolean formula size over arbitrary binary bases, and deterministic branching program complexity [START_REF] Wegener | The complexity of Boolean functions[END_REF], [START_REF] Boppana | The complexity of finite functions[END_REF], [START_REF] Wegener | Branching Programs and Binary Decision Diagrams[END_REF]. The essence of the argument in each case is the existence of a good partition with a large count of the number of subfunctions on the variables of the partition.

Lemma 2.1.6. Let n = 2k • 2 k > 0 for k ∈ N. There is a partition of [n] into blocks V 1 , . . . , V N for N = 2 k such that for all i ∈ [N ], |V i | = 2k and r V i (ED n ) = N 2 N -1 + 1 ≥ N N -1 = 2 k(2 k -1) .
Proof. Each block in the partition V 1 , . . . , V N corresponds to the bits of one of the N numbers for the ED N,N 2 function. Observe that for each assignment of distinct values to the N -1 other blocks, the subfunction induced on the i-th block must be different, since precisely those N -1 values must be avoided for the function to have value 1. There are

N 2
N -1 possible choices of those N -1 distinct values; for other assignments, we get the constant 0 function.

We now see that for different choices of k and , the function family ISA k, provides similar bounds but a more flexible range of parameters to obtain partitions of different sizes.

Definition 2.1.7. In the definition of ISA k, , we will refer to α(a) and β(a) as to the primary and secondary pointers of the ISA k, instance a. The bits of the secondary pointer will be denoted sec 1 , . . . , sec , and more generally the bits of the p-th secondary pointer among the 2 k such pointers in the instance at hand will be denoted sec

[p] 1 , . . . , sec[p] for p ∈ [2 k ].
The 2 data bits will be referred to as Data and Data[b 1 , . . . , b ] will stand for the data bit at position bin (b 1 , . . . , b ) + 1. When the context is clear, bits of a will also be viewed as input variable indices.

We now see that we can partition the set of input variables of ISA k, in such a way that the number of induced subfunctions is identical and maximal for all elements of the partition but one: this is formalised in the following lemma. Lemma 2.1.8. For every k, ∈ N >0 , there exists a partition

V 1 , . . . , V 2 k , U of [k +2 k +2 ] such that |V i | = and r V i (ISA k, ) = 2 2 for all i ∈ [2 k ]. Proof. Let k, ∈ N >0 . Consider the partition [k + 2 k + 2 ] = V 1 • • • V 2 k U where V i is the set {sec[i] 1 , . . . , sec[i]
} of indices of the variables forming the i-th secondary pointer in the ISA k, instance a. Then for each setting of the first k variables a 1 , . . . , a k of a, i.e, for each value i = bin k (a 1 , . . . , a k ) of the primary pointer, every possible fixing of the 2bit data string induces a different subfunction on

V i+1 , hence r V i+1 (ISA k, ) = 2 2 .
From ISA k, we define the Indirect Storage Access functions family ISA = {ISA n } n∈N , such that for all n ∈ N

• if n < 5, ISA n (a) = 0 for all a ∈ {0, 1} n ; • if there exists k ∈ N >0 such that n = h ISA (k), then ISA n = ISA k,k+ log 2 k ; • otherwise, ISA n (a) = ISA k ,k + log 2 k (a 1 , . . . , a n ) for all a ∈ {0, 1} n where k = max{k ∈ N >0 | h ISA (k) < n} and n = h ISA (k ).
where

h ISA : N >0 → N >0 m → m + 2 m (m + log 2 m ) + 2 m+ log 2 m .
ISA will be used to give, for each complexity measure we study in this chapter (this notion will be precisely defined in the next subsection), an actual family of Boolean functions that achieves the best lower bound obtainable using Nečiporuk's lower bound method (to be defined later). The setting of k and in its definition is crucial, because if we would for example set ISA n = ISA k,k for all n ∈ N such that there exists k ∈ N >0 verifying n = k + 2 k k + 2 k , we would not reach the desired bounds.

The next lemma is a simple useful adaptation of Lemma 2.1.8.

Lemma 2.1.9. For all n ∈ N, n ≥ 5, there exist p, q ∈ N >0 verifying p ≥ 1 32 • n log 2 n and q ≥ n 16 such that there exists a partition

V 1 , . . . , V p , U of [n] such that r V i (ISA n ) = 2 q for all i ∈ [p]. Proof. Let n ∈ N, n ≥ 5. Let k ∈ N >0 be the unique positive integer verifying h ISA (k) ≤ n < h ISA (k + 1) . Set n = h ISA (k). By definition we have ISA n = ISA k,k+ log 2 k . Let V 1 , . . . , V 2 k , U be a partition of [n ] such that r V i (ISA n ) = 2 2 k+ log 2 k for all i ∈ [2 k ]
as given by Lemma 2.1.8. Moreover, by definition of ISA n and by Lemma 2.1.3 (for the case in which n < n), we have that r

V i (ISA n ) = r V i (ISA n ) = 2 2 k+ log 2 k for all i ∈ [2 k ].
Set q = 2 k+ log 2 k and p = 2 k . A bit of elementary algebra shows:

n ≤ h ISA (k + 1) ≤ 16 • 2 k+ log 2 k = 16q ≤ 16 • 2 k+log 2 k+1 ≤ 32kp . Hence q ≥ n 16 and p ≥ 1 32 • n k ≥ 1 32 • n log 2 n (as log 2 n ≥ log 2 2 k = k).

Computational models

Note that in this chapter, all the models of computation that we consider are Boolean, in the sense that they all work only on input words over the alphabet {0, 1}.

First, in view of defining a model-independent notion of Nečiporuk's method, we define a complexity measure merely as a function that associates a non-negative integer to each Boolean function, as follows.

Definition 2.1.10. A complexity measure on Boolean functions is a function

M : n∈N {0, 1} {0,1} n → N .
(2.1)

Nečiporuk originally applied his technique to prove lower bounds for the size of BPs and the size of binary formulae, that we are going to define soon; his technique was later used for size of NBPs: all these measures will be considered here. We will also apply it to the size of a variant of NBPs, called parity branching programs, where acceptance depends on the parity of the number of accepting paths. Parity branching programs of polynomial size capture ⊕L, the class of languages such that there exists an NTM running in logarithmic space that has an odd number of paths leading to acceptance for a word if and only if this word belongs to the language. Definition 2.1.11. An NBP P = (X, δ, τ, s, t 0 , t 1 ) on {0, 1} V (for V ⊆ N finite) can also be interpreted as a parity branching program (⊕BP) on {0, 1} V that computes a Boolean function f ⊕ : {0, 1} V → {0, 1} where for all a ∈ {0, 1} V , f ⊕ (a) = 1 if and only if there is an odd number of paths in P [a] from start vertex s to accepting sink vertex t 1 . For any Boolean function f : {0, 1} V → {0, 1} (for V ⊆ N finite) we also denote by ⊕BP(f ) the minimum size of a ⊕BP computing f . Further, we will apply Nečiporuk's method to the size of BPs and binary formulae that have access to a limited amount of non-deterministic bits, measures to which the method doesn't seem to have been applied before. These two models are motivated by the well-known observation that unrestricted non-deterministic Boolean formulae capture NP (see [START_REF] Goldsmith | Limited nondeterminism[END_REF]) and further by Klauck's analysis of restricted nondeterministic formulae [START_REF] Klauck | One-way communication complexity and the Nečiporuk lower bound on formula size[END_REF]. We now define the first of these models, and the associated complexity measure.

Definition 2.1.12. A branching program P is a δ-limited non-deterministic branching

program (δ-LNBP) for f : {0, 1} V → {0, 1} if and only if P is a deterministic branching program computing a function f : {0, 1} V → {0, 1} with V ⊆ V and |V \ V | = δ such that f (a) = b∈{0,1} V \V f (a, b).
The size of the δ-LNBP P , denoted by |P |, is its size as a BP. For any Boolean function f : {0, 1} V → {0, 1} (for V ⊆ N finite) we also denote by LNBP δ (f ) the minimum size of a δ-LNBP computing f . This definition of δ-limited non-deterministic BPs, which does not appear to have been studied previously, is inspired by notions of limited non-determinism for other models [START_REF] Goldsmith | Limited nondeterminism[END_REF], [START_REF] Hromkovic | Nondeterministic communication with a limited number of advice bits[END_REF], [START_REF] Klauck | One-way communication complexity and the Nečiporuk lower bound on formula size[END_REF].

Remark 2.1.13. The limited non-determinism of the δ-LNBP model is formulated in a framework of verification of explicitly represented guesses that is typical for time-bounded non-determinism. In contrast, the NBP model only represents non-deterministic guesses implicitly, which allows them to be used without being stored, as is typical for spacebounded computation. In particular, even if δ is unbounded (say δ = ∞), the smallest ∞-LNBP could be somewhat larger than the smallest equivalent NBP and vice-versa. It is not difficult to see that an NBP of size s can be simulated by such an ∞-LNBP of size at most 2s 2 . Indeed, simulating the k-way branch at a given state in this NBP in an ∞-LNBP can be made by accessing log 2 k fresh non-deterministic bits in a decision tree of size at most k; so since each of the s states of our original NBP branches to at most s different states for each of the possible values 0 or 1, we get that we can simulate it by an ∞-LNBP of size at most 2s 2 . Conversely, however, it is unclear by how much the size would increase when simulating an ∞-LNBP by an NBP, but it is widely conjectured to grow exponentially, since one can prove that polynomial size ∞-LNBPs capture (nonuniform) NP, while polynomial size NBPs capture (non-uniform) NL. Hence, the reader should keep in mind that LNBPs are not a restricted variant of NBPs.

Remark 2.1.14. Two other models comparable to the NBP are switching networks (also called contact schemes), and the more general switching-and-rectifier (RS) networks (see [START_REF] Razborov | Lower bounds for deterministic and nondeterministic branching programs[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]). The graph of an RS network is almost the same as that of an NBP except that its vertices remain unlabelled and each of its arcs is labelled by some literal or remains unlabelled, with the acceptance condition that of the NBP. (Switching networks are a special case of RS networks whose graphs are undirected.) The size of an RS network is the number of its labelled arcs. Note that [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF] calls RS networks "non-deterministic branching programs", but we observe, as did [START_REF] Razborov | Lower bounds for deterministic and nondeterministic branching programs[END_REF], that the size measure of RS networks and the size measure of NBPs used in this thesis are the same to within a constant factor. Indeed, one can simulate NBPs by RS networks of at most twice the size -each NBP vertex becomes an RS vertex with two new successors (one reached by an arc labelled ¬x i , the other reached by an arc labelled x i , where i is the variable index labelling that vertex in the NBP) which have unlabelled arcs pointing to the corresponding successor vertices in the NBP. Conversely, RS networks can be simulated by NBPs of the same size. It can first be assumed w.l.o.g. that any vertex in the RS network only has unlabelled arcs and arcs labelled by literals from the same variable (any vertex having arcs labelled by literals from several different variables can be replaced at no extra cost by a set of vertices connected by unlabelled arcs having the property). Then, for each vertex u in the RS network that has out-arcs labelled x i or ¬x i , we have a vertex u in the NBP labelled i and for each arc e from u to v in the RS network,

• if e is unlabelled, we have two arcs (u , w ) in the NBP, one labelled 0, the other labelled 1, for each vertex w in the RS network that has labelled out-arcs and is reachable from u via an unlabelled path starting with e (that uses unlabelled arcs and whose intermediate vertices do not have labelled out-arcs);

• if e is labelled and v has labelled out-arcs, we have an arc (u , v ) in the NBP labelled accordingly (0 if = ¬x i and

1 if = x i ),
otherwise v only has unlabelled out-arcs, and we have an arc (u , w ) in the NBP labelled accordingly (0 if = ¬x i and 1 if = x i ) for each vertex w in the RS network that has labelled out-arcs and is reachable from v via an unlabelled path.

Span programs [START_REF] Karchmer | On span programs[END_REF] can be simulated by parity branching programs of at most twice the size -their size is also at most polynomial in parity branching program size.

As stated before, we will also apply Nečiporuk's lower bound method to a certain type of restricted circuits, namely binary formulae which are circuits whose underlying graph is a binary tree, whose internal gates may be labelled by any of the 16 possible Boolean functions on 2 variables and whose input gates might also be labelled by a negation of a given variable. The size of such circuits is then given by the number of non-constant leaves they have. Definition 2.1.15 (Deterministic and δ-limited non-deterministic formulae, inspired by [START_REF] Klauck | One-way communication complexity and the Nečiporuk lower bound on formula size[END_REF] and [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]). A (deterministic) Boolean binary formula (BF) ϕ on {0, 1} n (n ∈ N) is a binary tree with • a single root,

• every internal node of arity 2,

• every internal node labelled by a function g : {0, 1} 2 → {0, 1},

• every leaf labelled by one of 0, 1, x 1 , . . . , x n , ¬x 1 , . . . , ¬x n .

The size of ϕ, denoted by |ϕ|, is the number of its non-constant leaves. ϕ computes a Boolean function f ϕ on {0, 1} n in the natural way by function composition. For any Boolean function f : {0, 1} V → {0, 1} (for V ⊆ N finite) we denote by L(f ) the minimum size of a BF computing f . Let δ ∈ N. A δ-limited non-deterministic binary formula (δ-LNBF) on {0, 1} n ϕ is a deterministic binary formula ϕ on {0, 1} n+δ . It computes a Boolean function f ϕ such that for a ∈ {0, 1} n , f ϕ (a) = b∈{0,1} δ f ϕ (a, b). The size of the δ-LNBF ϕ, denoted by |ϕ|, is its size as a BF. For any Boolean function f : {0, 1} V → {0, 1} (for V ⊆ N finite) we also denote by LL δ (f ) the minimum size of a δ-LNBF computing f . For f an n-ary Boolean function (n ∈ N), we call proof-checker function for f any

(n + δ)-ary function g for some δ ∈ N verifying that f (a) = b∈{0,1} δ g(a, b) for all a ∈ {0, 1} n . Lemma 2.1.16. Let δ ∈ N, let g : {0, 1} n+δ → {0, 1} and let f : {0, 1} n → {0, 1} (n ∈ N) be given by f (a) = b∈{0,1} δ g(a, b) for all a ∈ {0, 1} n . Then, for all V ⊆ [n], we have r V (f ) ≤ B(r V (g), 2 δ ) -1 < r V (g) 2 δ where B(m, r) = r i=0 m i is the volume of the Hamming ball of radius r in {0, 1} m . Proof. Let V ⊆ [n]. For ρ ∈ {0, 1} [n]\V , by definition, f | ρ = b∈{0,1} δ g| ρb . Since ρb assigns all variables in [n+δ]\V , each function g| ρb is in s V (g). Therefore, each f | ρ ∈ s V (f ) is the of 2 δ functions in s V (g) (not necessarily distinct).
Therefore over all choices of ρ, the function f | ρ only depends on the set of between 1 and 2 δ among these subfunctions of g that are distinct (and not what values b with which each such subfunction is associated). Therefore there are at most B(r V (g), 2 δ )-1 possible distinct subfunctions f | ρ in s V (f ).

Non-deterministic Branching Program Lower

Bounds via Shannon Bounds

In this section we describe the simplest form of Nečiporuk's technique and its applications in order to give some intuition about the technique. Readers may prefer to skip to the generalised abstract definition of Nečiporuk's method in Section 2.3. The simple version here is based on the so-called "Shannon bounds" for a complexity measure. The Shannon function for a complexity measure maps n to the maximum complexity of any Boolean function over {0, 1} n in that measure. Lower bounds on the Shannon function typically follow by a simple enumeration of the number of distinct functions of bounded measure.

For all n, s ∈ N, and M a complexity measure let us denote by M sem (n, s) the number of distinct n-ary Boolean functions of complexity measure at most s. In particular, define N sem to be the function M sem for NBPs and ⊕ sem be that for ⊕BPs. The next lemma is the core of the simple version of Nečiporuk's technique. Lemma 2.2.1. For any n ∈ N, for any n-ary Boolean function f on V that depends on all its inputs and any partition V 1 , . . . , V p of V we have

NBP(f ) ≥ p i=1 max |V i | , min{s ∈ N | N sem (|V i | , s) ≥ r V i (f )} , ⊕BP(f ) ≥ p i=1 max |V i | , min{s ∈ N | ⊕ sem (|V i | , s) ≥ r V i (f )} .
Proof. Let n ∈ N, f be an n-ary Boolean function on V depending on all its inputs and V 1 , . . . , V p a partition of V . Let P be a Boolean NBP computing f . For all i ∈ [p] we will denote by s i ∈ N the number of vertices in P labelled by elements in V i . It is clear that P is of size at least p i=1 s i . Let i ∈ [p]. Observe that for every subfunction g of f on V i , there is by definition a partial assignment ρ on V \ V i such that f | ρ = g, so it is not too difficult to see that g is computed by the Boolean NBP of size s i obtained from P by: 1. removing all non-sink vertices labelled by elements not in V i ; 2. defining the new start vertex as one of the vertices whose label is in V i and reachable from the start vertex of P by a path of nodes labelled by elements outside of V i and arcs labelled consistently with ρ, then adding both an arc labelled 0 and an arc labelled 1 from this new start vertex to each other such reachable vertex (except for the extreme case of a constant function, in which we just set the start vertex as the appropriate sink vertex);

3. connecting a vertex u to a vertex v by an arc labelled by a ∈ {0, 1} if and only if there exists a path from u to v in P verifying that any intermediate vertex of the path is labelled by an element outside of V i , the first arc is labelled by a and each arc (but the first one) is labelled consistently with ρ.

Thus, r V i (f ) is necessarily upper-bounded by the number of semantically distinct such NBPs we can build from P that way, which is in turn at most N sem (|V i | , s i ). Moreover, since, by construction, f depends on all variables whose indices are in V i , we have that for each element ∈ V i , P contains at least one vertex labelled by , so

s i ≥ |V i |. Hence, for each i, s i ≥ max |V i | , min{s ∈ N | N sem (|V i | , s) ≥ r V i (f )} .
Since the NBP has size at least p i=1 s i and the NBP is arbitrary, the bound of the lemma follows. The same argument also applies directly to yield the bound for ⊕BPs, with ⊕ sem

(|V i | , s) replacing N sem (|V i | , s). Proposition 2.2.2. Let s ≥ n. Then N sem (n, s), ⊕ sem (n, s) < 2 2(s+1) 2 .
Proof. We simply count the number of distinct branching programs. Subject to renaming and reorganising, any n-ary Boolean function computable by an NBP or ⊕BP of size at most s, can be computed by one of size exactly s, having {v j } s+2 j=1 as vertices, v 1 as start vertex, v s+1 as 0-vertex and v s+2 as 1-vertex, where no arc goes to the 0-vertex (that is, since what matters for the computation of both an NBP and a ⊕BP is the number of paths from the start vertex to the 1-vertex, arcs ending in the 0-vertex are unnecessary). The out-arcs at each node v i can be described by the subset of vertices v j , j = i and j = v s+1 , reached on each of values 0 and 1. There are (s -1)! different ways of reordering the names of vertices v 2 , . . . , v s that keep identical connectivity of the branching program and hence the function it computes, both as an NBP and a ⊕BP. Hence, it directly follows that N sem (n, s), ⊕ sem (n, s) ≤ (2 2s n) s /(s -1)! ≤ 2 2s 2 s s /(s -1)!, since s ≥ n, therefore, since s! ≥ (s/e) s , N sem (n, s), ⊕ sem (n, s) ≤ 2 2s 2 se s < 2 2(s+1) 2 . Definition 2.2.3. For the complexity measures M = NBP, ⊕BP, the simple Nečiporuk lower bound method consists of the following.

1. Giving explicitly a non-decreasing function b : N >0 → N such that for any n ∈ N, for any n-ary Boolean function f on V that depends on all its inputs and any partition

V 1 , . . . , V p of V , we have p i=1 max |V i | , min{s ∈ N | M sem (|V i | , s) ≥ r V i (f )} ≥ p i=1 b(r V i (f )).
2. For a given n-ary Boolean function g on V that depends on all the variables whose indices are in V , explicitly choosing a partition V 1 , . . . , V p of V , computing r V i (g) for all i ∈ [p] and concluding that M(g) ≥ p i=1 b(r V i (g)).

A function b satisfying the condition of Step 1 in the definition above is called a simple Nečiporuk function for M.

We now give an explicit simple Nečiporuk function for NBP and ⊕BP. is obviously non-decreasing. Let n ∈ N, f be an n-ary Boolean function f on V depending on all its variables and V 1 , . . . , V p be a partition of

V . Let i ∈ [p]. Let s i = max |V i | , min{s ∈ N | N sem (|V i | , s) ≥ r V i (f )} for all i ∈ [p]. We claim that s i ≥ 1 2 log 2 r V i (f ) -1 for all i ∈ [p]. By definition, N sem (|V i | , s i ) ≥ r V i (f ), and since s i ≥ |V i |, Proposition 2.2.2 implies that N sem (|V i | , s i ) < 2 2(s i +1) 2 and hence 2 2(s i +1) 2 > r V i (f ), that is to say, s i > 1 2 log 2 r V i (f )-1. Since s i is integral, we deduce that s i ≥ 1 2 log 2 r V i (f ) -1 .
The lemma follows for NBP; the argument for ⊕BP is identical replacing N sem by ⊕ sem . This directly gives us the following lower bounds. Proposition 2.2.5 [START_REF] Pudlák | The hierarchy of Boolean circuits[END_REF], [START_REF] Karchmer | On span programs[END_REF]).

NBP(ED

n ), NBP(ISA n ), ⊕BP(ED n ), ⊕BP(ISA n ) ∈ Ω n 3/2 log n .
Proof. We first consider ED n for n = 2k2 k and k ≥ 2. By Lemma 2.1.6 there is a partition

V 1 , . . . , V N of [n] for N = 2 k such that r V i (ED n ) ≥ N N -1 and |V i | = 2k for all i ∈ [N ].
Applying Proposition 2.2.4, since ED n depends on all its variables, we have

NBP(ED n ), ⊕BP(ED n ) ≥ N i=1 1 2 log 2 r V i (ED n ) -1 ≥ N • 1 2 log 2 N N -1 -N ≥ N • N -1 2 log 2 N -N which is in Ω N 3/2 (log 2 N ) 1/2 and hence Ω n 3/2 log n since n is O(N log 2 N ). We now consider ISA. Let n ∈ N, n ≥ 32. Let V 1 , . . . , V p , U be a partition of [n] such that r V i (ISA n ) = 2 q for all i ∈ [p]
where p, q ∈ N >0 verify p ≥1 32 • n log 2 n and q ≥ n 16 as given by Lemma 2.1.9. Applying Proposition 2.2.4, since ISA n depends on all its variables, we have

NBP(ISA n ), ⊕BP(ISA n ) ≥ p i=1 1 2 log 2 r V i (ISA n ) -1 ≥ p i=1 1 2 log 2 (2 q ) -1 = p • q 2 -1 ≥ 1 32 • n log 2 n • n 32 -1 . So NBP(ISA n ), ⊕BP(ISA n ) ∈ Ω n 3/2 log n .
To understand the best lower bounds we can prove with the simple Nečiporuk lower bound method, we first give a lower bound on N sem (n, s) and ⊕ sem (n, s) (valid for suitable values of n, s ∈ N) that will allow us to give an upper bound on all simple Nečiporuk functions for NBP, ⊕BP. We do this by giving an easy upper bound on the size needed by NBPs and ⊕BPs to compute any n-ary Boolean function 1 ; i.e., simple upper bounds on the Shannon function for NBP and ⊕BP. Lemma 2.2.6. For any n-ary Boolean function f on {0, 1} n (n ∈ N),

NBP(f ), ⊕BP(f ) ≤ 3 • 2 n 2 .
Proof. Assume that n = 2t is even. The constructed NBPs will have only one nondeterministic level, will be the same for all functions for the other levels 1 to t -1 and t + 1 to 2t, and every vertex at each level i will query variable x i .

The first t-1 levels form a complete decision tree of height t-1 on variables x 1 , . . . , x t-1 with a vertex at level t for each assignment a 1 • • • a t-1 to these variables. The last t levels of the NBP consist of a complete fan-in tree of height t on variables x t+1 , . . . , x 2t as follows: there is a vertex at level t > t for every assignment a t • • • a 2t to x t , . . . , x t and there is an out-arc labelled a t from this vertex to the vertex at level t + 1 corresponding to a t +1 • • • a 2t . The 1-output vertex has two in-arcs, one labelled a 2t from each vertex corresponding to an assignment a 2t at level 2t.

Finally, we define the non-deterministic level t of the NBP for function f . For each assignment a 1 • • • a 2t on which f evaluates to 1, there is an out-arc labelled a t from the vertex corresponding to a 1 • • • a t-1 at level t (which queries x t ) to the vertex corresponding to a t+1 • • • a 2t at level t + 1.

The constructed NBP has at most 3

• 2 t = 3 • 2 n 2 vertices.
By observing that there is precisely one accepting path on any accepted input, we see that it is also a ⊕BP.

D n ⊆ [n]. Let L : N → N be such that L(n) = max p i=1 max |V i | , min{s ∈ N | N sem (|V i | , s) ≥ r V i (f n )} V 1 , . . . , V p partition D n for all n ∈ N.
Let n ∈ N and V 1 , . . . , V p be a partition of D n . Let i ∈ [p] and set suffice to compute all functions on V i , which include those counted in r V i (f n ),

s i = max |V i | , min{s ∈ N N sem (|V i | , s) ≥ r V i (f n )} . Suppose that s i = min{s ∈ N | N sem (|V i | , s) ≥ r V i (f n )} > |V i |. Since V i is
s i ≤ 3 • 2 V i 2 ≤ 3 • 2 (log 2 log 2 r V i (f ))/2+2 = 12 log 2 r V i (f ) . On the other hand, if |V i | ≥ log 2 log 2 r V i (f ) + 3 then, setting s = 6 log 2 r V i (f ) , we have 2 log 2 s 3 ≤ 2 log 2 6 log 2 r V i (f ) + 1 3 ≤ 2 log 2 7 3 log 2 r V i (f ) ≤ log 2 log 2 r V i (f ) + 3 ≤ |V i | so, by Corollary 2.2.7, we have that N sem (|V i | , s) > 2 s 2 36 ≥ r V i (f ), which means that s i ≤ 6 log 2 r V i (f ) . Therefore, for all n ∈ N, L(n) ≤ max p i=1 max |V i | , 12 log 2 r V i (f ) V 1 , . . . , V p partition D n .
Let n ∈ N, n ≥ 4. By Lemma 2.1.1, it follows that

L(n) ≤ max p i=1 max |V i | , 12 log 2 (min{2 2 V i , 2 n-|V i | }) V 1 , . . . , V p partition D n = max p i=1 max v i , 12 log 2 (min{2 2 v i , 2 n-v i }) p i=1 v i ≤ n and ∀i ∈ [p], v i > 0 ≤ max p i=1 max v i , 12 min{2 v i , n -v i } p i=1 v i = n and ∀i ∈ [p], v i > 0 = max p i=1 h(v i ) p i=1 v i = n and ∀i ∈ [p], v i > 0 ( ) where h(v) = max v, 12 min{2 v/2 , √ n -v} for all v ∈ N. Let now v 1 , . . . , v p realise the maximum in ( ). Clearly, h(v) = 12 • 2 v/2 for all v ∈ N, v ≤ log 2 n -1 and hence h(v) + h(v ) ≤ h(v + v ) if v + v ≤ log 2 n -1.
It follows that without loss of generality we can assume that there exists at most one j ∈

[p] such that v j is smaller than log 2 n-1 2 . Such a small v j has h(v j ) = 12 • 2 v j /2 < 12 • n 1/4 . Let now I ⊆ [p] such that i ∈ I if and only if h(v i ) = v i . We have that i∈I h(v i ) ≤ n by definition of v 1 , . . . , v p . Moreover, in [p] \ I, there are at most 2n log 2 n-1 elements, since for all i ∈ [p] \ {j}, v i ≥ log 2 n-1 2 , and each such i verifies h(v i ) ≤ 12 √ n -v i ≤ 12 √ n. Hence, L(n) ≤ p i=1 h(v i ) ≤ 24 • n 3/2 log 2 n -1 + 12 • n 1/4 + n ≤ 74 • n 3/2 log 2 n
which completes the proof, as the case of ⊕BPs is treated identically.

Limitations of this Formulation

Simply using some adaptation of Definition 2.2.3 would not allow us to recover the wellknown Ω n 2 log n lower bound on the size of binary formulae contained in Nečiporuk's original article [START_REF] Nečiporuk | On a Boolean function[END_REF]. Indeed, for all n, s ∈ N, let us denote by F sem (n, s) the number of n-ary Boolean functions on some fixed V computable by BFs of size at most s. We can prove a Lemma analogous to Lemma 2.2.1 where NBP is replaced by L and N sem by F sem . Similarly, we can define the simple Nečiporuk lower bound method for L as in Definition 2.2.3, as well as simple Nečiporuk functions for L accordingly. However, Lupanov showed [START_REF] Lupanov | On the complexity of the realization of the functions of an algebra of logic by formulas[END_REF], see [Jukna, 2012, p.32]) that for all n ∈ N, any nary Boolean function on some V can be computed by a BF of size at most α • 2 n log 2 n for some constant α ∈ R >0 (a result which is analogous to Lemma 2.2.6). Following the same strategy as for the proofs of Corollary 2.2.7 and Theorem 2.2.8, we can show that this implies there exists a constant β ∈ R >0 such that any simple Nečiporuk function b :

N >0 → N for L verifies b(m) ≤ β • log 2 m
log 2 log 2 log 2 m for any sufficiently large m ∈ N >0 . This means that this does not allow us to recover the well-known Nečiporuk bounding function of m → 1 4 log 2 m (see e.g. [Jukna, 2012, Theorem 6.16]), and therefore also not Nečiporuk's original lower bound.

Even if we managed to adapt Definition 2.2.3 to the case of binary formulae, we cannot really do it in a clean way for all complexity measures we would like to study. If we were to try to adapt Lemma 2.2.1 to the case of the size of limited non-deterministic branching programs (LNBPs), we would define, as usual, for all n, s, δ ∈ N, the number LN sem (n, s, δ) of n-ary Boolean functions on some fixed V computable by LNBPs of size at most s and using δ non-deterministic bits. But then, it would be false to say that for any δ, n ∈ N, for any n-ary Boolean function f depending on all of V and any partition

V 1 , . . . , V p of V we have LNBP δ (f ) ≥ p i=1 max |V i | , min{s ∈ N | LN sem (|V i | , s, δ) ≥ r V i (f )}
(this would induce an overcount, as we would most certainly count vertices corresponding to non-deterministic variables several times). These considerations led us to the more general formulation of the Nečiporuk method described in the next section.

An abstract formulation of Nečiporuk's method

In this section we define an abstract version of Nečiporuk's lower bound method and provide some model-independent meta-results on the limitations of this method.

The main idea of the general version of the method is, for a given Boolean function, to partition its set of input variables and to lower bound its complexity by a sum over each element of the partition of a partial cost that depends only on the number of subfunctions of the function on the variables in this element. More formally, we state the method in the following way.

M(f ) ≥ p i=1 b(r V i (f )) .
2. For a given n-ary Boolean function g, explicitly choosing a partition V 1 , . . . , V p of [n], computing r V i (g) for all i ∈ [p] and concluding that M(g) ≥ p i=1 b(r V i (g)).

A function b satisfying the condition of Step 1 in Nečiporuk's method is called a Nečiporuk function for M and we denote by N M the set of all Nečiporuk functions for M.

The first step of Definition 2.3.1 is usually not included in the Nečiporuk method. For instance in [START_REF] Wegener | The complexity of Boolean functions[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF], an explicit Nečiporuk function b is given for a complexity measure M and therefore the result concerning the limitation of the method is relative to this function b. In the case of deterministic branching programs, the best possible b was given by [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF], who use a similar definition but we are not aware of any result of this kind for other complexity measures.

It follows from Definition 2.3.1 that the best lower bound achievable by the Nečiporuk method for a family F = {f n } n∈N of Boolean functions and a complexity measure M is the function N M F :

n → max p i=1 b(r V i (f n )) b ∈ N M ∧ V 1 , . . . , V p partition of [n] . (2.2)

Meta-results on Nečiporuk's method

We now give two results concerning Nečiporuk's method depending on hypotheses on the complexity measure M. We will apply these results in the next section with the appropriate constants and functions for each of the concrete computational models we consider in this chapter.

The first meta-result is that an upper bound on the complexity of the functions ISA k,k implies an upper bound on every b ∈ N M . Intuitively this is possible because by definition, b entails a lower bound on M(f ) for every function f . Lemma 2.3.2. Let M be a given complexity measure on Boolean functions and assume that we have a non-decreasing function g

M : [1, +∞[ → R ≥0 such that M(ISA k,k ) ≤ g M (k) for all k ∈ N >0 and there exists a constant α ∈ R >0 such that g M (k+1) g M (k) ≤ α for all k ∈ N >0 . Then, any b ∈ N M is such that b(m) ≤ α • g M (log 2 log 2 m) log 2 m for all m ∈ N, m ≥ 4. Proof. Let b ∈ N M . Let m ∈ N, m ≥ 4 and k ∈ N >0 be such that 2 2 k ≤ m ≤ 2 2 k+1 . Hence 2 k ≤ log 2 m ≤ 2 k+1 and of course k ≤ log 2 log 2 m ≤ k + 1. Consider now ISA k+1,k+1 . By Lemma 2.1.8 we have a partition V 1 , . . . , V 2 k+1 , U of the set of indices [(k + 1) + 2 k+1 (k + 1) + 2 k+1 ] of the input variables of ISA k+1,k+1 such that r V i (ISA k+1,k+1 ) = 2 2 k+1 for all i ∈ [2 k+1 ]
. By hypothesis, it therefore follows that:

g M (k + 1) ≥ M(ISA k+1,k+1 ) ≥ 2 k+1 i=1 b(r V i (ISA k+1,k+1 )) + b(r U (ISA k+1,k+1 )) ≥ 2 k+1 i=1 b 2 2 k+1 = 2 k+1 b 2 2 k+1 , therefore b(2 2 k+1 ) ≤ g M (k+1) 2 k+1 . But since g M (k+1) g M (k) ≤ α, g M (k) ≤ g M (log 2 log 2 m) (because g M is non-decreasing and 1 ≤ k ≤ log 2 log 2 m), b is non-decreasing and m ≤ 2 2 k+1 we have b(m) ≤ b 2 2 k+1 ≤ g M (k + 1) 2 k+1 ≤ α • g M (log 2 log 2 m) log 2 m .
The lemma follows.

Assuming an upper bound on every b ∈ N M , as given for instance by the previous lemma, we can derive an upper bound on N M F independently of the family of Boolean functions F . That is to say that we can give an overall (asymptotic) upper bound on the best complexity lower bounds we may obtain using Nečiporuk's lower bound method for the complexity measure M, exhibiting the limitation of the method.

Lemma 2.3.3. Let M be a given complexity measure on Boolean functions and assume that we have a function

h M : [4, +∞[ → R ≥0 such that there exist x 0 ∈ [2 8 , +∞[ and a constant α ∈ R >0 verifying that: (i) h M is non-decreasing on [x 0 , +∞[; (ii) h M (2 x ) ≥ log 2 x for all x ∈ [log 2 x 0 , +∞[; (iii) h M (2 2 v ) + h M (2 2 v ) ≤ h M (2 2 v+v ) for all v, v ∈ N verifying 2 2 v ≥ x 0 and 2 2 v ≥ x 0 ; (iv) for all b ∈ N M and m ∈ N, m ≥ 4, we have b(m) ≤ α • h M (m).
Then, for any family of Boolean functions F = {f n } n∈N , we have

N M F (n) ≤ α • 4 + h M ( x 0 ) • n log 2 n • h M (2 n ) for all n ∈ N, n ≥ log 2 x 0 .
Proof. The condition n ≥ log 2 x 0 ensures that h M (2 n ) is always well defined and satisfies (ii). Let F = {f n } n∈N be a family of Boolean functions. For all n ∈ N >0 , let

h n : [n] → R be the function defined on [n] by h n (v) =    α • min{h M (2 2 v ), h M (2 n-v )} if min{2 2 v , 2 n-v } ≥ x 0 α • h M ( x 0 ) otherwise for all v ∈ [n]. Claim 2.3.4. If n ∈ N >0 and v ∈ [n] are such that v ≤ log 2 n -1 and 2 2 v ≥ x 0 then h n (v) = α • h M (2 2 v ).
Proof. With the hypothesis of the claim we have

2 2 v ≤ 2 2 log 2 n-1 = 2 n 2 ≤ 2 n-log 2 n+1 ≤ 2 n-v ,
the middle inequality being a consequence of n ≥ log 2 x 0 ≥ 8. Hence in this case min{22 v , 2 n-v } = 2 2 v which is greater than x 0 . As by (i) h M is non-decreasing we have

h n (v) = α • h M (2 2 v ). Let n ∈ N >0 , b ∈ N M and V ⊆ [n], V = ∅. According to (iv), we have b(m) ≤ α•h M (m) for all m ∈ N, m ≥ 4. Moreover, by Lemma 2.1.1, we have r V (f n ) ≤ min{2 2 |V | , 2 n-|V | }, so since b is non-decreasing, it follows that b(r V (f n )) ≤ b(min{2 2 |V | , 2 n-|V | }). Now, if min{2 2 |V | , 2 n-|V | } ≥ x 0 , we get that b(min{2 2 |V | , 2 n-|V | }) ≤ α • h M (min{2 2 |V | , 2 n-|V | }) by (iv) = α • min{h M (2 2 |V | ), h M (2 n-|V | )} by (i) = h n (|V |) ; otherwise (i.e. min{2 2 |V | , 2 n-|V | } < x 0 ), we get that b(min{2 2 |V | , 2 n-|V | }) ≤ b( x 0 ) ≤ α • h M ( x 0 ) = h n (|V |) since b is non-decreasing and x 0 ≥ 4. Hence, b(r V (f n )) ≤ h n (|V |) for all n ∈ N >0 , b ∈ N M and V ⊆ [n], V = ∅.
Therefore, by definition, it follows that for all n ∈ N >0 , we have

N M F (n) = max p i=1 b(r V i (f n )) b ∈ N M and V 1 , . . . , V p partition of [n] ≤ max p i=1 h n (|V i |) V 1 , . . . , V p partition of [n] = max p i=1 h n (v i ) p i=1 v i = n and ∀i ∈ [p], v i > 0 . ( )
Let n ∈ N, n ≥ log 2 x 0 and v 1 , . . . , v p ∈ N >0 such that p i=1 v i = n that realises the maximum ( ). We first show that without loss of generality we can assume that there exists at most one j ∈ [p] such that min{2 2 v j , 2 n-v j } ≥ x 0 and v j ≤ log 2 n-1 If this is not the case then we have

v, v ∈ [n] such that min{2 2 v , 2 n-v , 2 2 v , 2 n-v } ≥ x 0 and v + v ≤ log 2 n -1. It follows from (iii) and Claim 2.3.4 that h n (v) + h n (v ) = α • (h M (2 2 v ) + h M (2 2 v )) ≤ α • h M (2 2 v+v ). But as v ≤ v + v ≤ log 2 n -1, we have min{2 2 v+v , 2 n-(v+v ) } = 2 2 v+v ≥ 2 2 v = min{2 2 v , 2 n-v } ≥ x 0 ; hence by Claim 2.3.4, α • h M (2 2 v+v ) = h n (v + v ) and h n (v) + h n (v ) ≤ h n (v + v
) and the partition that unifies the corresponding elements would yield a bound at least as big in ( ).

If it exists this j is such that

h n (v j ) = α • h M (2 2 v j ) ≤ α • h M 2 2 log 2 n-1 2 ≤ α • h M (2 n ).
Consider now the remaining elements of the partition, i.e. those i ∈ [p] \ {j}. If moreover we have min{2

2 v i , 2 n-v i } ≥ x 0 then by definition of h n we have h n (v i ) ≤ α • h M (2 n-v i ) ≤ α • h M (2 n ) .
As for this case we have v i > log 2 n-1 2 there are at most

2n log 2 n-1 such i. Notice that n log 2 n-1 ≤ 3 2 • n log 2 n for n ≥ 8. If otherwise min{2 2 v i , 2 n-v i } < x 0 , then we have h n (v i ) = α • h M ( x 0 )
and there are at most n such i.

Putting all together, we get that

N M F (n) ≤ max p i=1 h n (v i ) p i=1 v i = n and ∀i ∈ [p], v i > 0 ≤ α • h M (2 n ) + 3n log 2 n • α • h M (2 n ) + n • α • h M ( x 0 ) ≤ α • h M (2 n ) + 3n log 2 n • α • h M (2 n ) + h M (2 n ) log 2 n • n • α • h M ( x 0 ) by (ii) ≤ α • 4 + h M ( x 0 ) • n log 2 n • h M (2 n ).

Upper Bounds for the Computation of ISA k,

The ISA k, functions play a critical role in our approach to studying Nečiporuk's method. This section collects size upper bounds for computing ISA k, on every model considered in this chapter. These bounds will be required when limits to the Nečiporuk method for these models are investigated.

Theorem 2.4.1. Let δ ∈ N. For all k, ∈ N >0 ,

NBP(ISA k, ), ⊕BP(ISA k, ) ≤ 3 • 2 k+ 2 + 2 (2.3) LNBP δ (ISA k, ) ≤    12 • 2 k max 2 -δ -δ , + 2 2 -δ -δ if > δ 2 k (3 + 1) + 2 • 2 if ≤ δ (2.4) BP(ISA k, ) ≤ 9 • 2 k+ + 2 2 (2.5) LL δ (ISA k, ) ≤ 12 • 2 k • max{2 -δ , } + 3 • 2 (2.6) L(ISA k, ) ≤ 7 • 2 k • 2 . (2.7)
Proof. Recall the notation used to refer to the bits of an ISA k, instance a. Here we further use a 1 , . . . , a k for the bits of the primary pointer p and (when relevant) x n+1 , . . . , x n+δ for the non-deterministic variables.

We begin with simple constructions: Proof. For (1), a full binary tree suffices. For ( 2), a size-3 program can test whether v i = y i for a fixed i, so a cascade of k such programs can check equality for every i.

For (3), an inverted binary tree first queries v 1 at each of 2 k leaves s w , w ∈ {0, 1} k ; each answer a ∈ {0, 1} branches from s w to the unique state s w , among 2 k-1 states at the next level, for which w = aw ; each state at this next level queries v 2 and branches to one of 2 k-2 states at the next level, and so on, down to level k with two states querying v k , for a total of 1≤i≤k 2 i states; every missing arc in the above description rejects.

For (4), the formula 1≤i≤k [(v i ∧ y i ) ∨ (¬v i ∧ ¬y i )] expanded into a binary tree has 4k leaves.

For (5), we note that (¬v 1 ∧z 1 )∨(v 1 ∧z 2 ) computes z bin 1 (v 1 )+1 and use induction, having computed z bin k (0,v 2 ,...,v k )+1 from the leaves z 1 , . . . , z 2 k-1 and the 2 i leaves v i+1 or ¬v i+1 for i ∈ [k -1], and having computed z bin k (1,v 2 ,...,v k )+1 similarly from the leaves z 2 k-1 +1 , . . . , z 2 k and 2 i further leaves v i+1 or ¬v i+1 for i ∈

[k -1]. The NBP case. If = 1 then, by Lemma 2.4.2.1, a (deterministic) BP of size 2 k - 1 + 2 k + 2 < 3 • 2 k+ /2 + 2 computes ISA k, . So let > 1.
For every w ∈ {0, 1} /2 , w ∈ {0, 1} /2 and p ∈ [2 k ], the NBP will have states s (w,w ) , (p , s w ) and p . Together with further states, the NBP implements the following:

• Read bits a 1 , . . . , a k , sec 1 , . . . , sec /2 .

• Guess w ∈ {0, 1} /2 and branch to s (sec 1 ,...,sec /2 ,w ) , forgetting a 1 , . . . , a k .

(For every w ∈ {0, 1} /2 and for every a ∈ {0, 1}, every state querying sec /2 , i.e., every bottom node in the binary tree formed by the first stage, is connected to the state s (sec 1 ,...,sec /2 -1 ,a,w ) with an arc labelled a.)

• If Data[sec 1 , . . . ,
(2 /2 + 2 • 2 /2 -2) + 2 k+1 + 2 , which equals 2 k (3 • 2 /2 ) + 2 when is even and 2 k ( 4 √ 2 • 2 /2 ) + 2 < 2 k (3 • 2 /2
) + 2 when is odd. The ⊕BP case. It is easy to check that the above NBP has a unique accepting path for any input for which ISA k, is 1 and hence as a ⊕BP it also computes ISA k, .

The LNBP δ case. If ≤ δ then the secondary ISA k, pointer is no wider than δ, i.e., contains no more than δ bits. So a δ-LNBP can "store" the secondary pointer within its first non-deterministic variables x n+1 , . . . , x n+ and solve ISA k, as follows:

• Read the primary pointer.

• Check that (sec 1 , . . . , sec ) = (x n+1 , . . . , x n+ ).

• Forget everything.

• Read x n+1 , . . . , x n+ .

• Check that Data[x n+1 , . . . , x n+ ] = 1.

The first and second steps use 2 k -1 and 2 k 3 states respectively, appealing to Lemma 2.4.2.1 and Lemma 2.4.2.2. Note that across the second step, neither the secondary pointer nor x n+1 , . . . , x n+ are remembered. The third step merges every arc that survived the second step and thus requires no state. The fourth and fifth steps require 2 -1 and 2 states, for a total

< 2 k + 2 k 3 + 2 • 2 .
Now suppose that > δ, i.e., the secondary pointer is strictly wider than δ. Let m ∈ [ -δ -1], to be set optimally later. A δ-LNBP can implement the following strategy, where grey-shaded regions in the diagrams indicate the portion of the ISA k, variables that are remembered, at exponential cost in numbers of states, at any given time.

1. Read the primary pointer: 52 3. Read -m -δ other contiguous bits from the secondary pointer: 9. Read the secondary pointer bits that were never yet accessed: 10. Output the appropriate data bit from memory: no state required.

The resulting δ-LNBP has fewer than

2 k + 2 k 3δ + 2 k 2 -δ-m + 2 -m + 2 -m 2 2 m + 2 k 2 2 m + 2 k 2 m 2 2 m states, which is less than 12 • 2 k max 2 -δ -δ , + 2 2 -δ -δ when m is set to log 2 -δ -log 2 (( -δ) 2
) and -δ ≥ 8 (and the degenerate case in which 1 ≤ -δ < 8 is treated separately by using a simpler method to compute ISA k, ).

The BP case. Follows from the LNBP δ case by setting δ = 0. More specifically, stages 2 and 5 in the construction of the δ-LNBP are skipped.

The δ-LL case. We will not exploit more than non-deterministic variables amongst x n+1 , . . . , x n+δ so we suppose that δ ≤ . Let m = -δ. The non-deterministic formula V ∧ D solves ISA k, provided that V and D fulfil V = 1 iff (sec m+1 , . . . , sec ) = (x n+1 , . . . , x n+δ ),

D = 1 iff Data[F 1 , . . . , F m , x n+1 , . . . , x n+δ ] = 1,
and for 1 ≤ j ≤ m, F j evaluates to sec j . By Lemma 2.4.2.5, D exists such that

|D| = 2 + Σ m j=1 2 j • |F j | + Σ j=m+1 2 j < 3 • 2 + Σ m j=1 2 j • |F j | . (2.8)
By Lemma 2.4.2.5, each formula F j , 1 ≤ j ≤ m, can be constructed of size

|F j | = 2 k + Σ k j=1 2 j < 3 • 2 k . ( 2
k as V 1 , . . . , V 2 k . The size of V is then |V | = 2 k j=1 |V j | + k j=1 2 j < 2 k • 4δ + 2 k+1 ≤ 2 k • 6 .
(2.10) Substituting (2.9) into (2.8) and using (2.10), the size of V ∧ D is at most

2 k • 6 + 3 • 2 + 2 m+1 3 • 2 k ≤ 6 • 2 k ( + 2 m ) + 3 • 2 ≤ 12 • 2 k • max{2 m , } + 3 • 2 .
The L case. Follows from the δ-LL case by setting δ = 0. More sharply, V from that construction is not needed, and

|D| = 2 + j=1 2 j |F j | < 2 + 3 • 2 k • 2 +1 < 7 • 2 k • 2 .

Non-deterministic and Parity Branching

Programs revisited

We note in this section that, in the case of NBP and ⊕BP, the flexibility added by Definition 2.3.1 over Definition 2.2.3 yields no better lower bounds.

We first define the function b NBP,⊕BP :

N >0 → N by b NBP,⊕BP (m) =    1 2 log 2 m -1 if m ≥ 4 0 otherwise
for all m ∈ N >0 . Using the same strategy as in the proofs of Lemma 2.

(n), N NBP ISA (n), N ⊕BP ED (n), N ⊕BP ISA (n) are all Ω n 3/2 log n .
Then, we can show that b NBP,⊕BP is in fact the asymptotically largest function in N NBP ∪ N ⊕BP and that the previous lower bound is in fact also the asymptotically largest we may obtain. To do this, we appeal to our upper bound from Theorem 2.4.1 on the size of NBPs and ⊕BPs computing ISA k, and apply Lemma 2.3.2. for all x ∈ [1, +∞[. Theorem 2.4.1 tells us that for all k ∈ N >0 , we have

NBP(ISA k,k ), ⊕BP(ISA k,k ) ≤ 3 • 2 3 2 k + 2 k ≤ 4 • 2 3 2 k = g(k)
and moreover, g(k+1) g(k

) = 4•2 3 2 (k+1) 4•2 3 2 k = 2 √ 2 for all k ∈ N >0 . Therefore, by Lemma 2.3.2, any b ∈ N NBP ∪ N ⊕BP verifies b(m) ≤ 2 √ 2 • g(log 2 log 2 m) log 2 m = 2 √ 2 • 4 • 2 3 2 log 2 log 2 m log 2 m = 8 √ 2 • log 2 m
for all m ∈ N, m ≥ 4.

Finally, using this and Lemma 2.3.3, we get the following result, showing that the asymptotically greatest lower bound we may expect using Nečiporuk's method for NBP and ⊕BP is (asymptotically) equivalent to the lower bound for ISA given in Proposition 2.5.2.

Theorem 2.5.4. For any family of Boolean functions

F = {f n } n∈N , N NBP F (n), N ⊕BP F (n) ∈ O n 3/2 log n .
Proof. We aim at applying Lemma 2.3.3 which requires four hypotheses, (i) to (iv). For (i), let h : [4, +∞[ → R ≥0 be the function defined by h(x) = log 2 x for all x ∈ [4, +∞[ and x 0 = 2 8 ; as required, h is non-decreasing on [2 8 , +∞[.

For (ii), notice that h(2 x ) = √ x ≥ log 2 x for all x ∈ [2 8 , +∞[. For (iii), for all v, v ∈ N verifying 2 2 v ≥ 2 8 and 2 2 v ≥ 2 8 , we have h(2 2 v ) + h(2 2 v ) = √ 2 v + √ 2 v ≤ √ 2 v+v = h(2 2 v+v ) because x + y ≤ xy when x, y ≥ 2.
For (iv), by Proposition 2.5.3, we know that there exists a constant α ∈ R >0 verifying that any b

∈ N NBP ∪N ⊕BP is such that b(m) ≤ α• log 2 m = α•h(m) for all m ∈ N, m ≥ 4.
We can therefore apply Lemma 2.3.3 with x 0 = 2 8 and get that for any family of Boolean functions F = {f n } n∈N and all n ∈ N, n ≥ 8,

N NBP F (n), N ⊕BP F (n) ≤ α • 4 + h( 2 8 ) • n log 2 n • h(2 n ) = c • n log 2 n • √ n = c • n 3/2 log 2 n 57 for some suitable constant c ∈ R >0 , which implies that N NBP F (n), N ⊕BP F (n) ∈ O n 3/2 log n .

Deterministic and Limited Non-deterministic

Branching Programs

In this section, we focus on the model of Boolean deterministic branching programs, as well as its limited non-deterministic counterpart. In the case of BP, results related to the Nečiporuk method have been well-known for a long time (see for instance [Wegener, 1987, Chapter 14, Section 3] or [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF]). Reproving these results using what we presented in Section 2.3 is an opportunity to confirm the usability and validity of our approach.

Concerning limited non-deterministic branching programs, the definition of the model itself, as well as the results presented in this section concerning Nečiporuk's method for the associated measure seem to be novel.

For all δ ∈ N, let us define the functions b LNBP δ : N >0 → N and b BP :

N >0 → N given by b LNBP δ (m) =    1 6 h LNBP δ (m) if m ≥ 4 0 otherwise and b BP (m) =    1 6 log 2 m log 2 log 2 m if m ≥ 4 0 otherwise for all m ∈ N >0 , where h LNBP δ : [4, +∞[ → R is defined as h LNBP δ (x) =    max log 2 x 2 δ (log 2 log 2 x-δ) , log 2 log 2 x if 2 2 δ+1 ≤ x log 2 log 2 x otherwise .
It is straightforward to see that b BP (m) ≤ b LNBP 0 (m) for all m ∈ N >0 and that equality holds as soon as b BP (m) ≥ log 2 log 2 m.

To prove that b BP ∈ N BP , we reuse the well-known idea that is classically followed (see for instance [START_REF] Wegener | The complexity of Boolean functions[END_REF], [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF] or [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]) to derive a specific function b ∈ N BP , which is the fact that, given a Boolean function f and a Boolean BP P that computes it, we can compute any subfunction f | ρ of f with a Boolean BP obtained from P by "fixing" the values of the variables to which a value is affected by ρ (removing the associated vertices and directly linking their predecessors to their successors through the arcs labelled accordingly). Therefore, if we denote by s the number of vertices in P labelled by elements from V , we get that an upper bound on the maximum number of subfunctions computed by BPs with s vertices obtained by "fixing" the values of a given set of variables in a given BP implies a lower bound on s depending on r V (f ), as this number must be at least as big as r V (f ). For the case of limited non-determinism, it suffices to observe that a Boolean δ-LNBP (for δ ∈ N) computing some Boolean function f does in fact deterministically compute a proof-checker function g for f . We can then combine the aforementioned technique with Lemma 2.1.16 binding the number of subfunctions of f on V and the number of subfunctions of g on V .

Proposition 2.6.1. b LNBP δ ∈ N LNBP δ for all δ ∈ N. In particular, b BP ∈ N BP .

Proof. Let δ ∈ N. It is not too difficult to show that b LNBP δ and b BP are non-decreasing, we leave this to the reader.

Let f be an n-ary Boolean function on V , that verifies without loss of generality V ∩ [δ] = ∅, and V 1 , . . . , V p a partition of V . Let P be a Boolean δ-LNBP computing f and let g be the (n + δ)-ary Boolean function computed by P when considering the δ nondeterministic bits as regular input variables (that is, g is such that, for all a ∈ {0, 1} V ∪[δ] , g(a) = 1 if, and only if, P [a] contains a path from s to t 1 ). g is a proof-checker function for f . For all i ∈ [p] we will denote by s i ∈ N the number of vertices in P labelled by elements in V i , as well as q ∈ N the number of vertices labelled by elements in

U = [δ]. It is clear that P is of size p i=1 s i + q ≥ p i=1 s i . We now claim that s i ≥ b LNBP δ (r V i (f )) for all i ∈ [p]. Let i ∈ [p]
. Let V i be the subset of V i containing all indices of variables on which f depends. Then, by Lemma 2.1.2, r V i (f ) = r V i (f ). Moreover for each element l ∈ V i , P contains at least one vertex labelled by l. By Lemma 2.1.1, it follows that r

V i (f ) = r V i (f ) ≤ 2 2 V i ≤ 2 2 s i and s i ≥ log 2 log 2 (r V i (f )). If r V i (f ) ≤ 3 the claim is obvious from the definition of b LNBP δ .
In the case where

4 ≤ r V i (f ) < 4 2 δ we have 1 6 log 2 log 2 (r V i (f )) = b LNBP δ (r V i (f )
) and we are also done as s i is an integer and

s i ≥ log 2 log 2 (r V i (f )).
We now assume r V i (f ) ≥ 4 2 δ . In particular this implies that s i ≥ 1.

Observe that for all h : {0, 1} V i → {0, 1} a subfunction of g on V i , by definition, there exists a partial assignment ρ ∈ {0, 1} V \V i ∪ [δ] such that g| ρ = h, so it is not too difficult to see that h is computed by the Boolean BP of size s i obtained from P by: 1. removing all non-sink vertices labelled by elements not in V i ; 2. defining the new start vertex as the only vertex whose label is in V i and reachable from the start vertex of P by a path of nodes labelled by elements outside of V i and arcs labelled consistently with ρ;

3. connecting a vertex u to a vertex v by an arc labelled by a ∈ {0, 1} if and only if there exists a path from u to v in P verifying that any intermediate vertex of the path is labelled by an element outside of V i , the first arc is labelled by a and each arc (but the first one) is labelled consistently with ρ.

Thus, r V i (g) is necessarily upper-bounded by the number of syntactically distinct such BPs we can build from P that way. Since, for such a BP, there are at most s i + 2 possible choices for the start vertex and by functionality of the set of arcs labelled 0 and the set of arcs labelled 1 seen as successor relations, there are at most (s i + 1) s i possible choices for the set of arcs labelled 0, as well as at most (s i + 1) s i possible choices for the set of arcs labelled 1, r V i (g) is at most (s i + 2)(s i + 1) 2s i . Assuming 2 ≤ s i we get:

r V i (g) ≤ (s i + 2)(s i + 1) 2s i = 2 log 2 (s i +2)+2s i log 2 (s i +1) ≤ 2 3s i log 2 (s i +2) ≤ 2 6s i log 2 (s i ) as 2 ≤ s i . It follows that s i ≥ 1 6 • log 2 (r V i (g)) log 2 log 2 (r V i (g)) . If s i = 1 it is clear as r V i (g
) is then at most 4, and if s i ≥ 2 we would otherwise have

s i log 2 (s i ) < 1 6 • log 2 (r V i (g)) log 2 log 2 (r V i (g)) log 2 1 6 • log 2 (r V i (g)) log 2 log 2 (r V i (g)) = log 2 (r V i (g)) 6 - log 2 (r V i (g)) log 2 6 log 2 log 2 (r V i (g)) 6 log 2 log 2 (r V i (g)) < log 2 (r V i (g)) 6
(observe that the last inequality follows from the fact that the subtracted member must necessarily be positive since

r V i (g) ≥ 4). From Lemma 2.1.16 we have r V i (g) ≥ r V i (f ) 1 2 δ . The function log 2 (x)
log 2 log 2 (x) being non-decreasing on e e ln (2) , +∞ and as log 2 (x) log 2 log 2 (x) ≤ 2 for x ∈ 4, e e ln (2) , we get for r V i (f )

1 2 δ ≥ 4: s i ≥ 1 6 • log 2 (r V i (f )) 2 δ log 2 log 2 (r V i (f )) -δ .
In conclusion, for all δ, n ∈ N, and any n-ary Boolean function f on V and any par-

tition V 1 , . . . , V p of V , it holds that LNBP δ (f ) ≥ p i=1 b LNBP δ (r V i (f )), hence b LNBP δ ∈ N LNBP δ . It also directly follows that b BP ∈ N BP because b BP is non-decreasing and b BP (m) ≤ b LNBP 0 (m) for all m ∈ N >0 . Let us define Γ LNBP : [2, +∞[ × N >0 → R by Γ(x, δ) =    max x 2 2 δ (log 2 x-δ) log 2 x , x if 2 δ+1 ≤ x x otherwise for all (x, δ) ∈ [2, +∞[ × N >0 .
Using the previous proposition and Lemma 2.1.9, we can immediately derive the following asymptotic lower bound on N

LNBP ∆(n) ISA for any ∆ : N → N. Proposition 2.6.2. N LNBP ∆(n) ISA (n) ∈ Ω Γ LNBP (n, ∆(n)) for any ∆ : N → N. In partic- ular, N BP ISA (n) ∈ Ω n 2 log 2 n . Proof. Let ∆ : N → N. Let n ∈ N, n ≥ 32. Let V 1 , . . . , V p , U be a partition of [n] such that r V i (ISA n ) = 2 q for all i ∈ [p] where p, q ∈ N >0 verify p ≥ 1 32 • n log 2 n
and q ≥ n 16 as given by Lemma 2.1.9. We have, as log 2

n 16 ≥ log 2 n 16 and x → 1 6 h LNBP ∆(n) (x) is non- decreasing on [4, +∞[ (facts which are not too difficult to prove), that N LNBP ∆(n) ISA (n) ≥ p i=1 b LNBP ∆(n) (r V i (ISA n )) + b LNBP ∆(n) (r U (ISA n )) ≥ p i=1 b LNBP ∆(n) (2 q ) ≥ 1 6 • 1 32 • n log 2 n •    max n 16 2 ∆(n) (log 2 ( n 16 )-∆(n)) , log 2 ( n 16 ) if 4 2 ∆(n) ≤ 2 n 16 log 2 ( n 16 ) otherwise ≥ 1 192 • n log 2 n • 1 16 •    max n 2 ∆(n) (log 2 (n)-∆(n)) , log 2 n if 2 ∆(n)+5 ≤ n log 2 n otherwise ≥ c 3072 • n log 2 n •    max n 2 ∆(n) (log 2 (n)-∆(n)) , log 2 n if 2 ∆(n)+1 ≤ n log 2 n otherwise for some c below = c 3072 •    max n 2 2 ∆(n) (log 2 (n)-∆(n)) log 2 n , n if 2 ∆(n)+1 ≤ n n otherwise = c 3072 • Γ LNBP (n, ∆(n))
as desired .

In order to show the inequality above it suffices to show that log 2 α+5 ], α ≥ 0 and some constant c.

2 x ≥ cx 2 α (log 2 (x)-α) for x ∈ I = [2 α+1 ,
It suffices to show that the function f (x) = 2 α log 2 (x) log 2 ( x 2 α ) -cx is non-decreasing on I. This concludes the claim as f (2 α+1 ) = 2 α (α + 1) -c2 α+1 ≥ 0 when α ≥ 0 andc ≤ 1 2 . To see this notice that the derivative of f is 2 α log 2 x

x ln 2 +

log 2 ( x 2 α ) x ln 2 -c that has the same sign as g(x) = 2 α log 2 x 2 2 α -xc ln 2 for x ∈ I. The derivative of g is 2 α+1
x ln 2 -c ln 2 that vanishes for a value

x 0 = 2 α+1 c(ln 2) 2 . Assuming c ≤ 1 2 4 (ln 2) 2 we have x 0 ≥ 2 α+5
and the derivative of g is always non-negative on I. We have g(2 α+1 ) = 2 α (α + 2 -2c ln 2) which is non-negative as soon as c ≤ 1 ln 2 . Hence g is non-negative on I.

Hence taking c = 1 2 4 (ln 2) 2 yields the desired result.

Now we show that for all δ ∈ N, b LNBP δ is in fact an asymptotically largest function in N LNBP δ (as well as for b BP and N BP ) and that the previous bound is in fact also the asymptotically largest we may obtain, using the meta-results of Section 2.3. To do this, we appeal to our upper bound from Theorem 2.4.1 on the size of a δ-LNBP (or a deterministic BP) computing ISA k, and apply Lemma 2.3.2. Theorem 2.4.1 tells us that for all k ∈ N >0 , we have

Proposition 2.6.3. There exists a constant

c ∈ R >0 verifying that for each δ ∈ N, any b ∈ N LNBP δ is such that b(m) ≤ c • b LNBP δ (m) for all m ∈ N, m ≥ 4. In particular, there exists a constant c ∈ R >0 verifying that any b ∈ N BP is such that b(m) ≤ c • b BP (m) for all m ∈ N, m ≥ 4. Proof. Let δ ∈ N. Let g : [1, +∞[ → R ≥0 be the non-decreasing function defined by g(x) = 13 • 2 x •    max 2 x-δ x-δ , x if δ + 1 ≤ x x otherwise for all x ∈ [1, +∞[.
LNBP δ (ISA k,k ) ≤    12 • 2 k max 2 k-δ k-δ , k + 2 2k-δ k-δ if δ + 1 ≤ k 2 k (3k + 1) + 2 • 2 k otherwise ≤    2 k 12 max 2 k-δ k-δ , k + 2 k-δ k-δ if δ + 1 ≤ k 6 • 2 k k otherwise as k ≥ 1 ≤ g(k)
and moreover, g(k+1) g(k) ≤ 4 for all k ∈ N >0 . Indeed, let k ∈ N >0 , there are two cases to consider:

• if g(k + 1) = 13 • 2 k+1 (k + 1) then notice that we always have g(k) ≥ 13 • 2 k • k. Therefore we get g(k+1) g(k) ≤ 13•2 k+1 (k+1) 13•2 k k = 2(1 + 1 k ) ≤ 4; • otherwise g(k + 1) = 13 • 2 k+1 2 k+1-δ k+1-δ and notice that either g(k) ≥ 13 • 2 k 2 k-δ k-δ or k = δ. If k = δ it is simple to check that g(k+1) g(k)
≤ 4 , otherwise we have

g(k+1) g(k) ≤ 13•2 k+1 2 k+1-δ k+1-δ 13•2 k 2 k-δ k-δ = 4 • k-δ k+1-δ ≤ 4. Therefore, by Lemma 2.3.2, any b ∈ N LNBP δ verifies b(m) ≤ 4 • g(log 2 log 2 m) log 2 m = 4 • 13 • 2 log 2 log 2 m    max 2 log 2 log 2 (m)-δ log 2 log 2 (m)-δ , log 2 log 2 m if δ + 1 ≤ log 2 log 2 m log 2 log 2 m otherwise log 2 m = 52 •    max log 2 m 2 δ (log 2 log 2 (m)-δ) , log 2 log 2 m if 2 2 δ+1 ≤ m log 2 log 2 m otherwise ≤ c • b LNBP δ (m)
for all m ∈ N, m ≥ 4, where c ∈ R >0 is a sufficiently large constant.

In the case where δ = 0 notice that for m ≥ 4 we have log 2 log 2 m ≤ d • log 2 x log 2 log 2 x for some suitable constant d.

So we can also conclude that for any b

∈ N BP = N LNBP 0 , we have b(m) ≤ 52 • max log 2 m log 2 log 2 m , log 2 log 2 m ≤ c • log 2 m log 2 log 2 m for all m ∈ N, m ≥ 4, where c ∈ R >0 is a sufficiently large constant.
Finally, using this and Lemma 2.3.3, we get the following result, showing that the asymptotically greatest lower bound we may expect using Nečiporuk's method for LNBP δ for any δ ∈ N is (asymptotically) equivalent to the lower bound for ISA given in Proposition 2.6.2. Theorem 2.6.4. For any family of Boolean functions F = {f n } n∈N and any ∆ :

N → N, N LNBP ∆(n) F (n) ∈ O Γ LNBP (n, ∆(n)) . In particular, N BP F (n) ∈ O n 2 log 2 n .
Proof. Let δ ∈ N. We aim at applying Lemma 2.3.3 which requires four hypotheses, (i) to (iv). For (i), we set h as h

(x) = h LNBP δ (x) for all x ∈ [4, +∞[ and x 0 = 2 8 . One can verify that h is non-decreasing on [2 8 , +∞[. For (ii), for all x ∈ [4, +∞[, we have h(2 x ) ≥ log 2 log 2 (2 x ) = log 2 x. For (iii), for all v, v ∈ N verifying 2 2 v ≥ 2 8 and 2 2 v ≥ 2 8 , we need to show that h(2 2 v ) + h(2 2 v ) ≤ h(2 2 v+v ).
There are three cases to consider.

• If h(2 2 v ) = log 2 log 2 (2 2 v ) = v and h(2 2 v ) = log 2 log 2 (2 2 v ) = v , then h(2 2 v ) + h(2 2 v ) = v + v = log 2 log 2 (2 2 v+v ) ≤ h(2 2 v+v ). • If h(2 2 v ) = log 2 (2 2 v ) 2 δ (log 2 log 2 (2 2 v )-δ) = 2 v-δ v-δ > v and h(2 2 v ) = log 2 log 2 (2 2 v ) = v , then we necessarily have v = δ + η for some η > 0. Notice that η ≥ 2 because if η = 1 then v < 2, a contradiction.
We conclude by showing that h( 2

2 v ) + h(2 2 v ) = 2 v-δ v-δ + v ≤ 2 η+v η+v ≤ h(2 2 v+v ).
Only the first inequality is non immediate. To see it, consider the function f

(x) = 2 η+x -( 2 η η + x)(η + x).
A simple calculation shows that it is non-decreasing for x ≥ 2 and η ≥ 2. The inequality follows as f (2) is non-negative when η ≥ 2.

• In the remaining case

h(2 2 v ) = 2 v-δ v-δ > v and h(2 2 v ) = 2 v -δ v -δ > v . It implies that v ≥ δ +1 and v ≥ δ +1.
Arguing as above we actually have v ≥ δ +2 and v ≥ δ +2, otherwise v or v would be smaller than 2. We then have: h( 2

2 v ) + h(2 2 v ) = 2 v-δ v-δ + 2 v -δ v -δ ≤ 2 v+v -2δ (v-δ)(v -δ) ≤ 2 v+v -2δ v+v -2δ ≤ h(2 2 v+v -δ ) ≤ h(2 2 v+v
). The first and second inequality are because x + y ≤ xy when both x and y are greater than 2 (in the second case we use that v -δ ≥ 2 and v -δ ≥ 2). The third one is by definition of h and the last one by monotonicity of h.

For (iv), by Proposition 2.6.3, we know that there exists a constant α

∈ R >0 verifying that any b ∈ N LNBP δ is such that b(m) ≤ α • h(m) for all m ∈ N, m ≥ 4.
We can therefore apply Lemma 2.3.3 with x 0 = 2 8 and get that for any family of Boolean functions F = {f n } n∈N and all n ∈ N, n ≥ 8,

N LNBP δ F (n) ≤ α • 4 + h(2 8 ) • n log 2 n • h(2 n ) = c • n log 2 n •    max n 2 δ (log 2 (n)-δ) , log 2 n if 2 2 δ+1 ≤ 2 n log 2 n otherwise = c •    max{ n 2 2 δ (log 2 (n)-δ) log 2 n , n} if 2 δ+1 ≤ n n otherwise = c • Γ LNBP (n, δ)
for some suitable constant c ∈ R >0 . Thus, since this holds for all δ ∈ N, we get the desired result.

Deterministic and Limited Non-deterministic

Formulae

In this section, we focus on the model of Boolean binary formulae and its limited nondeterministic variant. L is one of the two measures that were considered in Nečiporuk's original article [START_REF] Nečiporuk | On a Boolean function[END_REF] who gave an Ω( n 2 log n ) lower bound for this complexity measure. If the model is restricted to the case of binary formulae where only 2-ary AND and OR gates can be used, stronger lower bounds can be proven, the best known for instance being almost cubic and due to Håstad (see [START_REF] Håstad | The shrinkage exponent of de Morgan formulas is 2[END_REF]). Just as in Section 2.6, results for the Nečiporuk method for binary formulae are known (see for instance [Wegener, 1987, Chapter 8, Section 7]), but we do not know about any attempt to consider the method in its full generality: an approach that would explicitly try to find the best Nečiporuk function as done in [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF] for the case of BPs rather than just giving one.

Concerning limited non-deterministic binary formulae, Nečiporuk's lower bound method never seems to have been applied to the associated complexity measure, at least in a direct combinatorial sense that excludes Klauck's communication complexity formulation of the method [START_REF] Klauck | One-way communication complexity and the Nečiporuk lower bound on formula size[END_REF].

For all δ ∈ N, let us define the function b LL δ :

N >0 → N given by b LL δ (m) =    1 4 max log 2 m 2 δ , log 2 log 2 m if m ≥ 4 0 otherwise
for all m ∈ N >0 . We denote by b L the function b LL 0 . We first prove that b L ∈ N L and b LL δ ∈ N LL δ . This is similar to the limited non-deterministic branching program case.

Proposition 2.7.1. b LL δ ∈ N LL δ for all δ ∈ N. In particular, b L ∈ N L . Proof. Let δ ∈ N. It is fairly obvious that b LL δ is non-decreasing.
Let f be an n-ary Boolean function on V , that verifies without loss of generality V ∩ [δ] = ∅, and V 1 , . . . , V p a partition of V . Let φ be a Boolean δ-LNBF computing f and let g be the (n + δ)-ary Boolean function computed by φ when considering the δ non-deterministic bits as regular input variables.

For all i ∈ [p] we will denote by s i ∈ N the number of leaves in φ labelled by literals whose variable indices are in V i , as well as q ∈ N the number of leaves in φ labelled by literals whose variable indices are not in

V . It is clear that |φ| = p i=1 s i + q ≥ p i=1 s i . To conclude it remains to show that s i ≥ b LL δ (r V i (f )) for all i ∈ [p]. Fix i ∈ [p]. The claim is obvious if r V i (f ) ≤ 3 hence we assume r V i (f ) ≥ 4. Let V i be the subset of V i containing all indices of variables on which f depends. Then, by Lemma 2.1.2, r V i (f ) = r V i (f ). Moreover for each l ∈ V i , φ contains at least one leaf labelled by a literal whose variable index is l. By Lemma 2.1.1, it follows that r V i (f ) = r V i (f ) ≤ 2 2 V i ≤ 2 2 s i . So we can conclude that s i ≥ log 2 log 2 (r V i (f )). If r V i (f ) ≤ 2 2 δ+1 , we have 1 4 • log 2 (r V i (f )) 2 δ ≤ 1 4 • log 2 2 2 δ+1 2 δ = 1 ≤ 1 4 • log 2 log 2 (r V i (f )) .
and therefore

s i ≥ b LL δ (r V i (f )).
It remains to consider the case where

r V i (f ) > 2 2 δ+1 . Notice that this implies s i > 0, as 2 2 s i ≥ r V i (f ).
This part of the proof is taken from classical references, e.g. [Wegener, 1987, Proof of Theorem 7.1] or [Jukna, 2012, Proof of Theorem 6.16]. We denote by T i the subtree of φ consisting of all paths from a leaf with a label in V i to the root of φ. This tree has nodes of fan-in 0, 1 or 2 and is non-empty since s i > 0. Let W i be the set of nodes of T i that have fan-in 2 and notice that |W i | ≤ s i -1. Let P i be the set of paths in T i starting from a leaf or a node in W i and ending in a node in W i or in the root of T i and containing no node in W i as inner node. Notice that

|P i | ≤ 2 |W i | + 1 ≤ 2s i .
For any partial assignment ρ ∈ {0,

1} V \V i ∪[δ]
, we obtain a formula φ| ρ of size s i computing g| ρ by replacing each variable in V \ V i ∪ [δ] by the appropriate constant given by ρ. This assignment induces that any part of φ| ρ corresponding to a path p in P i , either computes a constant function, or is the identity or negates its input. Reciprocally any of these four choices on p induces a subfunction of g. Hence we have r

V i (g) ≤ 4 |P i | ≤ 2 4s i .
As g is a proof-checker function for f , from Lemma 2.1.16 it follows that r

V i (g) ≥ r V i (f ) 1 2 δ , therefore s i ≥ 1 4 log 2 (r V i (g)) ≥ 1 4 log 2 r V i (f ) 1 2 δ = 1 4 • log 2 (r V i (f )) 2 δ .
Altogether, we have

s i ≥ 1 4 max log 2 (r V i (f )) 2 δ , log 2 log 2 (r V i (f )) , which implies that s i ≥ b LL δ (r V i (f )) as s i is integral.
In conclusion for any n-ary Boolean function f on V and any partition

V 1 , . . . , V p of V , it holds that LL δ (f ) ≥ p i=1 b LL δ (r V i (f )), hence b LL δ ∈ N LL δ .
Using this and Lemma 2.1.9, we can immediately derive the following asymptotic lower bound on N

LL ∆(n) ISA . Proposition 2.7.2. N LL ∆(n) ISA (n) ∈ Ω max n 2 2 ∆(n) log 2 n , n for any ∆ : N → N. In partic- ular, N L ISA (n) ∈ Ω n 2 log n . Proof. Let ∆ : N → N. Let n ∈ N, n ≥ 32. Let V 1 , . . . , V p , U be a partition of V such that r V i (ISA n ) = 2 q for all i ∈ [p]
where p, q ∈ N >0 verify p ≥ 1 32 • n log 2 n and q ≥ n 16 as given by Lemma 2.1.9. We have

N LL ∆(n) ISA (n) ≥ p i=1 b LL ∆(n) (r V i (ISA n )) + b LL ∆(n) (r U (ISA n )) ≥ p i=1 1 4 • max log 2 (2 q ) 2 ∆(n) , log 2 log 2 (2 q ) = p • 1 4 • max q 2 ∆(n) , log 2 q ≥ c 1 • n log 2 n • max n 16 • 2 ∆(n) , log 2 n 16 ≥ c 2 • max n 2 2 ∆(n) log 2 n , n because n ≥ 32 implies log 2 n 16 ≥ log 2 n 16
for some suitable constants c 1 , c 2 ∈ R >0 .

We now show that for all δ ∈ N, b LL δ is in fact an asymptotically largest function in N LL δ . To this end, we appeal to the upper bound on LL δ (ISA k, ) from Theorem 2.4.1 and apply Lemma 2.3.2.

Proposition 2.7.3. There exists a constant

c ∈ R >0 verifying that for each δ ∈ N, any b ∈ N LL δ is such that b(m) ≤ c • b LL δ (m) for all m ∈ N, m ≥ 4. Proof. Fix δ ∈ N. Let g : [1, +∞[ → R ≥0 be the non-decreasing function defined by g(x) = 15 • 2 x • max{2 x-δ , x} for all x ∈ [1, +∞[. Notice that g(k+1) g(k) ≤ 4 for all k ∈ N >0 . Moreover, from Theorem 2.4.1 we have LL δ (ISA k,k ) ≤ 12 • 2 k • max{2 k-δ , k} + 3 • 2 k ≤ g(k) for all k ∈ N >0 . Therefore, by Lemma 2.3.2, any b ∈ N LL δ verifies b(m) ≤ 4 • g(log 2 log 2 m) log 2 m = 4 • 15 • 2 log 2 log 2 m • max{2 log 2 log 2 (m)-δ , log 2 log 2 m} log 2 m = 60 • max log 2 m 2 δ , log 2 log 2 m ≤ c • b LL δ (m)
for all m ∈ N, m ≥ 4, where c ∈ R >0 is a sufficiently large constant.

Finally, using this and Lemma 2.3.3, we show that the asymptotically greatest lower bound we may expect using Nečiporuk's method for LL δ for any δ ∈ N is (asymptotically) equivalent to the lower bound for ISA given in Proposition 2.7.2. Theorem 2.7.4. For any family of Boolean functions F = {f n } n∈N and any ∆ :

N → N, N LL ∆(n) F (n) ∈ O max n 2 2 ∆(n) log 2 n , n . In particular, N L F (n) ∈ O n 2 log n .
Proof. Fix δ ∈ N. We aim at applying Lemma 2.3.3 which requires four hypotheses, (i) to (iv). For (i), let h : [4, +∞[ → R ≥0 be the function defined by 2 8 and2 2 v ≥ 2 8 , there are two cases to consider. andh(2 2 v ) = log 2 log 2 (2 2

h(x) = max log 2 x 2 δ , log 2 log 2 x for all x ∈ [4, +∞[ and x 0 = 2 8 ; as required, h is non-decreasing on [2 8 , +∞[. For (ii), for all x ∈ [4, +∞[, we have h(2 x ) ≥ log 2 log 2 (2 x ) = log 2 x. For (iii), for all v, v ∈ N verifying 2 2 v ≥ 2 8 and 2 2 v ≥ 2 8 , we have h(2 2 v ) + h(2 2 v ) ≤ h(2 2 v+v ). Indeed, let v, v ∈ N such that 2 2 v ≥
• If h(2 2 v ) = log 2 log 2 (2 2 v ) = v
v ) = v , then h(2 2 v ) + h(2 2 v ) = v + v = log 2 log 2 (2 2 v+v ) ≤ h(2 2 v+v ).
• Otherwise, there is at least one w ∈ {v, v } such that h(2

2 w ) = log 2 (2 2 w ) 2 δ = 2 w-δ : assume without loss of generality that it is v. Then, since 2 2 v ≥ 16, we have v ≥ 2, so by hypothesis, it follows that 2 v-δ > v ≥ 2. Moreover, h(2 2 v ) = max{2 v -δ , v } ≤ 2 v
, so using our usual observation about the relationship between the sum and the product of two real numbers greater than or equal to 2, we get h( 2

2 v ) + h(2 2 v ) ≤ 2 v-δ + 2 v ≤ 2 v+v -δ = log 2 (2 2 v+v ) 2 δ ≤ h(2 2 v+v ).
For (iv), by Proposition 2.7.3, we know that there exists a constant

α ∈ R >0 verifying that any b ∈ N LL δ is such that b(m) ≤ α • h(m) for all m ∈ N, ≥ 4.
Therefore, by Lemma 2.3.3, for any family of Boolean functions F = {f n } n∈N and all n ≥ 8, we have

N LL δ F (n) ≤ α • 4 + h( 2 8 ) • n log 2 n • h(2 n ) ≤ c • n log 2 n • max n 2 δ , log 2 n = c • max n 2 2 δ log 2 n , n
for some suitable constant c ∈ R >0 . Thus, since this holds for all δ ∈ N, we get the desired result.

Final insights

In this chapter, we have proposed a general interpretation of what it means to say "the method of Nečiporuk". We have applied the method to several complexity measures, as reported in Table 2.I, and shown in particular that the limitations of the method are very much determined by the complexity of the Indirect Storage Access function under each measure, at least for those we studied in this chapter. We observe incidentally that this also applies to the size measure of B 2 -circuits: while one can show that m → log 2 log 2 m -1 is a Nečiporuk function for that measure, one sees that ISA k, can be computed by a Boolean circuit of size at most 2 k (k + 2 ) + 3 • 2 (so in linear size). This implies asymptotic optimality of that Nečiporuk function and further implies that the best lower bound one might expect using Nečiporuk's method for the size of Boolean circuits is linear. Thus, our framework also applies to Boolean circuits, even though it only allows to re-derive the well-known result that Nečiporuk's method is unable prove superlinear circuit size lower bounds. Indeed, as shown by Uhlig in 1991, there exist Boolean functions having exponentially many different subfunctions that can be computed by linear-size Boolean circuits (see [Jukna, 2012, Remark 6.19]). Note that our focus was not on optimising the constant factors in the bounds obtained, most of which can certainly be improved.

Our abstract definition of a Nečiporuk function was inspired by [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF]. Our definition has the benefit of not specifying the way in which such a function is obtained, be it some "semantic count" of the number of different Boolean functions computable with a given cost, some "syntactic count" of the number of different devices of that cost as done usually, or any other technique. While in the literature, "Nečiporuk-style theorems" refer to giving an explicit Nečiporuk function as defined in step 1 in Definition 2.3.1 [START_REF] Wegener | The complexity of Boolean functions[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF], [START_REF] Alon | On Nečiporuk's theorem for branching programs[END_REF], it is natural to ask whether we could even further twist the definition of a Nečiporuk function to get more out of the method.

Looking at our meta-results and how we draw the limitation results for Nečiporuk's method applied to a specific measure M, namely using an upper bound on the ISA k,k function for all k ∈ N >0 , we observe that the main weakness of the method arises from the requirement that a Nečiporuk function for M must verify the conditions presented in step 1 of Definition 2.3.1 for every Boolean function. A natural question is therefore whether restricting the class of Boolean functions for which these conditions should be verified by a Nečiporuk function for M would allow to get stronger Nečiporuk functions (and thus, lower bounds) for M for this specific class of Boolean functions. This seems to be an interesting question to us, but is not treated in this chapter. Another interesting similar question that was suggested to us by one of the anonymous referees of [START_REF] Beame | Nondeterminism and an abstract formulation of Nečiporuk's lower bound method[END_REF] is whether relaxing the condition "for any partition" in step 1 of Definition 2.3.1 to "there exists a partition" would allow to get stronger Nečiporuk functions.

Complexity measure

Best lower bound obtainable

Size of NBPs

Θ n 3/2 log n Size of ⊕BPs Θ n 3/2 log n Size of LNBPs using ∆(n) non-deterministic bits Θ n 2 2 ∆(n) (log 2 (n)-∆(n)) log 2 n ( ) Size of BPs Θ n 2 log 2 n Size of LNBFs using ∆(n) non-deterministic bits Θ n 2 2 ∆(n) log 2 n ( ) Size of BFs Θ n 2 log n
Table 2.I -Bounds for the Indirect Storage Access function, which this chapter shows to be the best lower bounds obtainable by Nečiporuk's method for any function. The star indicates that the true function is more complicated; however, this current formulation holds for all ∆ :

N → N verifying ∆(n) ≤ log 2 n -1 for all n ∈ N.
Chapter 3

Algebraic automata theory and computational complexity theory

As we have seen in Section 1.4 of Chapter 1, while AC 1 is believed to be well within the (presumed) NC hierarchy, its internal structure and its relationship to classes like P or even NP are far from being elucidated and are at the heart of some of the most challenging open questions in computational complexity theory at the time of writing of thesis. And this is still true if one restricts to NC 1 . The main objectives of this chapter are to introduce the program-over-monoid formalism, that gives an algebraic-automata-theoretic viewpoint on NC 1 and its subclasses, and to prove some modest new general results about this formalism. But first, we provide the necessary background in finite semigroup theory (Section 3.1) and its connections to finite automata theory (Section 3.2). We then move on in Section 3.3 to define programs over monoids, explain their importance as well as the challenges that arise in their study, and give their general properties. We also lay out how our contributions fit within the body of research aiming to understand their power in some restricted settings. In Section 3.4, we study the link between regular languages and programs over monoids, explain its importance and introduce a notion of tameness as a tool to understand it better. This prepares the way for the last two chapter of the thesis, each dedicated to analysing the computational power of programs over monoids in a particular restricted setting.

Finite semigroup theory

Finite semigroup theory has had, and still has, an immense impact in the study of finite automata and is at the core of what is called algebraic automata theory.

We present the necessary background in this section and refer the reader to the classical references by [START_REF] Eilenberg | Automata, Languages, and Machines, volume A[END_REF], 1976] and [START_REF] Pin | Varieties Of Formal Languages[END_REF], as well as [START_REF] Pin | Mathematical Foundations of Automata Theory[END_REF], for a more thorough introduction to the theory of finite semigroups.

Basic definitions

We start with the definition of a semigroup and that of a monoid.

Definition 3.1.1. An internal composition law on a set E is a mapping from E × E to E. Definition 3.1.2. A semigroup is a pair (S, * )
where S is a non-empty set and * is an internal composition law on S such that * is associative: for all x, y, z ∈ S, (x * y) * z = x * (y * z).

The order of (S, * ) is the number of elements of S. The order of (M, * ) is the number of elements of M .

Remark 3.1.4. A semigroup (monoid) with one unique element is called a trivial semigroup (monoid).

Remark 3.1.5. For any semigroup or monoid (S, * ), we might sometimes write xy instead of x * y when it is clear from the context and call * multiplication or product of (S, * ).

For X and Y two subsets of S, we shall denote by X * Y , or XY when the context is clear, the subset {xy | x ∈ X, y ∈ Y } of S. When X = {x} for some x ∈ S or Y = {y} for some y ∈ S, we shall abuse notation and respectively write xY instead of XY or Xy instead of XY .

Formally, for any p ∈ N >0 and x ∈ S, we shall denote by x * ,p the p-th power of x, that is to say, the unique element of S obtained by multiplying x (through * ) iteratively by itself p -1 times; we shall write x p when the context is clear.

Remark 3.1.6. For each monoid (M, * ), it is easy to see that it has a unique neutral element, called the neutral element (or the identity element or the identity) of (M, * ), unambiguously denoted by 1 (M, * ) .

An example of a semigroup that isn't a monoid is (N >0 , +) where + denotes the canonical addition on the set of positive natural numbers. However, (N, +) where + denotes the canonical addition on the set of natural numbers is a monoid with identity 0, and in the same way (Z, +) is also a monoid with identity 0. Given d ∈ N, d ≥ 2, an example of a finite monoid is (Z/d Z, +) where + denotes the canonical addition modulo d, which has identity 0; but also (Z/d Z, ×) where × denotes the canonical product modulo d, which is a monoid with identity 1.

On rare occasions, we might also appeal to the notion of groups, monoids in which each element can be inverted, defined next. Definition 3.1.7. A group is a pair (G, * ) that is a monoid verifying additionally that any element of G is invertible: for each g ∈ G, there exists g ∈ G such that g * g = g * g = 1 (G, * ) , called an inverse of g.

Looking at the previous examples

, (N, +) isn't a group, but (Z, +) is. Similarly, given d ∈ N, d ≥ 2, (Z/d Z, +) is a group while (Z/d Z, ×) isn't.
It is sometimes useful to talk about the monoid obtained from a semigroup by adding an identity element to it if it does not already contain one, as defined below. Definition 3.1.8. Let (S, * ) be a semigroup. We will denote by (S, * ) 1 = (S 1 , * 1 ) the monoid equal to (S, * ) if the latter is already a monoid and otherwise such that S 1 = S ∪ {1} where 1 is a new element and * 1 is the internal composition law on S 1 extending * such that s * 1 1 = 1 * 1 s = s for all s ∈ S 1 and s 1 * 1 s 2 = s 1 * s 2 for all s 1 , s 2 ∈ S.

A very important notion is the notion of semigroup and monoid congruences. Definition 3.1.9. Let (S, * ) be a semigroup. A congruence ∼ on the semigroup (S, * ) is a stable equivalence relation on S, i.e. such that for all s, t ∈ S and u, v ∈ S 1 , we have s ∼ t implies u * 1 s * 1 v ∼ u * 1 t * 1 v. We will denote by (S, * )/∼ = (S/∼, * /∼) the quotient semigroup of (S, * ) by ∼ where * /∼ is the internal composition law on S/∼ defined by

[s] ∼ * /∼ [t] ∼ = [s * t] ∼ for all [s] ∼ , [t] ∼ ∈ S/∼.
We define congruence on monoids and quotient monoid of another monoid by a congruence in the same way, by replacing "semigroup" with "monoid".

The most fundamental transformation in algebra is that of a (homo)morphism, defined below in the case of semigroups and monoids. Definition 3.1.10. Let (S, * ) and (T, ⊥) be two semigroups. A mapping ϕ : S → T is a semigroup morphism from (S, * ) to (T, ⊥) if and only if for all s 1 , s 2 ∈ S, ϕ(s 1 )⊥ϕ(s 2 ) = ϕ(s 1 * s 2 ). The semigroup morphism ϕ is called injective, surjective and bijective if and only if the associated mapping has these properties. Moreover, we call ϕ a:

• semigroup isomorphism if and only if it is bijective (in that case, (S, * ) and (T, ⊥) are called isomorphic);

• semigroup endomorphism if and only if (S, * ) = (T, ⊥);

• semigroup automorphism if and only if ϕ is both a semigroup isomorphism and endomorphism.

Definition 3.1.11. Let (M, * ) and (N, ⊥) be two monoids. A mapping ϕ : andϕ(1 (M, * ) ) = 1 (N,⊥) . We use the terms injective, surjective, bijective, isomorphism (isomorphic), endomorphism and automorphism for monoid morphisms as for the case of semigroup morphisms.

M → N is a monoid morphism from (M, * ) to (N, ⊥) if and only if for all m 1 , m 2 ∈ M , ϕ(m 1 )⊥ϕ(m 2 ) = ϕ(m 1 * m 2 ),
For example, for all d ∈ N, d ≥ 2, the mapping

ϕ : N → Z/d Z n → n mod d
is a monoid morphism from (N, +) to (Z/d Z, +). However, the mapping

ψ : Z → N n → |n| is not a monoid morphism from (Z, +) to (N, +) because ψ(3) + ψ(-2) = 5 = 1 = ψ(3 + (-2)).
Another fundamental notion is that of a subsemigroup (submonoid) of a semigroup (monoid). For example, (N >0 , +) is a subsemigroup of (N, +) and (N, +) is a submonoid of (Z, +). For a given semigroup (monoid) (S, * ) and a subset E of S we call the subsemigroup (submonoid) of (S, * ) generated by E the inclusion-wise smallest semigroup (monoid) of (S, * ) containing all of E. If that semigroup (monoid) is equal to (S, * ), we say (S, * ) is generated by E. For instance, (N, +) is generated by {1}.

We now define very common operations on semigroups and monoids.

Definition 3.1.14. Let (S, * ) and (T, ⊥) be two semigroups.

• We denote by (S, * ) × (T, ⊥) = (S × T, * × ⊥) the direct semigroup product of (S, * ) and (T, ⊥), the semigroup whose internal composition law is defined as follows:

* × ⊥ : (S × T ) × (S × T ) → S × T (s 1 , t 1 ), (s 2 , t 2 ) → (s 1 * s 2 , t 1 ⊥t 2 ) .
• If there exists a surjective semigroup morphism from (S, * ) to (T, ⊥), we say (T, ⊥) is a semigroup quotient of (S, * ).

• If there exists a subsemigroup ( S, * ) of (S, * ) such that (T, ⊥) is a semigroup quotient of ( S, * ), we say (T, ⊥) semigroup divides (S, * ).

We define direct product of monoids, quotient of monoids and monoid division in the same way, by replacing "semigroup" with "monoid".

Varieties

We very often will consider classes of finite semigroups or monoids that share some properties and are "nice" in the sense that they are stable (also said closed) under the common operations defined in the previous subsection. This leads to the notion of a variety defined below.

Definition 3.1.15. A variety of finite semigroups is a class V of finite semigroups such that:

• it contains all trivial semigroups (trivial semigroups containment);

• if (S, * ) and (T, ⊥) are two finite semigroups in V, then (S, * ) × (T, ⊥) is also in V (closure under finite direct semigroup product);

• if (S, * ) ∈ V and (T, ⊥) is a finite semigroup that semigroup divides (S, * ), then (T, ⊥) ∈ V (closure under semigroup division).
We define a variety of finite monoids in the same way, by replacing "semigroup" with "monoid".

Remark 3.1.16. There is one unique variety of finite semigroups (monoids) that contains exactly all trivial semigroups (monoids), that we will call the trivial variety of finite semigroups (monoids).

For example, we will denote by S the variety of all finite semigroups, and by M the variety of all finite monoids. We also denote by M sol the variety of all finite monoids which do only contain solvable groups.1 Another variety we will use is the variety D of all definite semigroups, containing all finite semigroups (S, * ) verifying that there exists

k ∈ N >0 such that x * y 1 * • • • * y k = y 1 * • • • * y k for all x, y 1 , . . . , y k ∈ S.
As we just saw for the case of D, a variety of finite semigroups or monoids might be characterised equationally, that is to say, in an informal way, as the class of all finite semigroups or monoids satisfying certain equalities. In fact, Reiterman showed [START_REF] Reiterman | The Birkhoff theorem for finite algebras[END_REF] that for a precise formal notion of (pseudo)identities and satisfaction of those by finite semigroups or monoids (to be found in, e.g., [START_REF] Almeida | Relatively free profinite monoids: an introduction and examples. Semigroups, Formal Languages and Groups[END_REF], [START_REF] Pin | Syntactic semigroups[END_REF]), a class of finite semigroups (monoids) is a variety if and only if it can be defined by some set of (pseudo)identities, i.e. it is equal to the class of all finite semigroups (monoids) satisfying all identities in that set. Stating Reiterman's result formally requires topological notions and tools; what we will do in this thesis is only to use these equational characterisations in a "self-contained manner" (as we did to define D), without referring to a formal notion of an identity.

We can also build new finite semigroup (monoid) varieties from any class of finite semigroups (monoids) as explained below.

Definition 3.1.17. Let C be a class of finite semigroups (monoids). We will denote by C S ( C M ) the intersection of all varieties of finite semigroups (monoids) containing C, which is a variety of finite semigroups (monoids), called the variety of finite semigroups (monoids) generated by C.

We now define the notion of the wreath product between two semigroups, that we will encounter subsequently. Definition 3.1.18. Let (S, * ) and (T, ⊥) be two semigroups. The wreath product of (S, * ) and (T, ⊥), denoted by (S, * ) (T, ⊥), is the semigroup (S T 1 × T, ) where the internal composition law is such that for all (f, t), (f , t

) ∈ S T 1 × T , (f, t) (f , t ) = (g, t⊥t ) where g ∈ S T 1 is defined by g(x) = f (x) * f (x⊥t) for all x ∈ T 1 .
A fundamental result in finite semigroup theory, showing the importance of this notion, is the Krohn-Rhodes decomposition theorem [START_REF] Krohn | Algebraic theory of machines. I. Prime decomposition theorem for finite semigroups and machines[END_REF], stating that any finite semigroup divides a (finite) wreath product of certain specific finite groups and aperiodic semigroups (a finite semigroup (S, * ) being aperiodic if and only if there exists n ∈ N >0 verifying that s n = s n+1 for all s ∈ S).

For V and W two varieties of finite semigroups or monoids, at least one of which is a variety of finite semigroups, the wreath product of V and W, denoted by V * W, is the variety of all finite semigroups that are semigroup divisors of wreath products of the form (S, * ) (T, ⊥) with (S, * ) ∈ V and (T, ⊥) ∈ W. When V and W are varieties of finite monoids, we define V * W in the same way, but replacing "semigroup" with "monoid".

Idempotents

Let (S, * ) be a finite semigroup (monoid). An element e ∈ S is called an idempotent of S if and only if e * e = e. It is a classical basic result that there is a positive number (the minimum such number), the idempotent power of (S, * ), often denoted ω, such that for any element s ∈ S, s ω is idempotent.

Idempotents actually play a very important role when it comes to studying the structural properties of finite semigroups, as we will see in the next subsection. Here we introduce one notion that crucially involves idempotents.

For V a variety of finite monoids, we say that a finite semigroup (S, * ) is locally V if, for every idempotent e of (S, * ), the monoid (eSe, * | eSe ) belongs to V; we denote by LV the class of locally-V finite semigroups, which happens to be a variety of finite semigroups. Equivalently, LV is the variety of all finite semigroups whose only finite monoids semigroup-dividing them belong to V. Yet equivalently, LV is the inclusionwise maximal variety of finite semigroups that contains all finite monoids of V and only those. A variety V is said to be local if V * D = LV. This is not the usual definition of locality, defined using categories, but it is equivalent to it [Tilson, 1987, Theorem 17.3].

Green's relations

An essential tool to study the structure of semigroups (and monoids) is that of the socalled Green's preorder and equivalence relations. Definition 3.1.19. Let (S, * ) be a semigroup. We define Green's preorder relations ≤ J , ≤ R , ≤ L and ≤ H such that for all s, t ∈ S

• s ≤ J t if and only if there exist x, y ∈ S 1 such that s = x * 1 t * 1 y;

• s ≤ R t if and only if there exists x ∈ S 1 such that s = t * 1 x;

• s ≤ L t if and only if there exists x ∈ S 1 such that s = x * 1 t;

• s ≤ H t if and only if s ≤ R t and s ≤ L t.

The equivalence relations associated with these preoders are called Green's equivalence relations J, R, L and H respectively, and are such that for all s, t ∈ S • s J t if and only if s ≤ J t and t ≤ J s;

• s R t if and only if s ≤ R t and t ≤ R s;

• s L t if and only if s ≤ L t and t ≤ L s;

• s H t if and only if s ≤ H t and t ≤ H s.

For any semigroup (S, * ), for all s, t ∈ S, we shall write • s < J t if and only if s ≤ J t and s J t;

• s < R t if and only if s ≤ R t and s R t;

• s < L t if and only if s ≤ L t and s L t;

• s < H t if and only if s ≤ H t and s H t.

For any semigroup (S, * ), we also define a fifth Green's equivalence relation D that is such that for all s, t ∈ S, s D t if and only if there exists u ∈ S such that s R u and u L t if and only if there exists v ∈ S such that s L v and v R t. In fact, D is equal to J when (S, * ) is finite, but it isn't the case in general.

The following is a well-known fact (see [Pin, 1986, Chapter 3, Proposition 1.4]).

Lemma 3.1.20. For all elements u and

v of M , if u ≤ R v and u J v, then u R v. Similarly, if u ≤ L v and u J v, then u L v.
Green's relations are important, among other reasons, because they are instrumental in characterising many fundamental varieties of finite monoids or semigroups.

Let (S, * ) be a semigroup and E a relation on S. For each s ∈ S we will denote by E(s) = {t ∈ S | s E t} the set of elements of S that are E-equivalent to s (the Eequivalence class containing s). (S, * ) is said to be E-trivial if and only if all E-classes in S (i.e. E-equivalence classes in S) contain a sole element, i.e. E(s) = {s} for all s ∈ S.

The classes of all finite J-trivial, R-trivial, L-trivial and H-trivial monoids each form varieties of finite monoids denoted respectively by J, R, L and A. In fact, we can show that a finite monoid (M, * ) is aperiodic, i.e. such that there exists n ∈ N >0 verifying that m n = m n+1 for all m ∈ M , if and only if it is H-trivial. This is why we call the variety of finite H-trivial monoids the variety of finite aperiodic monoids and denote it by A. The following holds:

J ⊂ R ⊂ A, J ⊂ L ⊂ A and R = L.
Concerning equational characterisations, we have that for any finite monoid (M, * ) of idempotent power ω,

• (M, * ) ∈ A if and only if x ω = x ω+1 for all x ∈ M ; • (M, * ) ∈ L if and only if (xy) ω = y(xy) ω for all x, y ∈ M ; • (M, * ) ∈ R if and only if (xy) ω = (xy) ω x for all x, y ∈ M ; • (M, * ) ∈ J if and only if (xy) ω = (xy) ω x = y(xy) ω for all x, y ∈ M .
Those are well-studied natural varieties of finite monoids. Another well-studied variety of finite monoids is DA, the variety of all finite monoids such that each of their D-classes containing at least an idempotent forms an aperiodic subsemigroup of the monoid (i.e. all the H-classes contained in this D-class are trivial and contain an idempotent as unique element). The following holds: J ⊂ R ⊂ DA ⊂ A, J ⊂ L ⊂ DA ⊂ A. Equationally, we have that any finite monoid (M, * ) of idempotent power ω belongs to DA if and only if (xy) ω = (xy) ω x(xy) ω for all x, y ∈ M .

Some first links with formal language theory

The set of all words on some alphabet coupled with the concatenation operation forms a monoid, as defined below.

Definition 3.1.21. Let Σ be an alphabet. The free monoid generated by Σ (or on Σ) is the monoid (Σ * , •). The free semigroup generated by Σ (or on Σ) is the semigroup (Σ + , •).

It is easy to see that for any alphabet Σ and any monoid (M, * ), any monoid morphism ϕ : Σ * → M from (Σ * , •) to (M, * ) is uniquely determined by the images ϕ(a) of all letters a ∈ Σ (and the same holds when replacing (Σ * , •) with (Σ + , •) and "monoid" with "semigroup").

We call a stamp a surjective monoid morphism ϕ : Σ * → M from the free monoid (Σ * , •) generated by some alphabet Σ to a finite monoid (M, * ). When (M, * ) is trivial, we also call ϕ trivial. We will sometimes encounter the important type of stamps defined next.

Definition 3.1.22. Let (S, * ) be a finite semigroup (monoid). The evaluation morphism of (S, * ) is the unique monoid morphism η (S, * ) : S * → S 1 from (S * , •) to (S, * ) 1 such that η (S, * ) (s) = s for all s ∈ S.

C-varieties of stamps

We shall see that when studying the link between finite automata theory and computational complexity theory, it will actually be necessary to use a more general notion of varieties whose elements are stamps rather than finite semigroups or monoids. The exposition of this notion is based on [START_REF] Straubing | On logical descriptions of regular languages[END_REF], [START_REF] Pin | Some results on C-varieties[END_REF] and [START_REF] Chaubard | Actions, wreath products of C-varieties and concatenation product[END_REF].

Let Σ and Γ be two alphabets, and let ϕ : Σ * → Γ * be a monoid morphism from (Σ * , •) to (Γ * , •). We say that ϕ is • length-preserving (an lp-morphism) if and only if the image by ϕ of any letter in Σ is a letter of Γ, i.e. ϕ(Σ) ⊆ Γ;

• non-erasing (an ne-morphism) if and only if the image by ϕ of any letter in Σ is a non-empty word on Γ, i.e. ϕ(Σ) ⊆ Γ + ;

• length-multiplying (an lm-morphism) if and only if there exists k ∈ N such that the image by ϕ of any letter in Σ is a word on Γ of length k, i.e. ϕ(Σ) ⊆ Γ k .

We consider a class C of monoid morphisms between two free monoids generated by alphabets that satisfies the following properties:

• if f : Σ * → Γ * from (Σ * , •) to (Γ * , •) and g : Γ * → T * from (Γ * , •) to (T * , •) where Σ,
Γ and T are alphabets both are monoid morphisms in C, then the monoid morphism g • f : Σ * → T * does also belong to C (closure under composition);

• C contains all lp-morphisms; For example, the classes of all lp-morphisms, all ne-morphisms, all lm-morphisms and simply all morphisms (all-morphisms) all verify these properties. When C is equal to one of these classes, we shall replace C by, respectively, lp, ne, lm or all in the vocabulary prefixed by C and in symbols using C in the following. By defining the appropriate notions of products of stamps and C-division of stamps, a notion of C-varieties of stamps can be defined. • If there exist a monoid morphism f :

• if f : Σ * → Γ * from (Σ * , •) to (Γ * , •)
Σ * → Γ * in C from (Σ * , •) to (Γ * , •) and a surjective monoid morphism α : Im(ψ • f ) → M from (Im(ψ • f ), ⊥| Im(ψ•f ) ) to (M, * ) verifying ϕ = α • ψ • f , we say ϕ C-divides ψ.
Definition 3.1.24. A C-variety of stamps is a class V of stamps such that:

• it contains all trivial stamps (trivial stamps containment);

• if ϕ : Σ * → M and ψ : Σ * → N are two stamps in V, then ϕ × ψ is also in V (closure under finite stamp product);

• if ϕ : Σ * → M is a stamp in V and ψ : Γ * → N is a stamp that C-divides ϕ, then ψ ∈ V (stability under C-division).
As for varieties of finite semigroups or monoids, we can also build up new C-varieties of stamps from any class of stamps, as well as, actually, from any class of finite semigroups or monoids. Observe that to each variety of finite semigroups (monoids) V, we can associate the nevariety (all-variety) of all stamps ϕ : Σ * → M from a free monoid (Σ * , •) to a finite monoid (M, * ) such that the finite semigroup (ϕ(Σ + ), * | ϕ(Σ + ) ) belongs to V ((M, * ) belongs to V), that is exactly V ne ( V all ). This gives a bijective correspondence between varieties of finite semigroups (monoids) and ne-varieties (all-varieties) of stamps.

Any all-or ne-variety of stamps is also an lm-variety of stamps. (This is because when a stamp ϕ lm-divides a stamp ψ, we have that ϕ = α•ψ•f where α is an adequate monoid morphism and f an adequate lm-morphism that is necessarily also an all-morphism and an ne-morphism, except when f sends everything to the empty word, in which case ϕ must be a trivial stamp.) A concrete example of an lm-variety of stamps (that is also an lp-variety of stamps) is the class MOD of all stamps ϕ : Σ * → G from a free monoid (Σ * , •) to a finite cyclic group (G, * ) such that ϕ(a) = ϕ(b) for all a, b ∈ Σ (a cyclic group being just a group generated by only one of its elements).

We end this subsection as well as this section by defining the wreath product of two stamps.

Definition 3.1.26. Let ϕ : (Σ × N ) * → M and ψ : Σ * → N be two stamps such that Σ is an alphabet and (M, * ) and (N, ⊥) both are finite monoids. The wreath product of ϕ and ψ, denoted by ϕ ψ, is the stamp µ : Σ * → K from (Σ * , •) to the finite monoid (K, ) such that if for each a ∈ Σ, f a ∈ M N is the function defined by f a (x) = ϕ(a, x) for all x ∈ N , we have that (K, ) is the submonoid of (M, * ) (N, ⊥) generated by {(f a , ψ(a)) | a ∈ Σ} and µ is the unique monoid morphism from (Σ * , •) to (K, ) verifying that µ(a) = (f a , ψ(a)) for all a ∈ Σ.

For V and W two C-varieties of stamps, the wreath product of V and W, denoted by V * W, is the C-variety of all stamps that are C-divisors of wreath products of the form ϕ ψ with ϕ a stamp of V and ψ a stamp of W.

Recognition by morphisms

In fact, there is a very strong connection between finite semigroups (monoids) and finite automata, the latter being known for defining exactly the class of regular languages by Kleene's seminal theorem. The algebraic theory of automata, that studies this connection, has been a very active and fruitful research domain for over 60 years. Here, we present some of the central results needed in the work presented in this thesis. As for the algebra of finite semigroups and monoids, we refer the reader to [START_REF] Eilenberg | Automata, Languages, and Machines, volume A[END_REF][START_REF] Eilenberg | Automata, Languages, and Machines[END_REF], [START_REF] Pin | Varieties Of Formal Languages[END_REF], as well as [START_REF] Pin | Mathematical Foundations of Automata Theory[END_REF] for a more thorough introduction to the theory of regular languages, finite automata and the links with the algebra of finite semigroups and monoids. For the case of C-varieties of languages, we refer the reader to [START_REF] Straubing | On logical descriptions of regular languages[END_REF], [START_REF] Pin | Some results on C-varieties[END_REF] and [START_REF] Chaubard | Actions, wreath products of C-varieties and concatenation product[END_REF].

Regular languages and morphisms

Monoids can be used to compute, in the sense that they can be used to recognise languages through the use of morphisms, as formalised below.

Definition 3.2.1. Let Σ be an alphabet and (M, * ) a monoid. A language L ⊆ Σ * over Σ is recognised by a monoid morphism ϕ : Σ * → M from (Σ * , •) to (M, * ) if and only if there exists P ⊆ M such that L = ϕ -1 (P ). We will say that (M, * ) recognises L if and only if such a monoid morphism exists. One of the fundamental objects that comes into play when we talk about morphismrecognition of some given language is the syntactic monoid, defined using the syntactic congruence on the language's alphabet, and to which we associate the syntactic morphism. Definition 3.2.5. Let Σ be alphabet and L ⊆ Σ * a language over Σ. The syntactic

congruence of L is the congruence ∼ L on (Σ * , •) such that for all u, v ∈ Σ * , we have u ∼ L v if and only if, for all x, y ∈ Σ * , xuy ∈ L ⇔ xvy ∈ L. The syntactic monoid of L is M(L) = (Σ * , •)/∼ L , the quotient monoid of (Σ * , •) by the syntactic congruence ∼ L . Finally, the syntactic morphism of L is the unique monoid morphism η L : Σ * → Σ * /∼ L from (Σ * , •) to M(L) such that η L (a) = [a] ∼ L for all a ∈ Σ.
The reason why the syntactic monoid of a language is a fundamental object is because of the following property stating that, in fact, it is the smallest monoid, with respect to division, that recognises that language. Proposition 3.2.6. Let L ⊆ Σ * be a language over some alphabet Σ, M(L) = (Σ * , •)/∼ L its syntactic monoid and η L : Σ * → Σ * /∼ L its syntactic morphism, where ∼ L denotes the syntactic congruence of L. Then, a monoid (M, * ) recognises L if and only if M(L) divides (M, * ). Further, a stamp ϕ : Σ * → M from (Σ * , •) to a finite monoid (M, * ) recognises L if and only if η L lp-divides ϕ.

Let us now recall the definition of the regular languages. Definition 3.2.7. Let Σ be an alphabet. The set of regular languages over Σ, denoted by Reg(Σ * ), is the smallest set of languages F over Σ satisfying the following conditions:

1. F contains the languages ∅ and {a} for each letter a ∈ Σ;

2. F is closed under finite union, i.e. if L 1 , L 2 ∈ F , then L 1 ∪ L 2 ∈ F ; 3. F is closed under finite concatenation, i.e. if L 1 , L 2 ∈ F , then L 1 • L 2 ∈ F ; 4. F is closed under star, i.e. if L ∈ F , then L * ∈ F .
We will denote by Reg the class of all regular languages, the union over all alphabets Σ of Reg(Σ * ).

It is well known that the class of regular languages is exactly the class of languages decided by deterministic finite automata (DFA). The fundamental theorem of algebraic automata theory, at the very basis of it, is the following one. It states that regularity of a language is equivalent to finiteness of its syntactic monoid, or, equivalently, to the fact of being recognised by some finite monoid. Theorem 3.2.8 (See [Eilenberg, 1974, Chapter III, Proposition 10.1 and Chapter VII, Theorem 5.1] and [Eilenberg, 1976, Chapter VII, Section 6], as well as [START_REF] Pin | Varieties Of Formal Languages[END_REF], Chapter 1, Proposition 2.1, Kleene's theorem and Proposition 2.7]). Let L ⊆ Σ * be a language over some alphabet Σ. The following statements are equivalent.

1. L is regular. 2.
L is recognised by a finite monoid.

3. L's syntactic congruence has finite index, which is equivalent to saying that its syntactic monoid is finite.

4. L is decided by a deterministic finite automaton (DFA).

Varieties of languages

As for finite semigroups and monoids, but also stamps, we very often consider classes of regular languages that share some properties, that are closed under common operations on languages. The set of operations under which those classes are closed may vary, but what we want at least for any such class is that for any language it contains, one may change the symbols of the alphabet over which this language is defined and still obtain a language belonging to the class. More formally, we say a class of regular languages is a correspondence F which associates with each alphabet Σ a set F(Σ * ) of regular languages over Σ in such a way that, if σ : Σ → Γ is a bijection from alphabet Σ into alphabet Γ, a language L belongs to F(Σ * ) if and only if σ(L) belongs to F(Γ * ). For a given alphabet Σ, a lattice of languages over Σ is a set of languages over Σ containing the empty language ∅, the full language Σ * and that is closed under finite union and finite intersection. It is moreover a Boolean algebra of languages over Σ if it is additionally closed under complement.

Definition 3.2.9. A variety of languages is a class of regular languages V such that for every alphabets Σ and Γ:

• V(Σ * ) is a Boolean algebra of languages over Σ (closure under Boolean operations and trivial languages containment);

• for every monoid morphism ϕ :

Σ * → Γ * from (Σ * , •) to (Γ * , •), L ∈ V(Γ * ) implies ϕ -1 (L) ∈ V(Σ * ) (closure under inverses of monoid morphisms); • if L ∈ V(Σ * ) and u ∈ Σ * , u -1 L ∈ V(Σ * ) and Lu -1 ∈ V(Σ * ) (closure under quo- tients).
It is a classical result that the class of all regular languages Reg is a variety of languages. Another well-known variety of languages is the class of star-free regular languages SF , such that for each alphabet Σ, the set SF (Σ * ) of star-free languages over Σ is the smallest set of languages over Σ containing the languages ∅, {ε} and {a} for each letter a ∈ Σ and that is closed under finite union, finite concatenation and complement.

One of the intentions behind this definition of a variety of languages is to have a bijective correspondence between varieties of languages and varieties of finite monoids, which gives an equivalent algebraic characterisation of such classes of languages. This is made formal in the following.

Let the correspondence V → V associate to each variety of finite monoids V the variety of languages V, also denoted by L(V), such that for every alphabet Σ, V(Σ * ) is the set of all languages over Σ whose syntactic monoid belongs to V. Conversely, let the correspondence V → V associate to each variety of languages V the variety of finite monoids V, also denoted by M(V), generated by the syntactic monoids of the languages in V.

Theorem 3.2.10 (Eilenberg -see [Eilenberg, 1976, Chapter VII, Theorem 3.2] and [START_REF] Pin | Varieties Of Formal Languages[END_REF] Chapter 2, Theorem 2.5 andTheorem 2.7]). The correspondences V → V and V → V define mutually bijective correspondences between varieties of finite monoids and varieties of languages.

By virtue of Theorem 3.2.8, it is straightforward to see that Reg is associated to M, the variety of all finite monoids, through this correspondence. Concerning star-free languages, one of the seminal results of algebraic automata theory is Schützenberger's theorem [START_REF] Schützenberger | On finite monoids having only trivial subgroups[END_REF], stating that the variety of finite monoids associated to SF is exactly A, the variety of finite aperiodic monoids.

Let C be a class of monoid morphisms between free monoids generated by alphabets satisfying the properties as required in Subsection 3.1.6. To obtain the same bijective correspondence for C-varieties of stamps, we need to change the definition of a variety of languages by restricting the class of monoid morphisms under inverses of which it is closed to C-morphisms. Definition 3.2.11. A C-variety of languages is a class of regular languages V such that for every alphabets Σ and Γ:

• V(Σ * ) is a Boolean algebra of languages over Σ (closure under Boolean operations and trivial languages containment);

• for every morphism ϕ :

Σ * → Γ * in C from (Σ * , •) to (Γ * , •), L ∈ V(Γ * ) implies ϕ -1 (L) ∈ V(Σ * ) (closure under inverses of C-morphisms); • if L ∈ V(Σ * ) and u ∈ Σ * , u -1 L ∈ V(Σ * ) and Lu -1 ∈ V(Σ * ) (closure under quo- tients).
Let the correspondence V → V associate to each C-variety of stamps V the variety of languages V, also denoted by L(V), such that for every alphabet Σ, V(Σ * ) is the set of all languages over Σ whose syntactic morphism belongs to V. Conversely, let the correspondence V → V associate to each variety of languages V the C-variety of stamps V generated by the syntactic morphisms of the languages in V.

Theorem 3.2.12 (See [Straubing, 2002, Theorem 1 and Theorem 2] and [Chaubard et al., 2006, Subsection 1.3]). The correspondences V → V and V → V define mutually bijective correspondences between C-varieties of stamps and C-varieties of languages.

Observe that, for any variety of finite monoids V, we have L(V) = L( V all ). Eilenberg's theorem, Theorem 3.2.10, establishes a one-to-one correspondence between varieties of finite monoids and varieties of languages, and Theorem 3.2.12 does it between C-varieties of stamps and C-varieties of languages. But what about varieties of finite semigroups? In fact, Eilenberg [Eilenberg, 1976, Chapter VII, Theorem 3.2s] did give a one-to-one correspondence between varieties of finite semigroups and so-called +-varieties of languages, however we won't present it in this thesis. Indeed, those +-varieties of languages have the annoying property of dealing with languages as subsets of Σ + , and not Σ * , for any alphabet Σ. Nevertheless, we can afford not presenting that correspondence in our case, since, as we have seen, to each variety of finite semigroups V we can bijectively associate the ne-variety V ne of all stamps ϕ : Σ * → M from a free monoid (Σ * , •) to a finite monoid (M, * ) such that the finite semigroup (ϕ(Σ + ), * | ϕ(Σ + ) ) belongs to V. We thus define L(V) as being L( V ne ) for any variety of finite semigroups V.

Wreath product principle

The so-called "wreath product principle", originally due to [START_REF] Straubing | Families of recognizable sets corresponding to certain varieties of finite monoids[END_REF], allows to characterise the languages belonging to L(V * W) for V and W two varieties of finite semigroups or monoids. We shall state the results and prove them in the more general framework of C-varieties of stamps, inspired by [START_REF] Chaubard | Actions, wreath products of C-varieties and concatenation product[END_REF]. 2Let ψ : Σ * → N be some stamp from a free monoid (Σ * , •) to a finite monoid (N, ⊥). We define the function σ ψ : Σ * → (Σ × N ) * inductively as follows: for all w ∈ Σ * ,

σ ψ (w) =    ε if w = ε σ ψ (w )(a, ψ(w )) otherwise, w = w a for w ∈ Σ * and a ∈ Σ .
This means that for all n ∈ N >0 , w ∈ Σ n , we have

σ ψ (w 1 w 2 w 3 • • • w n ) = (w 1 , 1 (N,⊥) )(w 2 , ψ(w 1 ))(w 3 , ψ(w 1 w 2 )) • • • (w n , ψ(w 1 w 2 • • • w n-1 )) .
Note that σ ψ is what is called in the literature (see e.g. [START_REF] Pin | Mathematical Foundations of Automata Theory[END_REF]) a sequential function, realised by a sequential transducer.

Let C be a class of monoid morphisms between free monoids generated by alphabets satisfying the properties as required in Subsection 3.1.6.

We can now state the wreath product principle.

Proposition 3.2.13 (Wreath product principle). Let ϕ : (Σ × N ) * → M and ψ : Σ * → N be two stamps such that Σ is an alphabet and (M, * ) and (N, ⊥) both are finite monoids.

Then, there exists a stamp η :

(Σ × N ) * → M in {ϕ} C from ((Σ × N ) * , •) to a finite monoid (M , *
) such that each language over Σ recognised by the wreath product ϕ ψ is a finite union of languages of the form

W ∩ σ -1 ψ (V ), where W ⊆ Σ * is recognised by ψ and V ⊆ (Σ × N ) * is recognised by η. Proof. Let µ = ϕ ψ. Then µ is the stamp µ : Σ * → K from (Σ * , •) to the finite monoid (K, ) such that if for each a ∈ Σ, f a ∈ M N is the function defined by f a (x) = ϕ(a, x) for all x ∈ N , we have that (K, ) is the submonoid of (M, * ) (N, ⊥) generated by {(f a , ψ(a)) | a ∈ Σ} and µ is the unique monoid morphism from (Σ * , •) to (K, ) verifying that µ(a) = (f a , ψ(a)) for all a ∈ Σ.
Consider now the finite monoid

(M N , •) such that for all f, f ∈ M N , f • f = g where g ∈ M N is defined by g(x) = f (x) * f (x) for all x ∈ N .
For all a ∈ Σ and y ∈ N , let us define g a,y by g a,y (x) = f a (x⊥y) for all x ∈ N . We now let (K , •| K ) be the submonoid of (M N , •) generated by {g a,y | a ∈ Σ, y ∈ N }. Let us now define the stamp η : (Σ × N ) * → K as the unique monoid morphism from ((Σ × N ) * , •) to (K , •| K ) verifying that η(a, y) = g a,y for all (a, y) ∈ Σ × N .

Let w ∈ Σ + and define n = |w|. By definition of µ, we have

µ(w) = (f w 1 , ψ(w 1 )) (f w 2 , ψ(w 2 )) • • • (f wn , ψ(w n )) = (f, ψ(w))
where f ∈ M N verifies that for all x ∈ N ,

f (x) = f w 1 (x) * f w 2 (x⊥ψ(w 1 )) * f w 3 (x⊥ψ(w 1 w 2 )) * • • • * f wn (x⊥ψ(w 1 w 2 • • • w n-1 )) = η(w 1 , 1 (N,⊥) )(x) * η(w 2 , ψ(w 1 ))(x) * η(w 3 , ψ(w 1 w 2 )) * • • • * η(w n , ψ(w 1 w 2 • • • w n-1 ))(x) = η(w 1 , 1 (N,⊥) ) • η(w 2 , ψ(w 1 )) • η(w 3 , ψ(w 1 w 2 )) • • • • • η(w n , ψ(w 1 w 2 • • • w n-1 )) (x) = η(σ ψ (w))(x) , so that f = η(σ ψ (w)). Moreover, it holds that µ(ε) = (1 (M N ,•) , 1 (N,⊥) ) = η(ε), ψ(ε) = η(σ ψ (ε)), ψ(ε) .
Hence, it follows that µ(w) = η(σ ψ (w)), ψ(w) for all w ∈ Σ * . Consider now some F ⊆ K. It is straightforward to see that

µ -1 (F ) = (f,x)∈F ψ -1 (x) ∩ σ -1 ψ (η -1 (f ))
where for each (f, x) ∈ F , ψ -1 (x) is a language over Σ recognised by ψ and η -1 (f ) is a language over Σ × N recognised by η.

It now remains to show that η ∈ {ϕ} C . For each x ∈ N , let us define (M x , * | Mx ) as the submonoid of (M, * ) generated by {ϕ(a, x⊥y) | a ∈ Σ, y ∈ N } and the stamp

ϕ x : (Σ × N ) * → M x as the unique monoid morphism from (Σ × N ) * to (M x , * | Mx ) verifying that ϕ x (a, y) = ϕ(a, x⊥y) = f a (x⊥y) = g a,y (x) for all (a, y) ∈ Σ × N . The idea is that the direct product x∈N (M x , * | Mx ) is isomorphic to (K , •| K ), so that η lp-divides (and hence C-divides) the product stamp x∈N ϕ x . Moreover, it is straightforward to see that for each x ∈ N , ϕ x lp-divides (and hence C-divides) ϕ, so that η ∈ {ϕ} C .
Conversely, the following holds. Proposition 3.2.14. Let ϕ : (Σ × N ) * → M and ψ : Σ * → N be two stamps such that Σ is an alphabet and (M, * ) and (N, ⊥) both are finite monoids. Then, each language over Σ that is a finite union of languages of the form W ∩ σ -1 ψ (V ), where W ⊆ Σ * is recognised by ψ and V ⊆ (Σ × N ) * is recognised by ϕ, is recognised by the wreath product ϕ ψ.

Proof. Let µ = ϕ ψ. Then µ is the stamp µ : Σ * → K from (Σ * , •) to the finite monoid (K, ) such that if for each a ∈ Σ, f a ∈ M N is the function defined by f a (x) = ϕ(a, x) for all x ∈ N , we have that (K, ) is the submonoid of (M, * ) (N, ⊥) generated by {(f a , ψ(a)) | a ∈ Σ} and µ is the unique monoid morphism from (Σ * , •) to (K, ) verifying that µ(a) = (f a , ψ(a)) for all a ∈ Σ. Let P 1 , . . . , P l ⊆ M and Q 1 , . . . , Q l ⊆ N , with l ∈ N >0 . It is straightforward to see there exists some F ⊆ M × N verifying l i=1 ψ -1 (Q i ) ∩ σ -1 ψ (ϕ -1 (P i )) = (m,x)∈F ψ -1 (x) ∩ σ -1 ψ (ϕ -1 (m)) . Let us define F = {(f, x) ∈ M N × N | (f (1 (N,⊥) ), x) ∈ F }.
Let w ∈ Σ + and define n = |w|. By definition of µ, we have

µ(w) = (f w 1 , ψ(w 1 )) (f w 2 , ψ(w 2 )) • • • (f wn , ψ(w n )) = (f, ψ(w))
where f ∈ M N verifies that for all x ∈ N ,

f (x) =f w 1 (x) * f w 2 (x⊥ψ(w 1 )) * f w 3 (x⊥ψ(w 1 w 2 )) * • • • * f wn (x⊥ψ(w 1 w 2 • • • w n-1 )) =ϕ(w 1 , x⊥1 (N,⊥) ) * ϕ(w 2 , x⊥ψ(w 1 )) * ϕ(w 3 , x ⊥ψ(w 1 w 2 )) * • • • * ϕ(w n , x⊥ψ(w 1 w 2 • • • w n-1 )) =ϕ (w 1 , x⊥1 (N,⊥) )(w 2 , x⊥ψ(w 1 ))(w 3 , x ⊥ψ(w 1 w 2 )) • • • (w n , x⊥ψ(w 1 w 2 • • • w n-1 )) , so that f (1 (N,⊥) ) = ϕ(σ ψ (w)). Moreover, it holds that µ(ε) = (e, 1 (N,⊥) ) = (e, ψ(ε)) where e ∈ M N is defined by e(x) = 1 (M, * ) for all x ∈ N , so that e(1 (N,⊥) ) = 1 (M, * ) = ϕ(ε) = ϕ(σ ψ (w)). Hence, it follows that for all w ∈ Σ * , µ(w) = (f, ψ(w)) where f ∈ M N verifies f (1 (N,⊥) ) = ϕ(σ ψ (w)).
Given this, it is straightforward to see that

(m,x)∈F ψ -1 (x) ∩ σ -1 ψ (ϕ -1 (m)) = µ -1 (F ) ,
which concludes the proof, since µ -1 (F ) is a language recognised by µ.

We can now derive the following theorem.

Theorem 3.2.15. Let V and W be two C-varieties of stamps. Then for each alphabet

Σ, L(V * W)(Σ * ) is the inclusion-wise smallest lattice of languages over Σ containing L(W)(Σ * ) and the languages of the form σ -1 ψ (V ), where ψ : Σ * → N is some stamp in W from (Σ * , •) to a finite monoid (N, ⊥) and V ∈ L(V)((Σ × N ) * ).
Proof. Fix Σ some alphabet. Let us denote by E the inclusion-wise smallest lattice of languages over Σ containing L(W)(Σ * ) and the languages of the form σ -1 ψ (V ), where

ψ : Σ * → N is some stamp in W from (Σ * , •) to a finite monoid (N, ⊥) and V ∈ L(V)((Σ× N ) * ).
Let L be some language in L(V * W)(Σ * ) and let η L : Σ * → J its syntactic morphism, where (J, •) is its syntactic monoid. By definition, η L is a stamp of V * W, so it C-divides some wreath product of the form ϕ ψ :

Γ * → K from (Γ * , •) to a finite monoid (K, ) where ϕ : (Γ × N ) * → M is a stamp in V from ((Γ × N ) * , •) to a finite monoid (M, * ) and ψ : Γ * → N is a stamp in W from (Γ * , •) to a finite monoid (N, ⊥), Γ being an alphabet.
This means there exist a monoid morphism f :

Σ * → Γ * in C from (Σ * , •) to (Γ * , •) and a surjective monoid morphism α : Im((ϕ ψ) • f ) → J from (Im((ϕ ψ) • f ), | Im((ϕ ψ)•f ) ) to (J, •) verifying η L = α•(ϕ ψ)•f . We know there exists F ⊆ J such that L = η -1
L (F ), but by Proposition 3.2.13 and Proposition 3.2.6, since

(ϕ ψ) -1 (α -1 (F )) is obviously recognised by ϕ ψ, (ϕ ψ) -1 (α -1 (F )) is a finite union of languages of the form W ∩ σ -1 ψ (V ) where W ∈ L(W)(Γ * ) and V ∈ L(V)((Γ × N ) * ). This means that L = f -1 ((ϕ ψ) -1 (α -1 (F ))) is a finite union of languages of the form f -1 (W ) ∩ f -1 (σ -1 ψ (V )) where W ∈ L(W)(Γ * ) and V ∈ L(V)((Γ × N ) *
), as inverses of monoid morphisms commute with union and intersection. But since L(W) is a C-variety of languages and f belongs to C, f -1 (W ) belongs to L(W)(Σ * ) for all W ∈ L(W)(Γ * ). Moreover, according to Claim 3.2.16 at the end of the current proof, there exists a stamp ψ :

Σ * → N in W from (Σ * , •) to a submonoid (N , ⊥| N ) of (N, ⊥) such that for any V ∈ L(V)((Γ × N ) * ) there exists V ∈ L(V)((Σ × N ) * ) verifying f -1 (σ -1 ψ (V )) = σ -1 ψ (V ). So L belongs to E and as it is true for any L, this shows L(V * W)(Σ * ) ⊆ E.
Conversely, Proposition 3.2.14 combined with Proposition 3.2.6 tells us that any language in L(W)(Σ * ) is necessarily also in L(V * W)(Σ * ) (because the full language (Σ × N ) * for any finite monoid (N, ⊥), whose inverse by σ ψ for any stamp ψ : Σ * → N from (Σ * , •) to (N, ⊥) is the full language Σ * , can be recognised by any trivial stamp from ((Σ × N ) * , •) to some trivial monoid, that necessarily belongs to V) as well as all languages of the form σ -1 ψ (V ), where ψ : Σ * → N is some stamp in W from (Σ * , •) to a finite monoid (N, ⊥) and V ∈ L(V)((Σ × N ) * ) (because the full language Σ * can be recognised by the stamp ψ). Since L(V * W)(Σ * ) is closed under union and intersection, it follows that E ⊆ L(V * W)(Σ * ).

Therefore,

L(V * W)(Σ * ) = E. Claim 3.2.16. Let Γ be an alphabet. Let ψ : Γ * → N be some stamp in W from (Γ * , •) to a finite monoid (N, ⊥) and f : Σ * → Γ * a monoid morphism in C from (Σ * , •) to (Γ * , •).
Then there exists a stamp ψ :

Σ * → N in W from (Σ * , •) to a submonoid (N , ⊥| N ) of (N, ⊥) such that for any V ∈ L(V)((Γ × N ) * ) there exists V ∈ L(V)((Σ × N ) * ) verifying f -1 (σ -1 ψ (V )) = σ -1 ψ (V ).
Proof. Let us consider the stamp ψ :

Σ * → N from (Σ * , •) to the submonoid (N , ⊥| N ) of (N, ⊥) equal to ψ • f , where N = Im(ψ • f ). This means that ψ C-divides ψ, so that ψ ∈ W. Let V ∈ L(V)((Γ×N ) * ); there exist ϕ : (Γ×N ) * → M a stamp in V from ((Γ×N ) * , •) to a finite monoid (M, * ) and F ⊆ M verifying V = ϕ -1 (F ). We define the monoid morphism g : (Σ × N ) * → (Γ × N ) * as the unique monoid morphism from ((Σ × N ) * , •) to ((Γ × N ) * , •) verifying g((a, x)) =    ε if |f a | = 0 (u 1 , x)(u 2 , x⊥ψ(u 1 )) • • • (u |u| , x⊥ψ(u 1 u 2 • • • u |u|-1 )) otherwise (u = f (a)) for all (a, x) ∈ Σ × N . We have {|g((a, x))| | (a, x) ∈ Σ × N } = {|f (a)| | a ∈ Σ},
so that g does also belong to C, since it is a class of monoid morphisms between free monoids generated by alphabets satisfying the properties as required in Subsection 3.1.6.

We can now consider the stamp ϕ :

(Σ × N ) * → M from ((Σ × N ) * , •) to the submonoid (M , * | M ) of (M, * ) equal to ϕ • g, where M = Im(ϕ • g). This means that ϕ C-divides ϕ, so that ϕ ∈ V.
It is quite straightforward to prove that for all w ∈ Σ * , g(σ ψ (w)) = σ ψ (f (w)), by induction on the length of w, so that g • σ ψ = σ ψ • f . Hence, we get that

f -1 (σ -1 ψ (ϕ -1 (F ))) = f -1 (σ -1 ψ (ϕ -1 (F ∩ M ))) = σ -1 ψ (g -1 (ϕ -1 (F ∩ M ))) = σ -1 ψ (ϕ -1 (F ∩ M )) because ϕ(σ ψ (f (Σ * ))) = ϕ(g(σ ψ (Σ * ))) ⊆ Im(ϕ • g) = M . In conclusion, f -1 (σ -1 ψ (V )) = σ -1 ψ (V ) where V = ϕ -1 (F ∩ M ) is a language in L(V)((Σ × N ) * ), by Proposition 3.2.6 since ϕ is a stamp in V recognising V .
This ends the proof of the theorem as all this is true for any alphabet Σ.

We only proved the wreath product principle in the more general framework of Cvarieties of stamps, but the following lemma shows us it can also be applied in the case of varieties of finite semigroups or monoids. Indeed, for V and W two varieties of finite semigroups or monoids, at least one of which is a variety of finite semigroups, we have L(V * W) = L( V * W ne ); and when V and W are varieties of finite monoids, we have

L(V * W) = L( V * W all ).
Lemma 3.2.17. Let V and W be two varieties of finite semigroups or monoids, where V or W is a variety of finite semigroups; then V * W ne = V ne * W ne . When V and W are varieties of finite monoids, we have V * W all = V all * W all .

Proof. Assume at least one of V and W is a variety of finite semigroups (the case when both are varieties of finite monoids is treated similarly).

Left-to-right inclusion. Let (S, * ) ∈ V and (T, ⊥) ∈ W be two finite semigroups. Let (K, ) be the submonoid of (S 1 , * 1 ) (T 1 , ⊥ 1 ) generated by S T 1 ×T . Let η : (S T 1 ×T ) * → K be the unique monoid morphism from

((S T 1 ×T ) * , •) to (K, ) such that η(f, t) = (f, t) for all (f, t) ∈ S T 1 × T : it is obvious that it is a stamp of V * W ne , as (K, ) is isomorphic to ((S, * ) (T, ⊥)) 1 . Let ϕ : (S T 1 × T × T 1 ) * → S 1 be the unique stamp from ((S T 1 × T × T 1 ) * , •) to (S 1 , * 1 ) such that for all (f, t, t ) ∈ S T 1 × T × T 1 , ϕ(f, t, t ) = f (t ) ∈ S. Observe that ϕ((S T 1 × T × T 1 ) + ) = S, so that ϕ ∈ V ne . Let ψ : (S T 1 ×T ) * → T 1 be the unique stamp from ((S T 1 ×T ) * , •) to (T 1 , ⊥ 1 ) such that for all (f, t) ∈ S T 1 × T , ψ(f, t) = t. Observe that ψ((S T 1 × T ) + ) = T , so that ψ ∈ W ne . Now, note that for each (f, t) ∈ S T 1 × T , f is the function of S 1 T 1 such that f (t ) = ϕ(f, t, t ) for all t ∈ T 1 . But (K, ) is the submonoid of (S 1 , * 1 ) (T 1 , ⊥ 1 ) generated by S T 1 × T = {(f, ψ(f, t)) | (f, t) ∈ S T 1 × T } and η is the unique monoid morphism from ((S T 1 ×T ) * , •) to (K, ) verifying that η(f, t) = (f, t) = (f, ψ(f, t)) for all (f, t) ∈ (S T 1 ×T ).
Hence, η is the wreath product ϕ ψ of ϕ and ψ, so that η ∈ V ne * W ne .

Let now more generally µ : Σ * → K be a stamp from the free monoid (Σ * , •) generated by the alphabet Σ to the finite monoid (K , ) such that µ(Σ + ) = U where (U, •) is some finite semigroup dividing the wreath product (S, * ) (T, ⊥). It is not too difficult to see that µ lp-divides η, so that we also have µ ∈ V ne * W ne .

As this is true for any two finite semigroups (S, * ) ∈ V and (T, ⊥) ∈ W, we have that

V * W ne ⊆ V ne * W ne . Right-to-left inclusion. Let Σ be an alphabet. Let ϕ : (Σ × N ) * → M be a stamp in V ne from ((Σ × N ) * , •) to a finite monoid (M, * ) and ψ : Σ * → N a stamp in W ne from (Σ * , •) to a finite monoid (N, ⊥). This means that ϕ((Σ × N ) + ) = S where (S, * | S ) is a finite semigroup in V and ψ(Σ + ) = T where (T, ⊥| T ) is a finite semigroup in W.
For each a ∈ Σ, let f a ∈ M N be the function defined by f a (x) = ϕ(a, x) for all x ∈ N . Let finally µ : Σ * → K be the stamp, from (Σ * , •) to the finite monoid (K, ), that is the wreath product ϕ ψ, so that we have that (K, ) is the submonoid of (M, * ) (N, ⊥) generated by {(f a , ψ(a)) | a ∈ Σ} and µ is the unique monoid morphism from (Σ * , •) to (K, ) verifying that µ(a) = (f a , ψ(a)) for all a ∈ Σ.

For each a ∈ Σ, we know that, in fact, f a ∈ S N , because ϕ(a, x) ∈ S for all x ∈ N , and ψ(a) ∈ T . So, since (T, ⊥| T ) 1 is isomorphic to (N, ⊥), we get that the subsemigroup of (M, * )

(N, ⊥) generated by {µ(a) | a ∈ Σ} = {(f a , ψ(a)) | a ∈ Σ} is isomorphic to a subsemigroup of (S, * | S ) (T, ⊥| T ), so that (µ(Σ + ), | µ(Σ + ) ) semigroup-divides (S, * | S ) (T, ⊥| T ), which means µ ∈ V * W ne .
More generally, we have that any stamp that ne-divides the wreath product µ = ϕ ψ does necessarily also belong to V * W ne .

As this is true for any two stamps ϕ ∈ V ne and ψ ∈ W ne of which we can take the wreath product, we have that

V * W ne ⊇ V ne * W ne .
For a given variety of finite monoids V, the two most important varieties obtained by wreath product in this thesis are V all * MOD and V * D. The latter is important because it is central in the notion of locality of V, and the first is because of its intimate link with the quasi-V lm-variety of stamps -yet to be defined -that will appear to be crucial in the last section of the present chapter as well as in the next two chapters. We shall only describe informally what the corresponding varieties of languages are (see [START_REF] Paperman | Circuits booléens, prédicats modulaires et langages réguliers[END_REF]).

For each alphabet Σ, L( V all * MOD)(Σ * ) is the inclusion-wise smallest lattice of languages over Σ containing each language over Σ for which membership of each word over Σ only depends on its length modulo some integer d ∈ N >0 , as well as each language L over Σ for which there is an integer d ∈ N >0 and a language L in L(V)((Σ × Z/d Z) * ) such that L is the set of words w ∈ Σ * that belong to L after appending to each letter of w its position minus 1 modulo d.

Similarly, for each alphabet Σ, L(V * D)(Σ * ) is the inclusion-wise smallest lattice of languages over Σ containing each language over Σ for which membership of each word over Σ only depends on its k ∈ N last letters, as well as each language L over Σ for which there is an integer k ∈ N and a language L in L(V)(Σ × Σ ≤k ) such that L is the set of words w ∈ Σ * that belong to L after appending to each letter of w the word composed of the k (or fewer when near the beginning of w) letters preceding that letter.

Recognition by programs

Morphisms into finite monoids only allow recognising regular languages. To recognise bigger classes of languages, such as the well-known complexity classes presented in Chapter 1, there are two non-necessarily exclusive options:

• generalise the notion of finite monoid;

• generalise the notion of morphism.

One example mixing both is given by Krebs, Lange and Reifferscheid, who introduced the notion of a finitely typed monoid (that may be infinite) and an associated notion of a typed morphism in [START_REF] Krebs | Characterizing TC 0 in terms of infinite groups[END_REF].

Choosing option two alone, Barrington and Thérien introduced in [START_REF] Barrington | Finite monoids and the fine structure of NC 1[END_REF] the notion of recognition by finite monoids through programs, a generalisation of morphisms, that has strong links with the notion of decision by sequences of "small-depth" circuits. We are now going to present this notion and these links.

Definition and challenges

In [START_REF] Borodin | Bounds for width two branching programs[END_REF], Borodin, Dolev, Fich and Paul introduced a special type of BPs, levelled branching programs (LBPs). A branching program P = (X, δ, τ, s, t 0 , t 1 ) on Σ V , for some alphabet Σ and finite set V ⊆ N, is said to be levelled if and only if its set of vertices X can be partitioned into subsets

L 0 , L 1 , . . . , L l (l ∈ N) such that s ∈ L 0 , L l = {t 0 , t 1 } and for each i ∈ [[0, l -1]],
any arc going out of some vertex u ∈ L i goes into a vertex v ∈ L i+1 , i.e. δ(u, a) ⊆ L i+1 for any a ∈ Σ. The length of P is l and its width is defined as the size of its biggest level, i.e. max i∈ [[0,l]] |L i |. It then makes sense to consider bounded-width levelled branching programs, that have a fixed maximum width (we will denote by w-LBP a levelled branching program of width at most w ∈ N). In [START_REF] Borodin | Bounds for width two branching programs[END_REF], the authors proved that the language MAJORITY = {w ∈ {0, 1} * | |w| 1 ≥ |w| 2 } on the alphabet {0, 1} of words containing a majority of 1's cannot be decided by a sequence of 2-LBPs whose length is a function in O(n 2 / log n). In fact, they conjectured that bounded-width LBPs of polynomial length cannot decide MAJORITY, i.e. for any w ∈ N, MAJORITY cannot be decided by a sequence of w-LBPs whose length is a function in O(n k ) for some k ∈ N.

However, it was a surprise when Barrington showed in [START_REF] Barrington | Bounded-width polynomial-size branching programs recognize exactly those languages in NC 1[END_REF] that the language MAJORITY is in fact decidable by bounded-width LBPs of polynomial length and that moreover any language in NC 1 has this property (the converse being more easily seen to be true). To do this, he considered some even more specific type of BPs: those are kind of LBPs such that, for some fixed width w ∈ N, each level is an instruction querying the input at a given index and outputting a possibly different function f : [w] → [w] for each possible queried value. Acceptance or rejection for a specific input word then depends on the function obtained by composition of the individual functions output at each level. Barrington showed that width 5 suffices, and more precisely that any language in NC 1 can be decided by a sequence of such specific LBPs of width 5 and polynomial length that use only functions from the group (S 5 , •), the group of permutations over [5]. Barrington and Thérien soon discovered (see [START_REF] Barrington | Finite monoids and the fine structure of NC 1[END_REF]) that this specific definition of an LBP gives a way to meaningfully generalise finite automata to the non-uniform setting by restricting the provenance of the functions used to a certain finite monoid. They introduced the notion of programs over monoids, that happens to give an algebraic, finite semigroup-theoretical, point of view on NC 1 and its subclasses.

= (p 1 , f 1 )(p 2 , f 2 ) • • • (p l , f l ) with p i ∈ [n] and f i : Σ → M for all i ∈ [l].
We denote by ξ P : Σ n → M * the evaluation function of P that transforms each word w ∈ Σ n into a word over M of length l according to the instructions of P , i.e.

ξ P (w) = f 1 (w p 1 )f 2 (w p 2 ) • • • f l (w p l ) .
Then, P uniquely defines a function from Σ n to M obtained by multiplying out (in (M, * )) the elements of the word ξ P (w) over M , i.e.

P (w) = f 1 (w p 1 ) * f 2 (w p 2 ) * • • • * f l (w p l ) = η (M, * ) (ξ P (w))
for all w ∈ Σ n , where η (M, * ) is the evaluation morphism of (M, * ).

Remark 3.3.2. In the above definition, when P = ε, then ξ P (w) = ε and P (w) = 1 (M, * ) for all w ∈ Σ n .

Programs over monoids allow defining a new notion of recognition, generalising that by morphisms in a non-uniform way, as follows.

Definition 3.3.3. Let Σ be an alphabet and (M, * ) be a finite monoid.

For each n ∈ N, a language L ⊆ Σ n is recognised by an (M, * )-program P on Σ n if and only if there exists F ⊆ M such that L = P -1 (F ).

Example 3.3.4. Consider the finite monoid (Z/2 Z, ×) where × denotes the canonical

product modulo 2. Let f a , f b ∈ (Z/2 Z) {a,b} such that f a (a) = f b (b) = 1 and f a (b) = f b (a) = 0. For all n ∈ N, the (Z/2 Z, ×)-program P 2n = (1, f a ) • • • (n, f a )(n + 1, f b ) • • • (2n, f b )
on {a, b} 2n recognises the language {a n b n }, as {a n b n } = P -1 (1). Definition 3.3.5. Let Σ be an alphabet and (M, * ) be a finite monoid. Let L ⊆ Σ * be a language on Σ. We say that a sequence (P n ) n∈N of (M, * )-programs such that each P n is on Σ n for n ∈ N recognises L if and only if for each n ∈ N, P n recognises L =n , i.e. there exists a sequence (F n ) n∈N of subsets of M such that L =n = P -1 n (F n ) for each n ∈ N. For all s : N → N and alphabet Σ, we define P(Σ * , (M, * ), s(n)) as the class of languages L over the alphabet Σ such that there exists a constant α ∈ R >0 and a sequence of (M, * )-programs (P n ) n∈N recognising L, where for all n ∈ N, |P n | ≤ α • s(n). We define

P(Σ * , (M, * )) = k∈N P Σ * , (M, * ), n k
as the set of languages over Σ that are recognised by sequences of polynomial-length programs over (M, * ); in that case, we also say that these languages are p-recognised by these sequences of programs as well as by the finite monoid (M, * ).

Let now V be a variety of finite monoids, we similarly define

P(Σ * , V, s(n)) = (M, * )∈V P(Σ * , (M, * ), s(n))
and P(Σ * , V) = (M, * )∈V P(Σ * , (M, * )).

Finally P((M, * ), s(n)), P((M, * )), P(V, s(n)) and P(V) will just denote the union, over all alphabets Σ, of the classes P(Σ * , (M, * ), s(n)), P(Σ * , (M, * )), P(Σ * , V, s(n)) and P(Σ * , V) respectively.

Example 3.3.6. Continuing with Example 3.3.4, for all n ∈ N, let us define the program P 2n+1 = ε over (Z/2 Z, ×) on {a, b} 2n+1 that recognises ∅. Then, the sequence of (Z/2 Z, ×)-programs (P n ) n∈N recognises {a n b n | n ∈ N} which is, by the way, well known to be a non-regular language. Thus, we have

{a n b n | n ∈ N} ∈ P((Z/2 Z, ×), n) ⊆ P((Z/2 Z, ×)).
The most striking aspect of this definition is that, as V ranges over varieties of finite monoids, polynomial-length programs over monoids in V capture NC 1 and all its known subclasses3 , and allow even to get a very fine variety-parametrised structure in NC 1 . This points to deep links between computational complexity theory within NC 1 and algebraic automata theory.

Theorem 3.3.7 [START_REF] Barrington | Finite monoids and the fine structure of NC 1[END_REF]). We have the following equalities.

1. AC 0 = P(A).

2. ACC 0 = P(M sol ).

NC 1 = P(M).

Unfortunately, though this formalism sharpened the computational complexity theorists' understanding of NC 1 and its subclasses and gave a new, algebraic way, to approach those, it did not help to prove new separation results inside NC 1 for the moment. At the time of writing of this thesis, nobody has in fact even been able to reprove the now wellestablished results on constant-depth circuits (e.g., that MOD 2 / ∈ AC 0 ) by using novel semigroup-theoretic-flavoured techniques. Thus, as this already seems to be a difficult problem, proving new separation results directly using the "program over monoid" formalism seems currently to be out of reach, and the work around this formalism presented in the two remaining chapters of this thesis represents a much more modest contribution.

"If you can't solve a problem, then there is an easier problem you can solve: find it." Applying this principle by George Pólya (to be found in his book "How to Solve It"), in the remainder of this chapter and the two that follow, we try to understand the computational power of (polynomial-length) programs over monoids taken from small varieties of finite (aperiodic) monoids4 , using some more general observations on the link between regular languages and program-recognition we first do. The hope behind this line of work is that a better understanding of P(V) for varieties of finite monoids V ⊂ A will trigger new insights into how to tackle questions about P(A) without the need for constant-depth circuit lower bounds technology such as Håstad's switching lemma and Razborov's method of approximations (see [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]). The most fundamental of these questions is to show that MOD m / ∈ P(A) for all m ∈ N, m ≥ 2. Solving this could in turn give new ideas to attack open questions concerning the other common classes in NC 1 .

Our work in the remainder of this chapter and the two that follow builds on a considerable body of previous research. [START_REF] Mckenzie | Automata theory meets circuit complexity[END_REF], and later together with [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF], were the first to define, and propose a systematic investigation of, P(V) when V ranges over all varieties of finite monoids, pinpointing the strong link between regular languages and program-recognition as well as giving various results in the framework of such an investigation. Around the same time, [START_REF] Barrington | Regular languages in NC 1[END_REF] managed to give an exact characterisation of the regular languages on {0, 1} in AC 0 and ACC 0 [p] for all p ∈ N prime, building on the at the time recent constant-depth circuits size lower bound results. Péladeau, in his Ph.D. thesis [START_REF] Péladeau | Classes de circuits booléens et variétés de monoïdes[END_REF], introduced the notion of a p-variety of finite monoids, in an attempt to prove an Eilenberg-type theorem in the case of p-recognition by finite monoids (relying on a still unproven conjecture). Along with Straubing and Thérien in a subsequent article [START_REF] Péladeau | Finite semigroup varieties defined by programs[END_REF], he gave a general characterisation of the class of regular languages p-recognised by semigroups taken from any p-variety of finite semigroups of the form V * LI where V is a variety of finite monoids (when everything is appropriately carried over to the case of finite semigroups). The property of being a p-variety has later been proven to hold for various varieties of finite monoids by [START_REF] Straubing | When can one finite monoid simulate another?[END_REF][START_REF] Straubing | Languages defined with modular counting quantifiers[END_REF] (although he used a stronger nonequivalent notion of p-recognition by a finite monoid), as well as by [START_REF] Lautemann | An algebraic point of view on the Crane Beach property[END_REF], but also for the variety of finite semigroups J * LI by [START_REF] Maciel | Programs over semigroups of dot-depth one[END_REF].

Concerning more specifically the computational power of programs over monoids taken from small varieties of finite aperiodic monoids, we note an early article by [START_REF] Thérien | Programs over aperiodic monoids[END_REF] that precisely studies programs over aperiodic monoids and their unability to decide MOD m for some m ∈ N, m ≥ 2, using the at the time recent results on lower bounds for the size of constant-depth Boolean circuits deciding these languages. Later on, along with Tesson in [START_REF] Tesson | The computing power of programs over finite monoids[END_REF], he carried out an in-depth study of the notions of universality and polynomial-length property already at least implicitly considered in [START_REF] Thérien | Programs over aperiodic monoids[END_REF]. Tesson pushed this study slightly further in his Ph.D. thesis [START_REF] Tesson | Computational Complexity Questions Related to Finite Monoids and Semigroups[END_REF]. [START_REF] Gavaldà | Algebraic characterizations of small classes of Boolean functions[END_REF] investigated the link between programs over monoids taken from small varieties of finite aperiodic monoids (or semigroups) and restricted Boolean computation models such as DNFs and bounded-rank decision trees to establish correspondences between classes.

Our contributions within this line of work, presented in the remainder of this chapter and the two that follow, can be summarised in short as follows: we introduce a notion that strengthens that of a p-variety of finite monoids, we apply the notion to study the classes of regular languages p-recognised by monoids taken from, respectively, DA and J, and we report some findings about the polynomial-length property for those monoids.

We point out that, to the best of our knowledge, all the definitions and results stated from here onwards are new, unless otherwise stated. Subsection 3.4.2 in the next section and Chapter 4 are based on the article [START_REF] Grosshans | The power of programs over monoids in DA[END_REF].

Some general properties of programs

In this subsection, we review some basic closure properties for recognition by programs, most of them to be found in [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF] in the context of p-recognition, often refining their statements and proofs.

The first, and very obvious, property of programs, is that, no matter what variety of finite monoids we consider, any trivial language can be recognised by a sequence of programs of constant length (actually 0 length) over some finite monoid of that variety (actually, any such monoid). Proposition 3.3.8. For any variety of finite monoids V, for each alphabet Σ, we have {∅, Σ * } ⊆ P(V, 1).

Sequences of programs over monoids, each sequence recognising some language, can be combined to recognise some Boolean combination of those languages.

Lemma 3.3.9. Let (M 1 , * 1 ), . . . , (M r , * r ) be r ∈ N >0 finite monoids. For all n ∈ N and for any Boolean combination L of languages L 1 , . . . , L r ⊆ Σ n such that each

L i for i ∈ [r] is recognised by an (M i , * i )-program P i on Σ n , there exists an (M 1 , * 1 ) × • • • × (M r , * r )- program P on Σ n recognising L with |P | = r i=1 |P i |. Proof. Let n ∈ N and let L ⊆ Σ n be some Boolean combination of languages L 1 , . . . , L r ⊆ Σ n such that each L i for i ∈ [r] is recognised by an (M i , * i )-program P i on Σ n .
This means that for each i ∈ [r], there exists F i ⊆ M i verifying L i = P -1 i (F i ) and

P i = (p i,1 , f i,1 )(p i,2 , f i,2 ) • • • (p i,l i , f i,l i )
where

l i = |P i | and (p i,j , f i,j ) ∈ [n] × M i Σ for each j ∈ [l i ].
Now for each i ∈ [r], we can define an (M 1 , * 1 ) × • • • × (M r , * r )-program P i on Σ n of the same length as P i so that

P i = (p i,1 , f i,1 )(p i,2 , f i,2 ) • • • (p i,l i , f i,l i ) where for each j ∈ [l i ], f i,j ∈ (M 1 × • • • × M r ) Σ is defined by f i,j (a) = (1 (M 1 , * 1 ) , . . . , 1 (M i-1 , * i-1 ) , f i,j (a), 1 (M i+1 , * i+1 ) , . . . , 1 (Mr, * r) ) .
It is obvious that for all w ∈ Σ n , we have

P i (w) = (1 (M 1 , * 1 ) , . . . , 1 (M i-1 , * i-1 ) , P i (w), 1 (M i+1 , * i+1 ) , . . . , 1 (Mr, * r) ) .
Hence, we can set P to be the (M 1 , * 1 ) × • • • × (M r , * r )-program on Σ n obtained by concatenating the programs P 1 to P r , i.e. P = P 1 • • • P r . By construction, we can directly see that for all w ∈ Σ n , we have

P (w) = P 1 (w) * • • • * P r (w) = (P 1 (w), . . . , P r (w))
where * denotes the product of

(M 1 , * 1 ) × • • • × (M r , * r ).
As L is some Boolean combination of L 1 , . . . , L r , there exist q ∈ N >0 and for each i ∈ [q], languages K i,1 , . . . , K i,r ⊆ Σ n verifying that K i,j is equal to L j or its complement

Σ n \ L j for all j ∈ [r], such that L = q i=1 r j=1 K i,j .
For all i ∈ [q] and j ∈ [r], we can now define F i,j ⊆ M j as

F j if K i,j = L j and M j \ F j otherwise (K i,j = Σ n \ L j ), so that K i,j = P -1 j (F i,j ). It is obvious that r j=1 K i,j = P -1 (F i,1 × • • • × F i,r ) for all i ∈ [q], so that if we set F = q i=1 F i,1 × • • • × F i,r , we get that L = q i=1 r j=1 K i,j = P -1 (F ), as inverses of functions commute with unions. Hence, P is a (M 1 , * 1 ) × • • • × (M r , * r )-program on Σ n that recognises L and is of length exactly r i=1 |P i |.
As a corollary, we can derive the following result.

Proposition 3.3.10. For any variety of finite monoids V and any function s : N → N,

we have that P(V, s(n)) is closed under Boolean combinations.

No one was ever able to prove the analogous proposition for varieties of finite semigroups, because it is most certainly false; however, to the best of our knowledge, no one ever proved it to be false either.

To prove that a given language L is recognised by a sequence of programs over a given finite monoid (M, * ), it might sometimes be easier to think about that sequence of programs as transforming input words into other words that will be tested for membership in another language L that we already know to be recognised by a sequence of programs over (M, * ). This can be formalised through the notion of a program-reduction, most probably first defined by Péladeau in his Ph.D. thesis [START_REF] Péladeau | Classes de circuits booléens et variétés de monoïdes[END_REF].

= (p 1 , f 1 )(p 2 , f 2 ) • • • (p l , f l ) with p i ∈ [n] and f i : Σ → Γ for all i ∈ [l]
. Ψ uniquely defines a function from Σ n to Γ l by transforming each word w ∈ Σ n into a word in Γ l according to the instructions of Ψ, i.e.

Ψ(w) = f 1 (w p 1 )f 2 (w p 2 ) • • • f l (w p l ) .
Let now L ⊆ Σ * and K ⊆ Γ * . We say that L program-reduces to K if and only if there exists a sequence

(Ψ n ) n∈N of Γ-programs such that Ψ n is on Σ n and L =n = Ψ -1 n (K =|Ψn| ) for each n ∈ N. Defining s : N → N by s(n) = |Ψ n | for all n ∈ N, we say that (Ψ n ) n∈N is a program-reduction from L to K of length s(n); when moreover there exists α ∈ R >0 and k ∈ N verifying s(n) ≤ α • n k for all n ∈ N, we can say it is a p-reduction from L to K.
Proposition 3.3.12. Let Σ and Γ be two alphabets. Let (M, * ) be a finite monoid. Given some language K over Γ that is in P((M, * ), s(n)) for some function s : N → N and some other language L over Σ from which there exists a program-reduction to K of length t(n), for t : N → N some function, we have that L ∈ P((M, * ), s(t(n))).

In particular, when K is p-recognised by (M, * ) and L p-reduces to K, we have that L is also p-recognised by (M, * ).

Proof. Let us take some language K over Γ that is in P((M, * ), s(n)) for some function s : N → N. This means there exists a sequence (P n ) n∈N of (M, * )-programs that recognises L, that is to say, there exists a sequence (F n ) n∈N of subsets of M such that K =n = P -1 n (F n ) for each n ∈ N. Moreover, there exists some α ∈ R >0 verifying that

|P n | ≤ α • s(n) for all n ∈ N.
Let us also take some other language L over Σ from which there exists a programreduction to K of length t(n), for t : N → N some function. This means there exists a sequence

(Ψ n ) n∈N of Γ-programs that is a program-reduction of L to K of length t(n), which implies that for each n ∈ N, |Ψ n | = t(n) and L =n = Ψ -1 n (K =t(n) ). Let n ∈ N. Assume that P t(n) = (p 1 , f 1 )(p 2 , f 2 ) • • • (p l , f l ) where l = P t(n) , p i ∈ [t(n)] and f i ∈ M Γ for all i ∈ [l],
as well as

Ψ n = (q 1 , g 1 )(q 2 , g 2 ) • • • (q t(n) , g t(n) )
where

q i ∈ [n] and g i ∈ Γ Σ for all i ∈ [t(n)]. We can now build a new (M, * )-program on Σ n as Q n = (q p 1 , f 1 • g p 1 )(q p 2 , f 2 • g p 2 ) • • • (q p l , f l • g p l ) .
Then, for all w ∈ Σ n , if we set ŵ = Ψ n (w) = g 1 (w q 1 )g 2 (w q 2 ) • • • g t(n) (w q t(n) ), we have

Q n (w) = f 1 g p 1 (w qp 1 ) * f 2 g p 2 (w qp 2 ) * • • • * f l g p l (w qp l ) = f 1 ( ŵp 1 ) * f 2 ( ŵp 2 ) * • • • * f l ( ŵp l ) = P t(n) ( ŵ) = P t(n) (Ψ n (w)) .
This finally means that Q n = P t(n) • Ψ n , so that

L =n = Ψ -1 n (K =t(n) ) = Ψ -1 n (P -1 t(n) (F t(n) )) = Q -1 n (F t(n) ) .
Moreover, we have that

|Q n | = l ≤ α • s(t(n)).
Therefore, L is recognised by the sequence

(Q n ) n∈N of (M, * )-programs verifying that |Q n | ≤ α • s(t(n)) for all n ∈ N.
The conclusions of the proposition follow.

This result allows us to prove the following additional closure property.

Proposition 3.3.13. For any variety of finite monoids V and any k ∈ N, we have that P V, n k is closed under quotients and inverses of lm-morphisms.

Proof. Let V be a variety of finite monoids and k ∈ N. Fix some alphabet Σ and let L ⊆ Σ * be some language over Σ that is in P V, n k . Closure under quotients. Let u ∈ Σ * . Consider u -1 L. When |u| = 0, it is obvious that u -1 L = ε -1 L = L belongs to P V, n k . Otherwise, we have |u| > 0. It is easy to prove that {ε} and Σ + both belong to P(V, 1) ⊆ P V, n k , so that the language L over Σ defined by

L =    L ∪ {ε} if u ∈ L L ∩ Σ + otherwise (u / ∈ L)
belongs to P V, n k by Proposition 3.3.10. We are now going to define a programreduction from u -1 L to L . For this, for each i

∈ [|u|] we define f u i ∈ Σ Σ by f u i (a) = u i for all a ∈ Σ. Let n ∈ N >0 ; we define the Σ-program Ψ n on Σ n as Ψ n = (1, f u 1 ) • • • (1, f u |u| )(1, id Σ ) • • • (n, id Σ ) .
It is direct to see that for all w ∈ Σ n , Ψ n (w) = uw, so that (u

-1 L) =n = {w ∈ Σ n | uw ∈ L} = {w ∈ Σ n | Ψ n (w) ∈ L } = Ψ -1 n (L =n+|u| ). Moreover, |Ψ n | = n + |u|.
Now, we specifically define the Σ-program Ψ 0 = ε on Σ 0 , the only way it can be defined. By definition of L , we necessarily have (u

-1 L) =0 = {u} ∩ L = Ψ -1 0 (L =0 ) and moreover, |Ψ 0 | = 0. Therefore, (Ψ n ) n∈N is a program-reduction from u -1 L to L of length t(n) where t : N → N is defined by t(n) =    n + |u| if n > 0 0 otherwise (n = 0)
for all n ∈ N. This means, by Proposition 3.3.12, that u -1 L ∈ P V, (t(n)) k . But we have

0 k = (1 + |u|) k • 0 k and (t(n)) k = (n + |u|) k ≤ (1 + |u|) k • n k for all n ∈ N >0 , so that, in conclusion, u -1 L ∈ P V, n k .
We can prove that Lu -1 ∈ P V, n k in a very similar way. Hence, P V, n k is closed under left and right quotients of L.

Closure under inverses of lm-morphisms. Let ϕ : Γ * → Σ * be an lm-morphism

from (Γ * , •) to (Σ * , •)
where Γ is some alphabet. We are going to define a programreduction from ϕ -1 (L) to L. For this, if we denote by l ∈ N the non-negative integer such that ϕ(Γ) ⊆ Σ l , for each i ∈ [l], we define f i ∈ Σ Γ by f i (a) = ϕ(a) i for all a ∈ Σ. Let n ∈ N; we define the Σ-program Ψ n on Γ n as

Ψ n = (1, f 1 ) • • • (1, f l )(2, f 1 ) • • • (2, f l ) • • • • • • (n, f 1 ) • • • (n, f l ) .
It is direct to see that for all w ∈ Γ n , Ψ n (w) = ϕ(w), so that (ϕ -1 (L)

) =n = {ϕ(w) ∈ L | w ∈ Γ n } = Ψ -1 n (L =l•n ). Moreover, |Ψ n | = l • n. Therefore, (Ψ n ) n∈N is a program-reduction from ϕ -1 (L) to L of length l • n. This means, by Proposition 3.3.12, that ϕ -1 (L) ∈ P V, (l • n) k . But we have (l • n) k = l k • n k for all n ∈ N, so that, in conclusion, ϕ -1 (L) ∈ P V, n k .
Hence, P V, n k is closed under inverse images of L through lm-morphisms.

In conclusion, since this holds for any language L over some alphabet Σ, we proved the proposition.

We end this section with a definition, that is folklore, that will be useful when doing syntactical manipulations of programs. Definition 3.3.14. Let Σ be an alphabet and (M, * ) be a finite monoid. For two programs P and P over (M, * ) on Σ n for some n ∈ N, we shall say that P is a subprogram, a prefix or a suffix of P if and only if it is, respectively, a subword, a prefix or a suffix of P as a word on [n] × M Σ . We shall also say that P and P are equivalent if and only if any language L ⊆ Σ n recognised by P is also recognised by P and vice versa.

Regular languages and programs

As we already mentioned briefly in the previous section, in [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF], McKenzie, Péladeau and Thérien uncovered a deep link between the computational power of polynomial-length programs over monoids taken from some variety of finite monoids V and the class of regular languages that are p-recognised by finite monoids in V. And, in fact, Péladeau's notion of a p-variety of finite monoids [START_REF] Péladeau | Classes de circuits booléens et variétés de monoïdes[END_REF] expresses, for a given variety of finite monoids V, a certain notion of "well-behaviour" of p-recognition of regular languages by monoids of V (compared to classical morphism-recognition by monoids of V) that suffices to restate almost all conjectures about the internal structure of NC 1 as the fact that all varieties of finite monoids V respectively corresponding to the concerned subclasses of NC 1 are p-varieties. In this section, we shall elaborate on that link and introduce a stronger notion of an sp-variety of finite monoids whose advantage over the notion of a p-variety of finite monoids is that when it is verified for a given variety of finite monoids V, it directly entails an almost exact characterisation of the class of regular languages p-recognised by monoids of V (which happens to be exact in many cases).

First results and importance of regular languages in the realm of programs

The first obvious link between recognition by morphisms and recognition by programs is that for any finite monoid (M, * ), any language over some alphabet Σ recognised by (M, * ) in the classical, morphism-sense, is also p-recognised by (M, * ). This is formalised in the following proposition, that is straightforward to prove. Proposition 3.4.1. Let (M, * ) be a finite monoid and Σ an alphabet. Then, any language over Σ recognised by (M, * ) is a also recognised by a sequence of linear-length (M, * )programs. More generally, for any variety of finite monoids V, L(V)(Σ * ) ⊆ P(Σ * , V, n) for any alphabet Σ, so that L(V) ⊆ P(V, n).

Moreover, the class of regular languages p-recognised by monoids taken from some variety of finite monoids is an lm-variety of languages. This is proved by combining Propositions 3.3.8, 3.3.10 and 3.3.13 with the fact that the class of all regular languages Reg is a variety of languages.

Proposition 3.4.2. Let V be a variety of finite monoids. Then P(V) ∩ Reg forms an lm-variety of languages.

The concept of a program-reduction will be particularly useful in many cases in which it will be easier, at no extra cost in final program length, to give a program-reduction from some language L to some regular language in L(V) for some variety of finite monoids V, rather than giving directly a sequence of programs over a finite monoid in V recognising L. This is stated formally in the following easy corollary of Proposition 3.3.12.

Corollary 3.4.3. Let Σ and Γ be two alphabets. Let (M, * ) be a finite monoid. Given some language K over Γ that is recognised (classically) by (M, * ) and some other language L over Σ from which there exists a program-reduction to K of length s(n), for s : N → N some function, we have that L ∈ P((M, * ), s(n)).

This concept allows us to prove that for a wealth of varieties of finite monoids V, we not only have that P(V) contains all of L(V), but also a good deal of other regular languages.

Let us say a stamp ϕ : Σ * → M from the free monoid (Σ * , •) generated by the alphabet Σ to a finite monoid (M, * ) is cyclic if and only if ϕ(a) = ϕ(b) for all a, b ∈ Σ. Observe that, in this case, (M, * ) is necessarily generated by its unique element m = ϕ(a) for any a ∈ Σ, and is hence what is called a cyclic monoid. Since a stamp that lm-divides a cyclic stamp is also cyclic and the stamp product of two cyclic stamps is cyclic as well (as is directly seen from the definition of these operations), we have that the class of all cyclic stamps is an lm-variety of stamps, that we will denote by CYC. Another example of an lm-variety of cyclic stamps is MOD, that is simply CYC where stamps are restricted to go into finite cyclic groups. The following result says that no matter what variety of finite monoids V we consider, programs over monoids in V can always decorate each of their input letters with the value of a counter given as the image through a cyclic stamp ψ of the word of letters preceding it (i.e. transform the input word w into σ ψ (w); see Subsection 3.2.3 for the definition of the sequential function σ ψ ); in particular, they can always handle the sort of "counting" introduced by the wreath product of a stamp into a monoid of V with some cyclic stamp when it comes to recognising regular languages, contrary to most cases of morphism-recognition. Lemma 3.4.4. Let V be a variety of finite monoids. Let ψ : Σ * → N be a cyclic stamp from the free monoid (Σ * , •) generated by some alphabet Σ to a finite monoid (N, ⊥) and let V be a language over Σ × N that belongs to P(V, s(n)) for s : N → N some function. Then, σ -1 ψ (V ) ∈ P(V, s(n)).

Proof. We know that L = σ -1 ψ (V ) is a language over Σ. We shall now define a program-reduction from σ -1 ψ (V ) to V of linear length. Observe first that since ψ is a cyclic stamp, for all n ∈ N, there exists

x n ∈ N verifying ψ(Σ n ) = {x n }. For all n ∈ N >0 , we define f n ∈ (Σ × N ) Σ by f n (a) = (a, x n-1 ) for all a ∈ Σ. Fix n ∈ N. We define the (Σ × N )-program Ψ n on Σ n as Ψ n = (1, f 1 )(2, f 2 )(3, f 3 ) • • • (n, f n ) .
Then, for all w ∈ Σ n , we have

Ψ n (w) = f 1 (w 1 )f 2 (w 2 )f 3 (w 3 ) • • • f n (w n ) = (w 1 , x 0 )(w 2 , x 1 )(w 3 , x 2 ) • • • (w n , x n-1 ) = (w 1 , ψ(ε))(w 2 , ψ(w 1 ))(w 3 , ψ(w 1 w 2 )) • • • (w n , ψ(w 1 w 2 • • • w n-1 )) = σ ψ (w) . This means that Ψ n = σ ψ | Σ n , so that, since σ -1 ψ ((Σ × N ) n ) = Σ n , we have L =n = σ -1 ψ (V ) ∩ Σ n = σ -1 ψ (V ∩ (Σ × N ) n ) = (σ ψ | Σ n ) -1 (V =n ) = Ψ -1 n (V =n ) ,
as inverses of functions commute with intersections. Therefore, (Ψ n ) n∈N is a program-reduction from L to V of length n. Since there exists some monoid (M, * ) ∈ V such that V belongs to P((M, * ), s(n)), it follows by Proposition 3.3.12 that σ -1 ψ (V ) = L ∈ P(V, s(n)).

Proposition 3.4.5. For any variety of finite monoids V and any lm-variety of cyclic stamps W, we have L( V all * W) ⊆ P(V, n).

Proof. Let V be a variety of finite monoids and W an lm-variety of cyclic stamps. Fix some alphabet Σ.

Let L ∈ L(W)(Σ * ). Let η : Σ * → M be its syntactic morphism, where (M, * ) is its syntactic monoid and let F ⊆ M be such that L = η -1 (F ).

By definition of L(W), η is a stamp of W; in particular, it is a cyclic stamp. This means that for all n ∈ N, there exists m n ∈ M verifying η(Σ n ) = {m n }, so that either

L =n = Σ n when m n ∈ F or L =n = ∅ when m n / ∈ F .
Let now (N, ⊥) be any finite monoid in V (that contains at least all trivial monoids by definition). For each n ∈ N, we define P n = ε to be the empty (N, ⊥)-program on Σ n ; for all n ∈ N, we then have that P n (Σ n ) = {1 (N,⊥) }, so that L =n = P -1 n (1 (N,⊥) ) when m n ∈ F and L =n = P -1 n (∅) when m n / ∈ F . Hence, (P n ) n∈N recognises L and as |P n | = 0 for all n ∈ N, we have L ∈ P(V, n).

Hence, since this is true for any L ∈ L(W)(Σ * ), we have that L(W)(Σ * ) ⊆ P(V, n).

Let now ψ : Σ * → N be some stamp in W from (Σ * , •) to a finite monoid (N, ⊥) and V ∈ L( V all )((Σ × N ) * ) = L(V)((Σ × N ) *
). This means that V ∈ P(V, n) by Proposition 3.4.1, so that by Lemma 3.4.4 we have that σ -1 ψ (V ) ∈ P(V, n).

Now since P(V, n) contains all languages of L(W)(Σ * ) and all languages of the form σ -1 ψ (V ), where ψ : Σ * → N is some stamp in W from (Σ * , •) to a finite monoid (N, ⊥) and V ∈ L( V all )((Σ × N ) * ), and since P(V, n) is closed under finite Boolean combinations by Proposition 3.3.10, it follows by Theorem 3.2.15 that L( V all * W)(Σ * ) ⊆ P(V, n).

In conclusion, as this is true for any alphabet Σ, we have L( V all * W) ⊆ P(V, n).

But why be interested at all in the class of regular languages p-recognised by monoids taken from some variety of finite monoids V beyond the quest for understanding this class for its own sake? The work of McKenzie, [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF] showed that any class of languages p-recognised by a monoid belonging to a variety of finite monoids is uniquely characterised by the class of regular languages contained in the variety, i.e. for all varieties of finite monoids V and W, we have P(V) = P(W) if and only if P(V) ∩ Reg = P(W) ∩ Reg. So this means in particular that determining exactly what regular languages are in P(V) is a fundamental problem that is often at least as difficult as proving a separation between P(V) and some other class P(W).

Barrington, Compton, Straubing and Thérien [START_REF] Barrington | Regular languages in NC 1[END_REF] exactly characterised the regular languages over {0, 1} in AC 0 and ACC 0 [p] for all p ∈ N prime, building on the at the time recent constant-depth circuits size lower bound results. Let L 1 = MOD 2 and L 2 = (0 + 1) 2 * (0 + 1) be two languages in {0, 1} * . On the one hand, thanks to the result of Furst, Saxe and Sipser Furst et al. [1984] and, independently, Ajtai Ajtai [1983] (Theorem 1.3.7), we know that L 1 / ∈ AC 0 , while it is easy to see that L 2 ∈ AC 0 . On the other hand, M(L 1 ) and M(L 2 ) are isomorphic and if we define ϕ : {0, 1} * → {0, 1} * as the unique monoid endomorphism of ({0, 1} * , •) such that ϕ(0) = 11 and ϕ(1) = 1, we have that L 1 = ϕ -1 (L 2 ). So this implies that membership of a regular language in the class AC 0 ∩ Reg does not solely depend on its syntactic monoid and that this class is not a variety of languages, since it isn't closed under inverses of monoid morphisms. But the authors of [START_REF] Barrington | Regular languages in NC 1[END_REF] managed to characterise that class in terms of the syntactic morphisms of the regular languages it contains.

This prompted [START_REF] Straubing | On logical descriptions of regular languages[END_REF] to define more general notions of varieties of languages, each corresponding to a certain notion of varieties of stamps, namely the notions of C-varieties of languages and associated C-varieties of stamps. Those notions of varieties are interesting because they are parameterised by the class C of morphisms between finitely generated free monoids that on one hand go through when considering the property of stability under taking inverses of morphisms in the language varieties, and on the other hand adapt the notion of division considered for the property of stability under stamp division in the stamp varieties. And this is precisely what is needed for the study of AC 0 ∩ Reg, because while AC 0 ∩ Reg is not closed under taking inverses of every morphism between finitely generated free monoids, it is closed under taking inverses of any such morphism which is length-multiplying.

Let ϕ : Σ * → M be some stamp from the free monoid (Σ * , •) generated by some alphabet Σ to some finite monoid (M, * ). Then, since M is finite, there exists s ∈ N >0 such that ϕ(Σ s ) = ϕ(Σ 2s ). We call the semigroup (ϕ(Σ s ), * | ϕ(Σ s ) ) for the smallest such s the stable semigroup of ϕ and ϕ((Σ s ) * ), * | ϕ((Σ s ) * ) its stable monoid. Given V some variety of finite semigroups (monoids), we will denote by QV the class of quasi-V stamps, which is the class of all stamps whose stable semigroup (monoid) is in V; it is an lmvariety of stamps. (See [START_REF] Pin | Some results on C-varieties[END_REF] and [START_REF] Dartois | Adding modular predicates[END_REF] for further details.)

Why define all this? It is because the class of regular languages AC 0 ∩ Reg, as shown in [START_REF] Barrington | Regular languages in NC 1[END_REF] for the case of languages over {0, 1} and as we will prove in the next subsection, is exactly the lm-variety of languages whose syntactic morphisms are quasi-aperiodic, i.e. belong to QA. 5 That is to say, P(A) ∩ Reg = AC 0 ∩ Reg = L(QA). Basically, this result means that, over finite aperiodic monoids, p-recognition does not allow recognising many more regular languages than classical morphism-recognition: in fact, as we shall see in the next subsection, we have A all * MOD = QA, so that precognition over monoids in A informally only gives the ability to "count modulo some positive integer" in addition to what can be done through morphism-recognition over monoids in A. To study more systematically the varieties of finite monoids that are similarly "well-behaved" with respect to regular language program-recognition, we have to take a step back and try to characterise and understand the general properties these varieties do share.

Tame varieties of finite monoids

For this we introduce the notion of an sp-variety of finite monoids. This notion is inspired by the notion of p-varieties (program-varieties) of finite monoids originally defined by Péladeau in his Ph.D. thesis [START_REF] Péladeau | Classes de circuits booléens et variétés de monoïdes[END_REF]. The notion was used later by Straubing in [START_REF] Straubing | When can one finite monoid simulate another?[END_REF][START_REF] Straubing | Languages defined with modular counting quantifiers[END_REF] (noting that Straubing's notion of p-recognition by a finite monoid is strictly stronger), as well as by [START_REF] Lautemann | An algebraic point of view on the Crane Beach property[END_REF] and by Tesson alone in his own Ph.D. thesis [START_REF] Tesson | Computational Complexity Questions Related to Finite Monoids and Semigroups[END_REF]. Furthermore, the notion of a p-variety has also been defined for varieties of finite semigroups by [START_REF] Péladeau | Finite semigroup varieties defined by programs[END_REF] (using an adequate notion of programs over semigroups, that we won't define in this thesis) who obtained results similar to ours for varieties of finite semigroups of the form V * LI (equal to V * D when V is a nontrivial variety of finite monoids [START_REF] Straubing | Finite semigroup varieties of the form V * D[END_REF]).

Let us first define the notion of the set of word problems over a given stamp, finite semigroup or monoid. Definition 3.4.6 (Following McKenzie et al. [1991]). Let ϕ : Σ * → M be a stamp from the free monoid (Σ * , •) generated by some alphabet Σ to a finite monoid (M, * ). We denote by W(ϕ) the set of word problems over ϕ, made of all languages L over Σ such that L = ϕ -1 (F ) for some subset F of M , a word problem over ϕ. Given a finite semigroup (monoid) (S, * ), the set of word problems over (S, * ), denoted by W((S, * )), is simply W(η (S, * ) ), the set of word problems over the evaluation morphism η (S, * ) of (S, * ).

Intuitively, when the set of word problems over some finite semigroup (S, * ) satisfies the property that each language in the set is p-recognised by a monoid taken from some fixed variety of finite monoids V, it means that polynomial-length programs over monoids in V can simulate the multiplication in (S, * ).

The first obvious thing to observe is that, for any variety of finite monoids V and for any monoid (M, * ) ∈ V, we have that W((M, * )) ⊆ L(V), so that, by Proposition 3.4.1, it follows that W((M, * )) ⊆ P(V, n). For the same reasons, any finite semigroup (S, ⊥) verifying that (S, ⊥) 1 ∈ V also has its set of word problems contained in P(V, n). The notion of tameness we introduce requires a converse to the latter implication for finite semigroups.

Definition 3.4.7. An sp-variety of finite monoids, which we shall also call a tame such variety, is a variety V of finite monoids such that for any finite semigroup (S, * ), if W((S, * )) ⊆ P(V) then (S, * ) 1 ∈ V.

The notion of a p-variety of finite monoids in [START_REF] Lautemann | An algebraic point of view on the Crane Beach property[END_REF] is similar to our notion of an sp-variety, but the former only requires that any finite monoid (M, * ) verifying W((M, * )) ⊆ P(V) must in fact belong to V. Given some alphabet Σ, a language L over Σ has a neutral letter if and only if there exists e ∈ Σ verifying that for all u, v ∈ Σ * , uv ∈ L ⇔ uev ∈ L; an equivalent definition of a p-variety of finite monoids is that it is any variety of finite monoids V such that every regular language with a neutral letter in P(V) is in L(V). The notion of p-variety thus inherently corresponds to the kind of notion of "well-behaviour" we are looking for, but only for regular languages with a neutral letter; it does in fact not necessarily imply "well-behaviour" for p-recognition of languages without a neutral letter, as we shall see later in this subsection. This is why our notion of tameness is stronger, as any sp-variety of finite monoids is also a p-variety of finite monoids, but the converse is not always true. For instance, J is a p-variety of finite monoids [START_REF] Tesson | Computational Complexity Questions Related to Finite Monoids and Semigroups[END_REF], but our discussion at the end of this subsection shows that J is not an sp-variety of finite monoids and in fact does not "behave well".

The intuition behind this definition is that when a variety of finite monoids V is tame, it cannot simulate multiplication in any finite semigroup (S, * ) that does not belong to V after adjoining, when necessary, an identity to make a monoid out of it. The next proposition nails down the "well behaviour", i.e., the limited ability for p-recognising regular languages, that the tameness of V entails. Proposition 3.4.8. Let V be an sp-variety of finite monoids. Then P(V) ∩ Reg ⊆ L(QV).

A similar result was proven for varieties of finite semigroups of the form V * LI in [START_REF] Péladeau | Finite semigroup varieties defined by programs[END_REF], where languages are considered to be subsets of Σ + for some alphabet Σ. Our proof follows the same lines.

Proof. Let L be a regular language in P((M, * )) for some finite monoid (M, * ) ∈ V. Let M(L) be the syntactic monoid of L and η L its syntactic morphism. Let (S, ⊥) be the stable semigroup of η L , in particular S = η L (Σ k ) for some k ∈ N >0 . We wish to show that (S, ⊥) 1 , which is isomorphic to the submonoid of M(L) of underlying subset η L ((Σ k ) * ), is in V.

We show that W((S, ⊥)) ⊆ P(V) and conclude from the fact that V is an sp-variety of finite monoids that (S, ⊥) 1 ∈ V as desired. Let η (S,⊥) : S * → S 1 be the evaluation morphism of (S, ⊥). For each m ∈ S, consider L m = η -1 (S,⊥) (m); we wish to show that L m ∈ P(V) for all m ∈ S. Since additionally when (S, ⊥) is not a monoid, we have η -1 (S,⊥) (1) = {ε} that is easily seen to belong to P(V), this implies that W((S, ⊥)) ⊆ P(V) by closure under union of P(V) ∩ Reg, Proposition 3.4.2. Fix m ∈ S. Let L m = η -1 L (m). Since m belongs to the syntactic monoid of L and η L is the syntactic morphism of L, a classical algebraic argument [Pin, 1986, Chapter 2, proof of Lemma 2.6] shows that L m is a Boolean combination of quotients of L or their complements. By Proposition 3.4.2, we conclude that L m ∈ P(V).

By definition of (S, ⊥), for any element s of S there is a word u s of length k such that η L (u s ) = s. Notice that this is precisely where we need to work with (S, ⊥) and not (S, ⊥) 1 .

Let f : S * → Σ * be the unique lm-morphism from (S * , •) to (Σ * , •) sending s to u s and notice that L m = f -1 (L m ). The result follows by closure of P(V) ∩ Reg under inverse images of lm-morphisms, Proposition 3.4.2.

Dartois and Paperman showed [Dartois and Paperman, 2014, Corollary 18] (see also [START_REF] Dartois | Méthodes algébriques pour la théorie des automates[END_REF], [START_REF] Paperman | Circuits booléens, prédicats modulaires et langages réguliers[END_REF]) that, while V all * MOD ⊆ QV for any variety of finite monoids V, locality of V implies that equality holds. This allows us to give an exact characterisation of the lm-variety of regular languages p-recognised by monoids taken from some local sp-variety of finite monoids.

Proposition 3.4.9. Let V be a local sp-variety of finite monoids. Then P(V) ∩ Reg = L(QV).

Proof. By [Dartois and Paperman, 2014, Corollary 18], as V is local, we have QV = V all * MOD. Moreover, we know that MOD is an lm-variety of cyclic stamps, so by Proposition 3.4.5, we have that L(QV) ⊆ P(V). We can conclude applying Proposition 3.4.8, as V is tame.

We don't know whether it is always true that for non-local sp-varieties of finite monoids V, L(QV) is contained in P(V).

An example of an sp-variety of finite monoids is the class of finite aperiodic monoids A. This is a consequence of the celebrated result of Furst, Saxe and Sipser, and, independently, Ajtai, that for any integer m ∈ N, m ≥ 2, the language MOD m of words over {0, 1} that contain a number of 1's not congruent to 0 modulo m is not in AC 0 (Theorem 1.3.7).

Proposition 3.4.10. A is an sp-variety of finite monoids.

Proof. Towards a contradiction, assume there would exist a finite semigroup (S, * ) such that (S, * ) 1 is not aperiodic but still W((S, * )) ⊆ P(A).

Then there is an x in S such that x * ,ω = x * ,ω+1 where ω ∈ N >0 is the idempotent power of (S, * ) 1 . Consider the morphism µ : {0, 1} * → S * from the free monoid ({0, 1} * , •) to the free monoid (S * , •) sending 1 to x * ,ω+1 and 0 to x * ,ω : it is an lm-morphism (even an lp-morphism). Let us now consider the language (η (S, * ) • µ) -1 (S 1 \ {x * ,ω }) where η (S, * ) : S * → S 1 is the evaluation morphism of (S, * ): it is easy to see that it is MOD m , the language of all words over {0, 1} with a number of 1's not congruent to 0 modulo m, where m ∈ N, m ≥ 2 is the smallest positive integer such that x * ,ω+m = x * ,ω , that cannot be 1 because x * ,ω = x * ,ω+1 .

From the hypothesis that W((S, * )) ⊆ P(A), it follows that η -1 (S, * ) (S 1 \ {x * ,ω }) ∈ P(A), hence since µ is an lm-morphism and P(A) ∩ Reg is closed under inverses of lm-morphisms by Proposition 3.4.2, we have MOD m = µ -1 (η -1 (S, * ) (S 1 \ {x * ,ω })) ∈ P(A): a contradiction to Theorem 1.3.7.

As A is local [Tilson, 1987, Example 15.5] and an sp-variety, it follows from Proposition 3.4.9 that the regular languages in P(A), hence in AC 0 , are precisely those in L(QA). (This has originally been proven in [START_REF] Barrington | Regular languages in NC 1[END_REF] for the case of regular languages over {0, 1}.)

As partially observed by [START_REF] Tesson | Computational Complexity Questions Related to Finite Monoids and Semigroups[END_REF], we can prove that for some variety of finite monoids V to be a p-variety of finite monoids it is necessary and sufficient that for any variety of finite monoids W not contained in V, P(V) = P(W) -put differently, V is maximal in the sense that it is the unique inclusion-wise biggest variety of finite monoids W verifying P(V) = P(W). This means that proving V to be a p-variety of finite monoids is equivalent to giving an optimal separation result of P(V) from all other complexity classes defined using p-recognition by monoids taken from some variety of finite monoids not contained in V. For the case of sp-varieties of finite monoids, we can only prove that this optimal separation result is a necessary condition.

Proposition 3.4.11. Let V be an sp-variety of finite monoids. Then, for any variety of finite monoids W such that W V, we have P(V) = P(W).

Proof. Let W be a variety of finite monoids such that W V. This means that there exists a finite monoid (M, * ) ∈ W \ V. Since V is an sp-variety of finite monoids, we necessarily have W((M, * )) P(V), while W((M, * )) ⊆ P(W). Therefore, P(V) = P(W).

The converse statement is false for sp-varieties of finite monoids, and we will for instance see that this optimal separation result holds for J which isn't tame. This converse statement fails precisely because of the ability for monoids taken from some variety of finite monoids V to p-recognise any language recognised by the wreath product of a stamp into a monoid of V with some cyclic stamp, Proposition 3.4.5. This ability allows, in particular, for all interesting cases of varieties of finite monoids V, to p-recognise the regular language of words over {a, b} starting with an a. Lemma 3.4.12. For any non-trivial variety of finite monoids V, we have a(a + b) * ∈ P(V).

Proof. Let V be a non-trivial variety of finite monoids. Let (M, * ) be a monoid from V of order at least 2.

Consider the finite monoid (Z/2 Z, ×) where × denotes the canonical product modulo 2. Let us define the cyclic stamp ψ : {a, b} * → Z/2 Z from the free monoid ({a, b} * , •) to (Z/2 Z, ×) as the unique monoid morphism from ({a, b} * ,

•) to (Z/2 Z, ×) verifying ψ(a) = ψ(b) = 0. Then, it is direct to see that σ ψ (ε) = ε and σ ψ (w 1 w 2 w 3 • • • w n ) = (w 1 , 1)(w 2 , 0)(w 3 , 0) • • • (w n , 0) for all n ∈ N >0 , w ∈ Σ n .
Let m ∈ M be an element of M different from the identity 1 (M, * ) and define the monoid morphism ϕ : ({a, b} × Z/2 Z) * → M from the free monoid (({a, b} × Z/2 Z) * , •) to (M, * ) as the unique one satisfying ϕ(a, 1) = m and ϕ(a, 0) = ϕ(b, 1) = ϕ(b, 0) = 1 (M, * ) . Let V = ϕ -1 (m). By definition, V does belong to L(V)(({a, b} × Z/2 Z) * ) = L( V all )(({a, b} × Z/2 Z) * ) and since ψ ∈ CYC, it follows that σ -1 ψ (V ) is a language of L( V all * CYC)({a, b} * ) by Theorem 3.2.15.

It is easy to see that V does contain all words over {a, b} × Z/2 Z that have one unique letter (a, 1) but does not contain any of the words over that same alphabet that has no letter (a, 1), so, since for all w ∈ {a, b} * , σ ψ (w) does contain one unique letter (a, 1) when w is of length at least 1 and starts with the letter a, and doesn't contain any letter (a, 1) otherwise, we have that σ -1 ψ (V ) = a(a + b) * . In conclusion, as Proposition 3.4.5 tells us that L( V all * CYC) ⊆ P(V), we have a(a + b) * ∈ P(V), which ends the proof of the proposition.

It is straightforward to see that a(a + b) * has the property that the stable monoid of its syntactic morphism is equal to its syntactic monoid, which implies the following using the contrapositive of Proposition 3.4.8. Lemma 3.4.13. If V is a non-trivial sp-variety of finite monoids, then M(a(a+b) * ) ∈ V.

But the fact is exactly that there are p-varieties of finite monoids, like J [START_REF] Tesson | Computational Complexity Questions Related to Finite Monoids and Semigroups[END_REF], that do not contain M(a(a+b) * ). Thus, we have that P(J) = P(W) for any variety of finite monoids W such that W J while J is not an sp-variety of finite monoids. This shows that moving from the notion of a p-variety of finite monoids to the stronger notion of an sp-variety of finite monoids, we lose the equivalence with the optimal separation result of Proposition 3.4.11.

That being said, this example also makes clear why we need to replace the notion of a p-variety of finite monoids by the stronger notion of an sp-variety of finite monoids to be able to guarantee "well-behaviour" of p-recognition of regular languages as stated by Proposition 3.4.8: indeed, while J is a p-variety of finite monoids, we just showed that P(J) ∩ Reg L(QJ).

Taking stock, there are two main motivations for an exhaustive study of exactly which varieties of finite monoids are tame:

• because proving the tameness of a variety of finite monoids V is a big step towards the exact characterisation of P(V) ∩ Reg, the lm-variety of regular languages precognised by monoids in V;

• because proving the tameness of a variety of finite monoids V entails separation of P(V) from every complexity class of the form P(W) where W is a variety of finite monoids not contained in V.

To complete such a study would thus be of great interest for computational complexity theory in general, because many of the conjectures about the internal structure of NC 1 would be proven by showing some appropriate variety of finite monoids is tame. This for instance is the case for the conjectured strict containment in NC 1 of the class ACC 0 (corresponding to p-recognition by monoids from M sol ) [START_REF] Lautemann | An algebraic point of view on the Crane Beach property[END_REF], the current frontier of knowledge for lower bounds in computational complexity theory.

In the two next chapters of this thesis, we are pursuing a much humbler objective: to start this study for two classical "small" varieties of finite aperiodic monoids, DA and J, along with some other investigations about p-recognition by monoids drawn from these.

Chapter 4

The power of programs over monoids in DA

In this chapter we focus on p-recognition by monoids taken from the variety of finite monoids DA. DA is a well-known "small" variety of finite aperiodic monoids whose importance in algebraic automata theory and connections with other fields is well established (see [START_REF] Tesson | Diamonds are forever: the variety DA. Semigroups, algorithms[END_REF] for an eloquent testimony).

We start off with some specific preliminaries about DA in Section 4.1. The main result of this chapter, the tameness of DA, is proven in Section 4.2; as a consequence, we obtain that P(DA) ∩ Reg is exactly the lm-variety of languages L(QDA). Finally, we investigate Tesson and Thérien's polynomial-length property for monoids in DA [START_REF] Tesson | The computing power of programs over finite monoids[END_REF] in Section 4.3, where we give a fine hierarchy inside P(DA) for some parameterisation of DA, refining Tesson and Thérien's result.

The content of this chapter is based on the article [START_REF] Grosshans | The power of programs over monoids in DA[END_REF].

Specific preliminaries about DA

As we have seen in Section 3.1 of Chapter 3, DA is a strict subvariety of the variety of finite aperiodic monoids A.1 Its equational characterisation is the following: a finite monoid (M, * ) of idempotent power ω belongs to DA if and only if (xy) ω = (xy) ω x(xy) ω for all x, y ∈ M .

The property we now state is crucial to many proofs involving DA and our work will rely on this property as well.

Lemma 4.1.1. [Folklore] Let (M, * ) be some monoid in DA. For all u, u , r ∈ M , we have that u R u and ur R u imply u r R u. Similarly u L u and ru L u imply ru L u.

Informally, this lemma states that, given a monoid (M, * ) ∈ DA, for any u ∈ M , whether ur for some r ∈ M is strictly smaller than u according to the ≤ R preorder (i.e., whether right-multiplication by r changes to a lower R-class) only depends on the R-class of u and not on u itself.

Characterisation of L(DA)

The variety of languages L(DA) was first characterised by [START_REF] Schützenberger | Sur le produit de concaténation non ambigu[END_REF] using so-called unambiguous polynomials. Given an alphabet Σ, an unambiguous monomial over Σ is a language L over Σ of the form

A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A *
k for some k ∈ N, where A 0 , A 1 , . . . , A k-1 , A k are subsets of Σ and a 1 , a 2 , . . . , a k are letters of Σ, verifying that for each w ∈ L, there exists a unique decomposition of the form k]]. An unambiguous polynomial over Σ is then simply a (finite) disjoint union of unambiguous monomials over Σ. Schützenberger's result can then be stated as follows.

w = w 0 a 1 w 1 a 2 • • • w k-1 a k w k where w i ∈ A * i for each i ∈ [[0,
Theorem 4.1.2 [START_REF] Schützenberger | Sur le produit de concaténation non ambigu[END_REF]). For any alphabet Σ, L(DA)(Σ * ) is exactly the set of all unambiguous polynomials over Σ.

Following [START_REF] Gavaldà | Algebraic characterizations of small classes of Boolean functions[END_REF], we use an alternative definition of the languages recognised by a monoid in DA. We define by induction a hierarchy of classes of languages SUM k , where SUM stands for strongly unambiguous monomial. Definition 4.1.3. For a fixed finite alphabet Σ and for each k ∈ N, we define the set of languages of strongly unambiguous monomials of degree at most k over Σ, denoted by

SUM k (Σ * ), by induction on k. A language L ⊆ Σ * is in SUM 0 (Σ * ) if it is of the form A * for some alphabet A ⊆ Σ. For each k ∈ N >0 , a language L ⊆ Σ * is in SUM k (Σ * ) if it is in SUM k-1 (Σ * ) or L = L 1 aL 2 for some languages L 1 ∈ SUM i (Σ * ) and L 2 ∈ SUM j (Σ * ),
where i, j ∈ N verify i + j = k -1 and a ∈ Σ is such that no word of L 1 contains the letter a or no word of L 2 contains the letter a. A language L of SUM k (Σ * ) for k ∈ N is called a strongly unambiguous monomial (SUM) over Σ and is said to be of degree l for l ∈ N the minimum non-negative integer verifying L ∈ SUM l (Σ * ).

For each k ∈ N, we then define the class of languages of strongly unambiguous monomials of degree at most k, denoted by SUM k , simply as the union over all finite alphabets Σ of SUM k (Σ * ).

Observe that a SUM is a more constrained form of an unambiguous monomial. Gavaldà and Thérien stated without proof that a language L over some alphabet Σ is recognised by a monoid in DA if and only if there is a k ∈ N such that L is a Boolean combination of languages in SUM k [START_REF] Gavaldà | Algebraic characterizations of small classes of Boolean functions[END_REF]. This characterisation can be deduced from results shown by [START_REF] Kufleitner | On logical hierarchies within FO 2 -definable languages[END_REF] (more precisely, by combining Corollary 3.16, Theorem 3.21 and Proposition 3.23 of their article), but we move on to prove this result directly in this subsection, for completeness. Lemma 4.1.4. For all k ∈ N, any language in SUM k has its syntactic monoid in DA.

Proof. We shall prove it by induction on k.

Base case k = 0. Let L ∈ SUM 0 (Σ * ) for some alphabet Σ. This means that L = A * for some A ⊆ Σ. Let ∼ L be the syntactic congruence of L and let ω L be the idempotent power of L's syntactic monoid M(L) = (M, * ).

Let u, v ∈ Σ * , we are now going to show that (uv

) ω L ∼ L (uv) ω L u(uv) ω L . Let x, y ∈ Σ * satisfy x(uv) ω L y ∈ A * = L.
This means that all letters appearing in x, u, v and y belong to A * , so that x(uv

) ω L u(uv) ω L y ∈ A * = L.
Conversely, for all x, y ∈ Σ * , we can show that when x(uv

) ω L u(uv) ω L y ∈ L, we have x(uv) ω L y ∈ L.
This shows that (uv) ω L ∼ L (uv) ω L u(uv) ω L and as it is true for all u, v ∈ Σ * , by definition of the syntactic monoid of L, we have that (m * n) * ,ω L = (m * n) * ,ω L * m * (m * n) * ,ω L for all m, n ∈ M , so that (M, * ) does belong to DA.

This proves the base case.

Induction. Let k ∈ N >0 and assume that any language in SUM k-1 has its syntactic monoid in DA.

Let L ∈ SUM k (Σ * ) for some alphabet Σ. This means that either L is in SUM k-1 (Σ * ) and so its syntactic monoid belongs to DA by inductive hypothesis, or L = L 1 aL 2 for some languages L 1 ∈ SUM i (Σ * ) and L 2 ∈ SUM j (Σ * ), where i, j ∈ N verify i + j = k -1 and a ∈ Σ is such that no word of L 1 contains the letter a or no word of L 2 contains the letter a. We shall only treat the case in which a does not appear in any of the words of L 1 ; the other case is treated symmetrically.

As L 1 and L 2 both belong to SUM k-1 (Σ * ), by inductive hypothesis, their respective syntactic monoids belong to DA.

Let ∼ L , ∼ L 1 and ∼ L 2 be the syntactic congruences of L, L 1 and L 2 respectively and let ω L , ω L 1 and ω L 2 be the idempotent power of, respectively, L's, L 1 's and L 2 's syntactic monoid. We shall moreover denote by M(L) = (M, * ) the syntactic monoid of L.

Let u, v ∈ Σ * , we are now going to show that (uv) ω L ∼ L (uv) ω L u(uv) ω L . By definition of the syntactic monoid of L and of ω L , it is not too difficult to see that this is equivalent to showing that (uv) ω ∼ L (uv) ω u(uv) ω where ω ∈ N >0 is the smallest multiple of ω L , ω L 1 and ω L 2 strictly bigger than ω L 2 .

Let x, y ∈ Σ * such that w = x(uv) ω y ∈ L and consider w = x(uv) ω u(uv) ω y. Let i ∈ [|w|] be the minimum integer in [|w|] such that w i = a; by definition of L, we must have

w 1 • • • w i-1 ∈ L 1 and w i+1 • • • w |w| ∈ L 2 . We also let i ∈ [|w |] be the minimum integer in [|w |]
such that w i = a (which necessarily exists, as a ∈ alph(w) ⊆ alph(w )).

• If i corresponds to a position in the factor x of w, then i = i and we have that

w 1 • • • w i -1 = x 1 • • • x i-1 ∈ L 1 . But, now, since ω is a multiple of ω L 2 and the syntactic monoid of L 2 is in DA, we have (uv) ω ∼ L 2 (uv) ω u(uv) ω , so that, because x i+1 • • • x |x| (uv) ω y = w i+1 • • • w |w| ∈ L 2 , it follows that w i +1 • • • w |w | = x i+1 • • • x |x| (uv) ω u(uv) ω y ∈ L 2 . Hence, w ∈ L.
• If i corresponds to a position in one of the factors uv of w, then this position is necessarily in the first factor uv, say position κ ∈ [|uv|], by minimality of i, and we have i = i . So we have that

w 1 • • • w i -1 = x(uv) 1 • • • (uv) κ-1 ∈ L 1 .
Moreover, since ω is strictly bigger than ω L 2 and the syntactic monoid of L 2 is in DA, hence is in particular aperiodic, we have (uv

) ω-1 ∼ L 2 (uv) ω ∼ L 2 (uv) ω u(uv) ω ∼ L 2 (uv) ω-1 u(uv) ω , so that, because (uv) κ+1 • • • (uv) |uv| (uv) ω-1 y = w i+1 • • • w |w| ∈ L 2 , it follows that w i +1 • • • w |w | = (uv) κ+1 • • • (uv) |uv| (uv) ω-1 u(uv) ω y ∈ L 2 .
Hence, w ∈ L.

• If i corresponds to a position in the factor y of w, say position κ ∈ [|y|], then i also corresponds to position κ in the factor y of w , otherwise it would violate the minimality of i. So we have that

w i +1 • • • w |w | = y κ+1 • • • y |y| ∈ L 2 . But, now, since ω is a multiple of ω L 1 and the syntactic monoid of L 1 is in DA, we have (uv) ω ∼ L 1 (uv) ω u(uv) ω , so that, because x(uv) ω y 1 • • • y κ-1 = w 1 • • • w i-1 ∈ L 1 , it follows that w 1 • • • w i -1 = x(uv) ω u(uv) ω y 1 • • • y κ-1 ∈ L 1 . Hence, w ∈ L.
Therefore, in any case we have x(uv) ω u(uv) ω y ∈ L. Let x, y ∈ Σ * satisfy x(uv) ω u(uv) ω y ∈ L. In a way similar to above, we can show that then, x(uv) ω y ∈ L.

This shows that (uv) ω L ∼ L (uv) ω L u(uv) ω L and as it is true for all u, v ∈ Σ * , by definition of the syntactic monoid of L, we have that

(m * n) * ,ω L = (m * n) * ,ω L * m * (m * n) * ,ω L
for all m, n ∈ M , so that (M, * ) does belong to DA.

This concludes the inductive step and therefore the proof of the lemma. We now turn to the converse statement.

Lemma 4.1.6. Let (M, * ) be some monoid in DA and ϕ : Σ * → M a monoid morphism from some free monoid (Σ * , •) for Σ an alphabet to (M, * ). Then, there exists k ∈ N such that for all F ⊆ M , ϕ -1 (F ) is a Boolean combination of languages in SUM k (Σ * ).

Proof. Let (M, * ) be some monoid in DA and ϕ : Σ * → M a monoid morphism from some free monoid (Σ * , •) for Σ an alphabet to (M, * ).

For each element m ∈ M , we define its J-depth, denoted by d J (m), to be the maximal l ∈ N such that there exist u

0 , u 1 , . . . , u l ∈ M verifying m = u 0 < J u 1 < J • • • < J u l = 1 (M, * )
; in a similar way we define its R-depth, denoted by d R (m) and its L-depth, denoted by d L (m). It is direct to see that for all m ∈ M , the J-, Rand L-depth of m each are at most |M | -1.

Let us also define the functions

f : [[0, |Σ| ]] × [[0, |M | -1]] 3 → N (x 1 , x 2 , x 3 , x 4 ) → |M | 3 • x 1 + |M | 2 • x 2 + |M | • x 3 + x 4 and • : P(Σ) × M 3 → [[0, |Σ| ]] × [[0, |M | -1]] 3 (Γ, m, s, t) → |Γ| , d J (m), |M | -1 -d R (s), |M | -1 -d L (t) .
It is obvious that f is increasing.

We can now formulate the central claim in the proof of the present lemma.

Claim 4.1.7. For every alphabet Γ ⊆ Σ and m, s, t ∈ M , the language {u ∈ Γ * | s * ϕ(u) * t = m} over Γ is a (possibly empty) union of languages in SUM 2 f ( Γ,m,s,t ) -1 (Σ * ).

It is direct to see that, for all

F ⊆ M , since ϕ -1 (F ) = m∈F ϕ -1 (m), this claim entails that ϕ -1 (F ) is a Boolean combination of languages in SUM 2 (|Σ|+1)•|M | 3 -1 -1 (Σ * ).
Proof of the claim. We prove it by induction on the quadruplet Γ, m, s, t .

123

Base case |Γ| = 0. Let Γ = ∅ and let m, s, t ∈ M . Then

{u ∈ Γ * | s * ϕ(u) * t = m} =    {ε} if s * t = m ∅ otherwise (s * t = m) .
Hence, since {ε} = ∅ * , we have that {u ∈ Γ * | s * ϕ(u) * t = m} is obviously a (possibly empty) union of languages in SUM 0 (Σ * ) ⊆ SUM 2 f ( Γ,m,s,t ) -1 (Σ * ). This proves the base case.

Induction. Let Γ ⊆ Σ be an alphabet with at least one letter and let m, s, t ∈ M . Assume that for any alphabet Γ ⊆ Σ and m , s , t ∈ M verifying Γ , m , s , t < Γ, m, s, t , we have that the language {u ∈ Γ

* | s * ϕ(u ) * t = m } over Γ is a (possibly empty) union of languages in SUM 2 f ( Γ ,m ,s ,t ) -1 (Σ * ). Let L = {u ∈ Γ * | s * ϕ(u) * t = m}. If m ≤ R s or m ≤ L t, then L = ∅,
which is trivially an empty union of languages in SUM 2 f ( Γ,m,s,t ) -1 (Σ * ). So we now assume that m ≤ R s and m ≤ L t. There are five possible cases.

Case 1: there exists a ∈ Γ such that s * ϕ(a) < R s.

Let us set Γ = Γ \ {a}. Consider the language L = L ∩ Γ * = {u ∈ Γ * | s * ϕ(u ) * t = m} over Γ . Then, by inductive hypothesis for Γ , m, s and t, since Γ , m, s, t < Γ, m, s, t , we have that L is a (possibly empty) union of languages in SUM 2 f ( Γ ,m,s,t ) -1 (Σ * ) ⊆ SUM 2 f ( Γ,m,s,t ) -1 (Σ * ).

Moreover, consider S = s * ϕ(Γ * ) * ϕ(a) and, for each s ∈ S , define the language L s = {u ∈ Γ * | s * ϕ(u ) * ϕ(a) = s } over Γ and the language K s = {u ∈ Γ * | s * ϕ(u) * t = m} over Γ. Let now s ∈ S . By inductive hypothesis for Γ , s , s and ϕ(a), since Γ , s , s, ϕ(a) < Γ, m, s, t , L s is a (possibly empty) union of languages in SUM 2 f ( Γ ,s ,s,ϕ(a) ) -1 (Σ * ) ⊆ SUM 2 f ( Γ,m,s,t )-1 -1 (Σ * ). Further, since there exists some u ∈ Γ * such that s = s * ϕ(u ) * ϕ(a), we have that

s = s * ϕ(u ) * ϕ(a) ≤ R s * ϕ(u ) ≤ R s .
This implies that, either s * ϕ(u ) < R s and then we also have s < R s, or s * ϕ(u ) R s, which means by Lemma 4.1.1 that we necessarily also have s < R s * ϕ(u ) R s, since s * ϕ(a) < R s. Therefore, the R-depth d R (s ) of s is greater than the R-depth d R (s) of s. Hence, by inductive hypothesis for Γ, m, s and t, since Γ, m, s , t < Γ, m, s, t , we have that K s is a (possibly empty) union of languages in SUM 2 f ( Γ,m,s ,t ) -1 (Σ * ) ⊆ SUM 2 f ( Γ,m,s,t )-1 -1 (Σ * ). By distributivity of concatenation over union and since L s does not contain any word with the letter a, we have that L s aK s is a (possibly empty) union of languages in SUM 2 f ( Γ,m,s,t ) -1 (Σ * ), and this is true for any s ∈ S .

We shall now conclude the proof for the present case by showing that

L = L ∪ s ∈S L s aK s ,
which is a (possibly empty) union of languages in SUM 2 f ( Γ,m,s,t ) -1 (Σ * ) by construction. Let w ∈ L ∪ s ∈S L s aK s . If w ∈ L , then it is obvious that w ∈ L. Otherwise, there must exist s ∈ S such that w ∈ L s aK s . This means that w can be decomposed as w = u au where u ∈ L s and u ∈ K s , so that s * ϕ(w) * t = s * ϕ(u ) * ϕ(a) * ϕ(u) * t = s * ϕ(u) * t = m. Therefore, w ∈ L in that case also. Since this is true for any w ∈ L ∪ s ∈S L s aK s , we have L ∪ s ∈S L s aK s ⊆ L. Now let w ∈ L. Either w does not contain the letter a, and then w ∈ L . Or w does contain the letter a and can be uniquely decomposed as w = u au where u ∈ Γ * and u ∈ Γ * . Since u ∈ Γ * , this means that s = s * ϕ(u ) * ϕ(a) belongs to S , so that u belongs to L s . Moreover, as we know that s * ϕ(u) * t = s * ϕ(u ) * ϕ(a) * ϕ(u) * t = s * ϕ(w) * t = m, we have that u belongs to K s . Therefore, w = uau ∈ L s aK s . Hence we can conclude that w ∈ L ∪ s ∈S L s aK s , so that, since this is true for any w ∈ L, we have L ⊆ L ∪ s ∈S L s aK s .

This concludes the proof for the present case.

Case 2: there exists a ∈ Γ such that ϕ(a) * t < L t.

We proceed as for Case 1 by symmetry.

Case 3: for all a ∈ Γ, we have s * ϕ(a) R s, but m < R s.

In this case, by Lemma 4.1.1 we have that for all This concludes the proof for the present case.

u ∈ Γ * , s * ϕ(u) R s. Let M = R(s) ∩ {m ∈ M | m * t =
Case 4: for all a ∈ Γ, we have ϕ(a) * t L t, but m < L t.

We proceed as for Case 3 by symmetry.

Case 5: for all a ∈ Γ, we have s * ϕ(a) R s and ϕ(a) * t L t, and m R s and m L t.

Then, as in the two previous cases, we have that for all u ∈ Γ * , s * ϕ(u) R s and ϕ(u) * t L t.

If we have that s * t < R s, then we have that s * ϕ(w) * t < R s R m for all w ∈ Γ * by Lemma 4.1.1. If we have s * t < L t, then, similarly, we have that s * ϕ(w) * t < L t L m for all w ∈ Γ * . This implies that in both cases L = ∅, which is trivially an empty union of languages in SUM 2 f ( Γ,m,s,t ) -1 (Σ * ).

Otherwise, we have that s * t R s and s * t L t. This means, by Lemma 4.1.1, that s * ϕ(w) * t ∈ R(s) ∩ L(t). As (M, * ) is aperiodic and hence H-trivial, since we have

m ∈ R(s) ∩ L(t), it means that R(s) ∩ L(t) = R(m) ∩ L(m) = H(m), so by H-triviality of (M, * ), R(s) ∩ L(t) = {m}, showing that s * ϕ(w) * t = m for all w ∈ Γ * . This implies that L = Γ * , which is trivially a union of languages in SUM 0 (Σ * ) ⊆ SUM 2 f ( Γ,m,s,t ) -1 (Σ * ).
This concludes the proof of the last case.

This ends the inductive step and therefore the proof of the claim.

As well as that of the lemma.

We can directly conclude the following from this lemma.

Proposition 4.1.8. Any language over some alphabet Σ recognised by a monoid in DA is a Boolean combination of languages in SUM k (Σ * ) for some k ∈ N.

applying the inductive hypothesis directly for L and u, or L = L 1 aL 2 for some languages L 1 ∈ SUM i (Σ * ) and L 2 ∈ SUM j (Σ * ) and some letter a ∈ Σ with i + j = k -1 verifying that either no word of L 1 contains the letter a or no word of L 2 contains the letter a. We shall only treat the case in which a does not appear in any of the words of L 1 ; the other case is treated symmetrically.

There are again two cases to consider, depending on whether a does appear in u or not.

If a / ∈ alph(u), then it is straightforward to check that u -1 L = (u -1 L 1 )aL 2 and Lu -1 = L 1 a(L 2 u -1 ). By the inductive hypothesis, we get that u -1 L 1 is a union of languages in SUM i (Σ * ) and that L 2 u -1 is a union of languages in SUM j (Σ * ). Moreover, it is direct to see that no word of u -1 L 1 contains the letter a. By distributivity of concatenation over union, we finally get that u -1 L and Lu -1 both are unions of languages in SUM k (Σ * ).

If a ∈ alph(u), then let u = u 1 au 2 with u 1 , u 2 ∈ Σ * and a / ∈ alph(u 1 ). It is again straightforward to see that

u -1 L =    u 2 -1 L 2 if u 1 ∈ L 1 ∅ otherwise and Lu -1 = L 1 a(L 2 u -1 ) ∪    L 1 u 1 -1 if u 2 ∈ L 2 ∅ otherwise .
As before, by the inductive hypothesis, we get that L 1 u 1 -1 is a union of languages in SUM i (Σ * ) and that both u 2 -1 L 2 and L 2 u -1 are unions of languages in SUM j (Σ * ). And, again, by distributivity of concatenation over union, we get that u -1 L and Lu -1 both are unions of languages in SUM k (Σ * ). This concludes the inductive step and therefore the proof of the lemma.

Lemma 4.1.12. For all k ∈ N, for all L ∈ SUM k (Σ * ) where Σ is some alphabet and

ϕ : Γ * → Σ * a monoid morphism from a free monoid (Γ * , •) for Γ an alphabet to (Σ * , •), ϕ -1 (L) is a union of languages in SUM k (Γ * ).
Proof. We prove it by induction on k.

Base case k = 0. Let L ∈ SUM 0 (Σ * ) where Σ is some alphabet and ϕ : Γ * → Σ * a monoid morphism from a free monoid (Γ * , •) for Γ an alphabet to (Σ * , •). This means that L = A * for some A ⊆ Σ. It is straightforward to check that ϕ -1 (L) = B * where B = {b ∈ Γ | ϕ(b) ∈ A * }. B * is certainly a union of languages in SUM 0 (Γ * ). The base case is hence proved.

Inductive step. Let k ∈ N >0 and assume that the lemma is true for all k ∈ N, k < k.

Let L ∈ SUM k (Σ * ) where Σ is some alphabet and ϕ : Γ * → Σ * a monoid morphism from a free monoid (Γ * , •) for Γ an alphabet to (Σ * , •). This means that either L is in SUM k-1 (Σ * ) and hence ϕ -1 (L) is a union of languages in SUM k (Γ * ) by applying the inductive hypothesis directly for L and ϕ, or L = L 1 aL 2 for some languages L 1 ∈ SUM i (Σ * ) and L 2 ∈ SUM j (Σ * ) and some letter a ∈ Σ with i + j = k -1 verifying that either no word of L 1 contains the letter a or no word of L 2 contains the letter a. We shall only treat the case in which a does not appear in any of the words of L 1 ; the other case is treated symmetrically.

Let us define B = {b ∈ Γ | a ∈ alph(ϕ(b))} as the set of letters of Γ whose image word by ϕ contains the letter a. For each b ∈ B, we shall also let ϕ(b) = u b,1 au b,2 with u b,1 , u b,2 ∈ Σ * and a / ∈ alph(u b,1 ). It is not too difficult to see that we then have

ϕ -1 (L) = b∈B ϕ -1 (L 1 u b,1 -1 )bϕ -1 (u b,2 -1 L 2 ) .
By the inductive hypothesis, by Lemma 4.1.11 and by the fact that inverses of monoid morphisms commute with unions, we get that ϕ -1 (L 1 u b,1 -1 ) is a union of languages in SUM i (Γ * ) and that ϕ -1 (u b,2 -1 L 2 ) is a union of languages in SUM j (Γ * ). Moreover, it is direct to see that no word of ϕ -1 (L 1 u b,1 -1 ) contains the letter b for all b ∈ B.

By distributivity of concatenation over union, we finally get that ϕ -1 (L) is a union of languages in SUM k (Γ * ). This concludes the inductive step and therefore the proof of the lemma.

Let us finish with some positive and negative examples of languages in L(DA) = SUL. For instance, the language a(a + b) * of words over {a, b} starting with an a is in SUL, because it is in SUL 1 ({a, b} * ). Similarly, the language of words over {a, b, c} containing at least one occurrence of c, the first of all the occurrences of c preceded by an a and the last of those followed by a b, but not starting with abba is in SUL 4 ({a, b, c} * ), since it is equal to (a + b) * ac(a

+ b + c) * cb(a + b) * ∪ (a + b) * acb(a + b) * ∩ abba(a + b + c) * .
However, both the language (ab) * of words over {a, b} where a and b alternate, starting with an a and ending with a b, and the language (a + b) * bb(a + b) * of words over {a, b} containing bb as a factor are provably not in SUL, because their respective syntactic • Assume that L contains a word w with two consecutive a's. Then w = w 1 aaw 2 with w 1 , w 2 ∈ {a, b, c} * and as w ∈ L, either e = µ(w 1 )exexµ(w 2 ) or 1 = µ(w 1 )exexµ(w 2 ).

In both cases e = u 1 exeu 2 for some suitable values of u 1 and u 2 taken from S. This implies that

e = u 1 e(xeu 2 ) = u 2 1 e(xeu 2 ) 2 = u 3 1 e(xeu 2 ) 3 = • • • = u ω 1 e(xeu 2 ) ω
and, similarly, that e = (u 1 ex) ω eu ω 2 . Because (S, * ) 1 is aperiodic, this in turn entails

exeu 2 = u ω 1 e(xeu 2 ) ω (xeu 2 ) = u ω 1 e(xeu 2 ) ω = e and eu 2 = (u 1 ex) ω eu ω 2 u 2 = (u 1 ex) ω eu ω 2 = e .
Hence exe = exeu 2 = e, contradicting the fact that exe = e. So L does not contain any word with two consecutive a's.

• Assume that L contains a word w with the factor ac. Then w = w 1 acw 2 with w 1 , w 2 ∈ {a, b, c} * and as w ∈ L, either e = µ(w 1 )exeµ(w 2 ) or 1 = µ(w 1 )exeµ(w 2 ). So, as just before, in both cases e = u 1 exeu 2 for some suitable values of u 1 and u 2 taken from S, which entails exe = e, contradicting the fact exe = e. So L does not contain any word with the factor ac.

• Assume that L contains a word w with two consecutive b's. Then w = w 1 bbw 2 with w 1 , w 2 ∈ {a, b, c} * and as w ∈ L, either e = µ(w 1 )f yf yµ(w 2 ) or 1 = µ(w 1 )f yf y µ(w 2 ), as ye = y(xy) ω = (yx) ω y = f y. In both cases f = u 1 f yf u 2 for some suitable values of u 1 and u 2 taken from S, because, by aperiodicity of (S, * ) 1 , we have yex = y(xy) ω x = (yx) ω+1 = (yx) ω = f . Similarly to what we did for the factor aa, this implies that

f = u ω 1 f (yf u 2 ) ω = (u 1 f y) ω f u ω 2 , which in turn entails f = f yf u 2 = f u 2 . Hence f yf = f yf u 2 = f ,
contradicting the fact that f yf = f . So L does not contain any word with two consecutive b's.

• Assume that L contains a word w with the factor cb. Then w = w 1 cbw 2 with w 1 , w 2 ∈ {a, b, c} * and as w ∈ L, either e = µ(w 1 )eyeµ(w 2 ) or 1 = µ(w 1 )eyeµ(w 2 ). So, similarly to what we did for the factor aa, in both cases e = u 1 eyeu 2 for some suitable values of u 1 and u 2 taken from S, which entails eye = e. Now this means that eye = e yeye = ye

f yf y = f y since ye = f y f yf yx = f yx f yf = f as f yx = (yx) ω yx = (yx) ω+1 = (yx) ω = f ,
contradicting the fact f yf = f . So L does not contain any word with the factor cb.

Because L is a language over the alphabet {a, b, c}, any word w in it is of the form

u 0 v 1 u 1 • • • u k-1 v k u k where k ∈ N, v 1 , . . . , v k ∈ c +
and u 0 , . . . , u k ∈ (a + b) * . As w does not contain aa nor bb as a factor, we have that u 0 , . . . , u k ∈ (b + ε)(ab) * (a + ε). When k ≥ 1, as moreover w does not contain ac nor cb as a factor, it follows that u 1 , . . . , u k-1 ∈ (ab) * , u 0 ∈ (b+ε)(ab) * and u k ∈ (ab) * (a+ε); u 0 can therefore be written as βu 0 where u 0 ∈ (ab) * and β is b if u 0 ∈ b(ab) * and the empty word otherwise, and u k can be written as u k α where u k ∈ (ab) * and α is a if u 1 ∈ (ab) * a and the empty word otherwise. We now observe that µ(ab) = exye = (xy) 2ω+1 = (xy) ω = e by aperiodicity and we consider four different cases.

• β = α = ε. Then, µ(w) = µ(u 0 v 1 u 1 • • • u k-1 v k u k ) = e. • β = b and α = ε. Then µ(w) = µ(b)µ(u 0 v 1 u 1 • • • u k-1 v k u k ) =
yee = ye that does not belong to {1, e}, otherwise we would have eye = e which would entail f yf = f , as shown in the previous paragraph. But this contradicts the fact that w ∈ L, so this case cannot occur.

• β = ε and α = a.

Then µ(w) = µ(u 0 v 1 u 1 • • • u k-1 v k u k )µ(a) = eex = ex
that does not belong to {1, e}, otherwise we would have exe = e. But this contradicts the fact that w ∈ L, so this case cannot occur.

• β = b and α = a.

Then µ(w) = µ(b)µ(u 0 v 1 u 1 • • • u k-1 v k u k )µ(a) = yeeex = yex = f by aperiodicity.
We have that f does not belong to {1, e}. Indeed, suppose for the sake of contra-diction that it does: there are two cases to examine. Either (yx) ω = f = e = (xy) ω , and then exe = exf = (xy) ω x(yx) ω = (xy) ω (xy) ω x = (xy) ω x = ex. But ex = (xy) ω x = x(yx) ω = x(xy) ω xy = xexy by aperiodicity, so ex = x ω exy ω . Hence exy = x ω exy ω y = x ω exy ω = ex by aperiodicity, while exy = (xy) ω xy = (xy) ω = e by aperiodicity again. So exe = ex = e, contradicting the fact exe = e. Or (yx) ω = f = 1, and then f yf = y. But y = y(yx) ω = y(yx) ω yx = yyx by aperiodicity, so y = y ω yx ω . Hence yx = y ω yx ω x = y ω yx ω = y by aperiodicity, while yx = yx(yx) ω = (yx) ω = f by aperiodicity again. So f yf = y = f , contradicting the fact f yf = f . Therefore, µ(w) does not belong to {1, e}, contradicting the fact that w ∈ L, so this case cannot occur either. This means that, necessarily, α = β = ε, so that u 0 , u k ∈ (ab) * . And for the same reasons, u 0 ∈ (ab) * when k = 0. Therefore, we have w ∈ (c + ab) * and since it is true for any w ∈ L, it follows that L ⊆ (c + ab) * . Combined with the fact that µ((c + ab) * ) = {1, e}, we can conclude that µ -1 ({1, e}) = L = (c + ab) * , showing (c + ab) * is recognised by µ verifying µ({a, b, c} + ) ⊆ S.

Subcase f yf = f . Suppose now f yf = f . In that case, let µ : {a, b} * → S 1 be the monoid morphism from the free monoid ({a, b} * , •) to (S, * ) 1 sending a to s and b to t and consider the language L = µ -1 ({1, e, t}). Assume that L contains a word w with two consecutive a's. Then w = w 1 aaw 2 with w 1 , w 2 ∈ {a, b} * and as w ∈ L, we have that µ(w 1 )exexµ(w 2 ) is equal to t, e or 1. Since xt = xye = xy(xy) ω = (xy) ω = e by aperiodicity, in all cases e = u 1 exeu 2 for some suitable values of u 1 and u 2 taken from S, which, as for the subcase f yf = f , implies exe = e, contradicting the fact exe = e. So L does not contain any word with two consecutive a's.

This means that any word in L belongs to (b + ab) * (a + ε) so that any word w in L is of the form uα where u ∈ (b + ab) * and α is a if w ∈ (b + ab) * a and the empty word otherwise. Since, as for the previous case, µ(ab) = e, but also µ(bb) = tt = yeye = f yf y = f y = ye = t = µ(b), te = yee = ye = t and et = eye = ef y = xf yf y = xf y = e (by aperiodicity), we have that µ(u) ∈ {1, e, t}. Assume now that α = a. There are three different cases.

• µ(u) = 1.

Then µ(w) = 1µ(a) = ex that does not belong to {1, e, t}, otherwise we would have exe = e, because ete = et = e by the equalities proved just above. But this contradicts the fact that w ∈ L, so this case cannot occur.

• µ(u) = e.

Then µ(w) = eµ(a) = eex = ex that does not belong to {1, e, t} (see the previous case). But this contradicts the fact that w ∈ L, so this case cannot occur.

• µ(u) = t.

Then µ(w) = tµ(a) = yeex = yex = f by aperiodicity. We have that f does not belong to {1, e, t}. Indeed, suppose for the sake of contradiction that is does: there are three cases to examine. Either Non-aperiodic case. Assume now that (S, * ) 1 is not aperiodic. Then there is an x in S such that x ω = x ω+1 . Consider the monoid morphism µ : {a, b} * → S 1 from the free monoid ({a, b} * , •) to (S, * ) 1 sending a to x ω+1 and b to x ω , and the language L = µ -1 (x ω ). Let k ∈ N, k ≥ 2 be the smallest positive integer such that x ω+k = x ω , that cannot be 1 because x ω = x ω+1 . Using this, for all w ∈ {a, b} * , we have µ(w) = x |w|•ω+|w| a = x ω+(|w| a mod k) , so that w belongs to L if and only if |w| a = 0 mod k, that is, L is the language of all words with a number of a's divisible by k, b * ((ab * ) k ) * . In conclusion, b * ((ab * ) k ) * is recognised by µ verifying µ({a, b} + ) ⊆ S.

Let now (S, * ) be any finite semigroup such that W((S, * )) ⊆ P(DA). Let η (S, * ) : S * → S 1 be the evaluation morphism of (S, * ). To show that (S, * ) 1 is in DA, we assume for the sake of contradiction that it is not the case. Then Lemma 4.2.4 tells us that one of (c+ab) * , (b + ab) * or b * ((ab * ) k ) * for some k ∈ N, k ≥ 2 is recognised by a monoid morphism µ : Σ * → S 1 from the appropriate free monoid (Σ * , •) to (S, * ) 1 such that µ(Σ + ) ⊆ S.

In all cases, we thus have a language L ⊆ Σ * equal to µ -1 (Q) for some subset Q of S 1 with the morphism µ sending letters of Σ to elements of S. Consider then the monoid morphism ϕ : Σ * → S * from the free monoid (Σ * , •) to the free monoid (S * , •) sending each letter a ∈ Σ to µ(a), a letter of S: it is obvious that µ = η (S, * ) • ϕ, so that

L = µ -1 (Q) = (η (S, * ) • ϕ) -1 (Q) = ϕ -1 (η -1 (S, * ) (Q)).
As W((S, * )) ⊆ P(DA), it follows that η -1 (S, * ) (Q) ∈ P(DA), hence since ϕ is an lm-morphism and P(DA) ∩ Reg is closed under inverses of lm-morphisms by Proposition 3.4.2, we have L = ϕ -1 (η -1 (S, * ) (Q)) ∈ P(DA): a contradiction to Proposition 4.2.3.

In the remaining part of this section we prove Proposition 4.2.3.

Proof of Proposition 4.2.3. The idea of the proof is the following. We work by contradiction and assume that we have a sequence of programs (P n ) n∈N over some monoid (M, * ) of DA recognising one of the targeted languages. Let n be much larger than the order of (M, * ). Consider a language of the form ∆ * for some finite set ∆ of words (for instance assume ∆ = {c, ab}, ∆ = {b, ab}, …). We will show that we can fix a constant (depending on (M, * ) and ∆ but not on n) number of entries to P n such that P n always outputs the same value and there is a completion of the fixed entries in ∆ * ; hence, if ∆ was chosen so that there is actually a completion of the fixed entries in the targeted language and one outside of it, P n cannot recognise the restriction of that language to words of length n. We cannot prove this for all ∆, in particular it will not work for ∆ = {ab} and indeed (ab) * is in P(DA). The key property of our ∆ is that after fixing any letter at any position, except maybe for a constant number of positions, one can still complete the word into one within ∆ * . This is not true for ∆ = {ab} because after fixing a b at an odd position all completions fall outside of (ab) * . We now spell out the technical details.

Let ∆ be a finite non-empty set of non-empty words. Let Σ be the corresponding finite alphabet and let ⊥ be a letter not in Σ. A mask is a word over Σ ∪ {⊥}. The positions of a mask carrying a ⊥ are called free while the positions carrying a letter in Σ are called fixed. A mask λ is a submask of a mask λ if it is formed from λ by replacing some occurrences of ⊥ by a letter in Σ or is simply equal to λ.

A completion of a mask λ is a word w over Σ that is built from λ by replacing all occurrences of ⊥ by a letter in Σ. Notice that all completions of a mask have the same length as the mask itself. A mask λ is ∆-compatible if it has a completion in ∆ * .

The dangerous positions of a mask λ are the positions within distance 2l -2 of the fixed positions or within distance l -1 of the beginning or the end of the mask, where l is the maximal length of a word in ∆. A position that is not dangerous is said to be safe and is necessarily free. We say that ∆ is safe if the following holds. Let λ be a ∆-compatible mask. Let i be any free position of λ that is not dangerous. Let a be any letter in Σ. Then the submask of λ constructed by fixing a at position i is ∆-compatible. We have already seen that ∆ = {ab} is not safe. However our targeted ∆, ∆ = {c, ab}, ∆ = {b, ab}, ∆ = {a, b} (and, in fact, all ∆ containing at least one word of length 1), are safe. We always consider ∆ to be safe in the following.

Finally, we say that a completion w of a mask λ is safe if w is a completion of λ belonging to ∆ * or is constructed from a completion of λ in ∆ * by modifying only letters at safe positions of λ, the dangerous positions remaining unchanged.

Let (M, * ) be a monoid in DA whose identity we will denote by 1. Let n ∈ N. We are now going to prove the main technical lemma that allows us to assert that after fixing a constant number of positions in the input of an (M, * )program on Σ n , the input can still be completed into a word of ∆ * , but the program can no longer make the difference between any two possible completions. To prove the lemma, we define a relation ≺ on the set of quadruplets (λ, P, u, v) where λ is a mask of length n, P is a program over (M, * ) on Σ n and u and v are two elements of M . We will say that an element (λ 1 , P 1 , u 1 , v 1 ) is strictly smaller than (λ 2 , P 2 , u 2 , v 2 ), written (λ 1 , P 1 , u 1 , v 1 ) ≺ (λ 2 , P 2 , u 2 , v 2 ), if and only if λ 1 is a submask of λ 2 , P 1 is a subprogram of P 2 and one of the following cases occurs:

An element r of M is R-bad for u ∈ M if ur < R u. Similarly an element r of M is L-bad for v ∈ M if rv < L v. By
1. u 1 < R u 2 and v 1 = v 2 and P 1 is a suffix of P 2 and u 1 P 1 (w)v 1 = u 2 P 2 (w)v 2 for all safe completions w of λ 1 ;

2. v 1 < L v 2 and u 1 = u 2 and P 1 is a prefix of P 2 and u 1 P 1 (w)v 1 = u 2 P 2 (w)v 2 for all safe completions w of λ 1 ;

3. u 1 = u 2 and v 1 = 1 and P 1 is a prefix of P 2 and u 2 P 2 (w)v 2 < J u 1 P 1 (w)v 1 for all safe completions w of λ 1 ;

4. v 1 = v 2 and u 1 = 1 and P 1 is a suffix of P 2 and u 2 P 2 (w)v 2 < J u 1 P 1 (w)v 1 for all safe completions w of λ 1 .

Note that, since (M, * ) is finite, this relation is well-founded (that is, it has no infinite decreasing chain, an infinite sequence of quadruplets µ 0 , µ 1 , µ 2 , . . . such that µ i+1 ≺ µ i for all i ∈ N) and the maximal length of any decreasing chain depends only on (M, * ) (it is at most 2 • |M | 2 ). For a given quadruplet, we shall also call its height the length of the longest decreasing chain starting with that element minus 1.

To count the number of fixed positions, we define f : N → N by f (m) = (4l -3)m + 2l-2 for all m ∈ N. It is obvious that f is non-decreasing. For all h ∈ N, we will denote by

g h = (2 h • f ) 2 h the function (2 h • f ) : N → N, m → 2 h f (m) composed 2 h times. It is direct to see that for each h ∈ N, g h is non-decreasing and that for each h 1 , h 2 ∈ N, h 1 ≤ h 2 , we have g h 1 (m) ≤ g h 2 (m) for all m ∈ N.
Finally, for a given mask λ, we denote by |λ| Σ the number of letters in λ belonging to Σ, that is to say, the number of fixed positions in λ.

The following lemma is the key to the proof. It shows that modulo fixing a few entries, one can fix the output. Lemma 4.2.5. Let λ be a ∆-compatible mask of length n, let P be a program over (M, * ) on Σ n , let u and v be elements of M such that (λ, P, u, v) is of height h. Then there is an element t of M and a ∆-compatible submask λ of λ obtained by fixing a number of free positions which is at most g h (|λ| Σ + h) -|λ| Σ , such that any safe completion w of λ verifies uP (w)v = t.

Proof. The proof goes by induction on ≺.

Let λ be a ∆-compatible mask of length n, let P be a program over (M, * ) on Σ n , let u and v be elements of M such that (λ, P, u, v) is of height h, and assume that for any quadruplet (λ , P , u , v ) strictly smaller than (λ, P, u, v), the lemma is verified. Consider the following conditions concerning the quadruplet (λ, P, u, v):

(a) there does not exist any instruction (x, f ) of P such that for some letter a the submask λ of λ formed by setting position x to a (if it wasn't already the case) is ∆-compatible and f (a) is R-bad for u;

(b) v is not R-bad for u;

(c) there does not exist any instruction (x, f ) of P such that for some letter a the submask λ of λ formed by setting position x to a (if it wasn't already the case) is ∆-compatible and f (a) is L-bad for v;

(d) u is not L-bad for v.

We will now do a case analysis based on which of these conditions are violated or not.

Case 1: condition (a) is violated. So there exists some instruction (x, f ) of P such that for some letter a the submask λ of λ formed by setting position x to a (if it wasn't already the case) is ∆-compatible and f (a) is R-bad for u. Let i be the smallest number of such an instruction.

Let P be the subprogram of P until instruction i -1. Let w be a safe completion of λ: for any instruction (y, g) of P , as the submask λ of λ formed by setting position y to w y (if it wasn't already the case) is ∆-compatible (by the fact that ∆ is safe and w is a safe completion of λ), g(w y ) cannot be R-bad for u, otherwise it would contradict the minimality of i, so u R ug(w y ). Hence, by Lemma 4.1.1, u R uP (w) for all safe completions w of λ.

So, because f (a) is R-bad for u, any safe completion w of λ , which is also a safe completion of λ, is such that uP (w)v ≤ R uP (w)f (a) < R u R uP (w) by Lemma 4.1.1, hence uP (w)v < J uP (w) by Lemma 3.1.20. So (λ , P , u, 1) ≺ (λ, P, u, v), therefore, by induction we get a ∆-compatible submask λ 1 of λ and a monoid element t 1 such that uP (w) = t 1 for all safe completions w of λ 1 .

Let P be the subprogram of P starting from instruction i + 1. Notice that, since u R t 1 (by what we have proven just above), t 1 f (a) < R u (by Lemma 4.1.1) and t 1 f (a)P (w)v = uP (w)f (a)P (w)v = uP (w)v for all safe completions w of λ 1 . Hence, (λ 1 , P , t 1 f (a), v) is strictly smaller than (λ, P, u, v) and by induction we get a ∆-compatible submask λ 2 of λ 1 and a monoid element t such that t 1 f (a)P (w)v = t for all safe completions w of λ 2 .

Thus, any safe completion w of λ 2 is such that

uP (w)v = uP (w)f (a)P (w)v = t 1 f (a)P (w)v = t .
Therefore λ 2 and t form the desired couple of a ∆-compatible submask of λ and an element of M .

By induction, since (λ , P , u, 1) is of height h ≤ h -1, the number of free positions of λ fixed in λ 1 , i.e.

|λ 1 | Σ -|λ| Σ , is at most |λ | Σ -|λ| Σ + g h (|λ | Σ + h ) -|λ | Σ ≤ g h (|λ| Σ + h) -|λ| Σ ≤ g h-1 (|λ| Σ + h) -|λ| Σ ,
because of the properties of g h and g h-1 spelled out before stating the lemma. Consequently, by induction again, as

(λ 1 , P , t 1 f (a), v) is of height h ≤ h -1, the number of free positions of λ fixed in λ 2 , i.e. |λ 2 | Σ -|λ| Σ , is at most |λ 1 | Σ -|λ| Σ + g h (|λ 1 | Σ + h ) -|λ 1 | Σ ≤ g h-1 (|λ 1 | Σ + h ) -|λ| Σ ≤ g h-1 g h-1 (|λ| Σ + h) + h -1 -|λ| Σ ≤ g h-1 (2 h • f ) 2 h-1 (|λ| Σ + h) -|λ| Σ ≤ (2 h • f ) 2 h-1 (2 h • f ) 2 h-1 (|λ| Σ + h) -|λ| Σ = (2 h • f ) 2 h (|λ| Σ + h) -|λ| Σ = g h (|λ| Σ + h) -|λ| Σ ,
the desired bound, because of the properties of g h and g h-1 mentioned before stating the lemma and because, as seen easily,

g h-1 (m) ≤ 2g h-1 (m) = 2(2 h-1 • f ) 2 h-1 (m) ≤ (2 h • f ) 2 h-1 (m) for all m ∈ N, as well as h -1 ≤ f (|λ| Σ + h) ≤ g h-1 (|λ| Σ + h).
Case 2: condition (a) is verified but condition (b) is violated, so v is R-bad for u and Case 1 does not apply.

Let w be a safe completion of λ: for any instruction (x, f ) of P , as the submask λ of λ formed by setting position x to w x (if it wasn't already the case) is ∆compatible (by the fact that ∆ is safe and w is a safe completion of λ), f (w x ) cannot be R-bad for u, otherwise condition (a) would be violated, so u R uf (w x ). Hence, by Lemma 4.1.1, u R uP (w) for all safe completions w of λ. Notice then that uP (w)v < R uP (w) R u (by Lemma 4.1.1), hence uP (w)v < J uP (w) (by Lemma 3.1.20) for all safe completions w of λ. So (λ, P, u, 1) ≺ (λ, P, u, v), therefore, by induction, we obtain a ∆-compatible submask λ of λ and a monoid element t 1 such that uP (w) = t 1 for all safe completions w of λ . If we set t = t 1 v, we get that any safe completion w of λ is such that uP (w)v = t 1 v = t. Therefore λ and t form the desired couple of a ∆-compatible submask of λ and an element of M .

By induction, since (λ, P, u, 1) is of height h ≤ h -1, the number of free positions of λ fixed in λ , i.e. |λ | Σ -|λ| Σ , is at most

g h (|λ| Σ + h ) -|λ| Σ ≤ g h (|λ| Σ + h) -|λ| Σ ≤ g h (|λ| Σ + h) -|λ| Σ ,
the desired bound, because of the properties of g h and g h explicited before stating the lemma.

Case 3: condition (c) is violated. So there exists some instruction (x, f ) of P such that for some letter a the submask λ of λ formed by setting position x to a (if it wasn't already the case) is ∆-compatible and f (a) is L-bad for v.

We proceed as for Case 1 by symmetry.

Case 4: condition (c) is verified but condition (d) is violated, so u is L-bad for v and Case 3 does not apply.

We proceed as for Case 2 by symmetry.

Case 5: conditions (a), (b), (c) and (d) are verified.

As it was in Case 2 and Case 4, using Lemma 4.1.1, the fact that condition (a) and condition (c) are verified implies that u R uP (w) and v L P (w)v for any prefix P of P , any suffix P of P and all safe completions w of λ. Moreover, since condition (b) and condition (d) are verified, by Lemma 4.1.1, we get that uP (w)v R u and uP (w)v L v for all safe completions w of λ. This implies that (λ, P, u, v) is minimal for ≺ and that h = 0.

Let w 0 be a completion of λ that is in ∆ * . Let λ be the submask of λ fixing all free dangerous positions of λ using w 0 . Then, for any completion w of λ , which is a safe completion of λ by construction, we have that uP (w)v R u and uP (w)v L v.

As (M, * ) is aperiodic and hence H-trivial, since we have uP

(w 0 )v ∈ R(u) ∩ L(v), it means that R(u) ∩ L(v) = R(uP (w 0 )v) ∩ L(uP (w 0 )v) = H(uP (w 0 )v)
, so by Htriviality of (M, * ), R(u)∩L(v) = {t} where t = uP (w 0 )v, showing that uP (w)v = t for all completions w of λ . Therefore λ and t form the desired couple of a ∆compatible submask of λ and an element of M . Now, since the number of free positions of λ fixed in λ , i.e. |λ | Σ -|λ| Σ , is exactly the number of free dangerous positions in λ, and as a position in λ is dangerous if it is within distance 2l -2 of a fixed position or within distance l -1 of the beginning or the end of λ, this number is at most

2 • |λ| Σ • (2l -2) + 2 • (l -1) = |λ| Σ • (4l -4) + 2l -2 = |λ| Σ • (4l -3) + 2l -2 -|λ| Σ = f (|λ| Σ ) -|λ| Σ = (2 0 • f ) 2 0 (|λ| Σ + 0) -|λ| Σ = g 0 (|λ| Σ + 0) -|λ| Σ ,
the desired bound.

This concludes the proof of the lemma.

Setting ∆ = {c, ab} or ∆ = {b, ab} with Σ the associated alphabet, when applying Lemma 4.2.5 with the trivial ∆-compatible mask λ of length n containing only free positions, with P some program over (M, * ) on Σ n and with u and v equal to 1, the resulting mask λ has the property that we have an element t of M such that P (w) = t for any safe completion w of λ . Since the mask λ is ∆-compatible and has a number of free positions upper-bounded by g h (|λ| Σ + h) -|λ| Σ where h is the height of (λ, P, u, v), a number that does not depend on n (because the maximal length of any decreasing chain depends only on (M, * )), as long as n is big enough, we have a safe completion w 0 ∈ ∆ * and a safe completion w 1 / ∈ ∆ * . Hence P cannot recognise ∆ * ∩ Σ n . This implies that (c + ab) * / ∈ P((M, * )) and (b + ab) * / ∈ P((M, * )). Finally, for any k ∈ N, k ≥ 2, we can prove that b * ((ab * ) k ) * / ∈ P((M, * )) by setting ∆ = {a, b} and completing the mask given by the lemma by setting the letters in such a way that we have the right number of a's modulo k in one case and not in the other case.

This concludes the proof of Proposition 4.2.3 because the argument above holds for any monoid in DA.

A fine hierarchy in P(DA)

The definition of p-recognition by a sequence of programs over a finite monoid given in Definition 3.3.5 requires that for each n ∈ N, the program working on words of length n has a length upper-bounded by some fixed polynomial in n. In the case of P(DA), the polynomial-length restriction is without loss of generality: any monoid (M, * ) in DA has what Tesson and Thérien call the polynomial-length property in [START_REF] Tesson | The computing power of programs over finite monoids[END_REF], that is, there exists k ∈ N such that for any alphabet Σ there is a constant c ∈ N >0 such that any (M, * )-program on Σ n for n ∈ N is equivalent to an (M, * )-program on Σ n of length at most c • n k (which they proved in the same article). In this section, we prove two things: first, that the exponent k can be arbitrarily large depending on the monoid (M, * ), so that while P(DA, s(n)) collapses to P(DA) for any super-polynomial function s : N → N, there does not exist any k ∈ N such that P(DA) collapses to P DA, n k ; and second, that when we restrict to DA d for some d ∈ N, in this case P(DA d ) collapses to P DA d , n max{d,1} and this is optimal.

Strict hierarchy

For each k ∈ N >0 , we exhibit a language L k ⊆ {0, 1} * that can be recognised by a sequence of programs of length O(n k ) over a monoid (M k , * k ) in DA k but cannot be recognised by any sequence of programs of length O(n k-1 ) over any monoid in DA.

For a given k ∈ N >0 , the language L k expresses a property of the first k occurrences of 1 for words over {0, 1}. To define L k , we say that for some n ∈ N, S is a k-set over n if S is a set where each element is an ordered tuple of k distinct elements of [n]. For any sequence ∆ = (S n ) n∈N such that for each n ∈ N, S n is a k-set over n -a sequence we will call a sequence of k-sets -we set L ∆ = n∈N K n,Sn , where for each n ∈ N, K n,Sn is the set of words over {0, 1} of length n such that for each of them, it contains at least k occurrences of 1 and the ordered k-tuple of the positions of the first k occurrences of 1 belongs to S n .

On the one hand, we show that for all k ∈ N >0 there is a monoid (M k , * k ) in DA k such that for any sequence of k-sets ∆, the language L ∆ is recognised by a sequence of programs over (M k , * k ) of length O(n k ). The proof is done by an inductive argument on k.

On the other hand, we show that for all k ∈ N >0 there is a sequence of k-sets ∆ such that for any finite monoid (M, * ) and any sequence of programs (P n ) n∈N over (M, * ) of length O(n k-1 ), L ∆ is not recognised by (P n ) n∈N . This is done using a counting argument: for some monoid order i ∈ N >0 , for n ∈ N big enough, the number of languages in {0, 1} n recognised by a program over some monoid of order i on {0, 1} n of length at most α • n k-1 for α ∈ N >0 some constant is upper-bounded by a number that turns out to be smaller than the number of different possible K n,Sn , when the k-set S n varies.

Upper bound. We start with the upper bound. Given k ∈ N >0 , we define the alphabet

Y k = {e} ∪ {⊥ l , l | l ∈ [k]};
we are going to prove that for all k ∈ N >0 there exists a language Z k ∈ SUL k (Y * k ) such that for all ∆ = (S n ) n∈N sequences of k-sets, there exists a program-reduction from L ∆ to Z k of length s(n), where s : N → N is some function verifying s(n) ≤ 2n k for all n ∈ N, using the following proposition and the fact that the language of words of length n ∈ N of L ∆ is exactly K n,Sn . Proposition 4.3.1. For all k ∈ N >0 there is a language Z k ∈ SUL k (Y * k ) such that for all n ∈ N and all k-sets S n over n, we have

K n,Sn = Ψ -1 n,Sn (Z = Ψ n,Sn k ) where Ψ n,Sn is a Y k -program on {0, 1} n of length at most 2n k .
Proof. We first define by induction on k a family of languages Z k over the alphabet Y k . For k = 0, Z 0 is Y * 0 where Y 0 = {e}. For k ∈ N >0 , Z k is the set of words containing k and such that the first occurrence of k has no ⊥ k to its left, and the sequence between the first occurrence of k and the first occurrence of ⊥ k or k to its right, or the end of the word if there is no such letter, belongs to Z k-1 . A simple induction on k shows that Z k for k ∈ N is defined by the expression

Y * k-1 k Y * k-2 k-1 • • • Y * 1 2 Y * 0 1 Y * k , and therefore it is in SUM k (Y * k ) ⊆ SUL k (Y * k ). Fix n ∈ N.
If n = 0, the proposition follows trivially; otherwise, we define by induction on k a Y k -program P k (i, S) on {0, 1} n for every k-set S over n and every i ∈ [n + 1].

For any k ∈ N >0 , j ∈ [n] and S a k-set over n, let f j,S : {0, 1} → Y k be the function defined by f j,S (0) = e and f j,S (1) = k if j is the first element of some ordered k-tuple of S, f j,S (1) = ⊥ k otherwise. We also let g k : {0, 1} → Y k be the function defined by g k (0) = e and g k (1) = ⊥ k . Moreover, S|j denotes the (k -1)-set over n containing the ordered (k -1)-tuples t such that (j, t) ∈ S.

For k ∈ N >0 , i ∈ [n + 1] and S a k-set over n, the Y k -program P k (i, S) on {0, 1} n is the following sequence of instructions:

(i, f i,S )P k-1 (i + 1, S|i)(i, g k ) • • • (n, f n,S )P k-1 (n + 1, S|n)(n, g k ) .
In other words, the program guesses the first occurrence j ∈ [[i, n]] of 1, returns ⊥ k or k depending on whether it is the first element of an ordered k-tuple in S, and then proceeds for the next occurrences of 1 by induction.

For k = 0, i ∈ [n + 1] and S a 0-set over n (that is empty or contains ε, the only ordered 0-tuple of elements of [n]), the Y 0 -program P 0 (i, S) is the empty program ε.

A simple computation shows that for any k ∈ N, i ∈ [n + 1] and S a k-set over n, the number of instructions in P k (i, S) is at most 2n k and even 0 when i = n + 1.

A simple induction on k shows that when running on a word w ∈ {0, 1} n , for any k ∈ N, i ∈ [n + 1] and S a k-set over n, P k (i, S) returns a word in Z k if and only if k = 0 or the ordered k-tuple of the positions of the first k occurrences of 1 starting at position i in w exists and is an element of S.

Therefore, for any k ∈ N >0 and S n a k-set over n, if we set

Ψ n,Sn = P k (1, S n ), we have K n,Sn = Ψ -1 n,Sn (Z = Ψ n,Sn k ) where Ψ n,Sn is a Y k -program on {0, 1} n of length at most 2n k .
Consequently, for all k ∈ N >0 and any sequence of k-sets ∆, since the language Z k is in SUL k (Y * k ) and thus recognised by a monoid from DA k , we have, by Corollary 3.4.3, that L ∆ ∈ P DA k , n k , as there is a program-reduction from it to Z k of length s(n), where s : N → N is some function verifying s(n) ≤ 2n k for all n ∈ N.

Lower bound.

The following claim is a simple counting argument.

Claim 4.3.2. For all i ∈ N >0 and n ∈ N, the number of languages in {0, 1} n recognised by programs over a monoid of order i on {0, 1} n , with at most l ∈ N instructions, is upper-bounded by i

i 2 2 i • (n • i 2 ) l .
Proof. Fix a monoid (M, * ) of order i. Since a program over (M, * ) on {0, 1} n with less than l instructions can always be completed into an equivalent such program with exactly l instructions (using the identity of (M, * )), we only consider programs with exactly l instructions. As Σ = {0, 1}, there are n • i 2 choices for each of the l instructions of an (M, * )-program on {0, 1} n . Such a program can recognise at most 2 i different languages in {0, 1} n . Hence, the number of languages in {0, 1} n recognised by (M, * )-programs on {0, 1} n of length at most l is at most 2 i • (n • i 2 ) l . The result follows from the facts that there are at most i i 2 isomorphism classes of monoids of order i and that two isomorphic monoids allow to recognise the same languages in {0, 1} n through programs.

If for some k ∈ N >0 and i ∈ [α], α ∈ N >0 , we apply Claim 4.3.2 for all n ∈ N, l = α • n k-1 , we get a number µ i (n) of languages that is in 2 O(n k-1 log 2 (n))
, which is asymptotically strictly smaller than the number of distinct K n,Sn when the k-set S n over n varies, which is 2

( n k ) , i.e. µ i (n) is in o 2 ( n k ) .
Hence, for all j ∈ N >0 , there exist an n j ∈ N and T j a k-set over n j such that no program over a monoid of order i ∈ [j] on {0, 1} n j and of length at most j • n j k-1 recognises K n j ,T j . Moreover, we can assume without loss of generality that the sequence (n j ) j∈N >0 is increasing. Let ∆ = (S n ) n∈N be such that S n j = T j for all j ∈ N >0 and S n = ∅ for any n ∈ N verifying that it is not equal to any n j for j ∈ N >0 . We show that no sequence of programs over a finite monoid of length O(n k-1 ) can recognise L ∆ . If this were the case, then let i be the order of the monoid. Let j ∈ N, j ≥ i be such that for any n ∈ N, the n-th program has length at most j • n k-1 . But, by construction, we know that there does not exist any such program on {0, 1} n j recognising K n j ,T j , a contradiction.

This implies the following hierarchy, using the fact that for all k ∈ N and all d ∈ N, d ≤ max{k -1, 0}, any monoid from DA d is also a monoid from DA k , observing that a * ∈ P({a, b} * , DA 0 , n) \ P({a, b} * , DA 0 , 1) simply because any program over some finite monoid (M, * ) on {a, b} n for n ∈ N recognising a n must have at least n instructions, one for each input letter.

Collapse

Tesson and Thérien showed that for any monoid (M, * ) in DA, there exists k ∈ N such that for any alphabet Σ there is a constant c ∈ N >0 such that any (M, * )-program on Σ n for n ∈ N is equivalent to an (M, * )-program on Σ n of length at most c • n k Tesson and Thérien [2001]. We now show that if we further assume that (M, * ) is in DA d for some d ∈ N, then the exponent k can be assumed to be equal to max{d, 1} -but not less by Proposition 4.3.3. This shows that proposition to be optimal in some sense. In particular, P(DA k ) = P DA k , n max{k,1} for all k ∈ N.

Observe that given P a program over some finite monoid (M, * ) on Σ n for n ∈ N and Σ an alphabet, given some F ⊆ M , we have

P -1 (F ) = ξ -1 P η -1 (M, * ) (F ) ∩ M |P |
where η (M, * ) is the evaluation morphism of (M, * ). Therefore, a language L ⊆ Σ n is recognised by P if and only if there exists a language K ⊆ M * recognised by η (M, * ) verifying that L = ξ -1 P (K =|P | ), i.e. w ∈ Σ n belongs to L if and only if ξ P (w) ∈ K. Thus, a subprogram P of P is equivalent to P if and only if for every language K ⊆ M * recognised by η (M, * ) we have ξ P (w) ∈ K ⇔ ξ P (w) ∈ K for all w ∈ Σ n . Moreover, every language recognised by η (M, * ) is precisely a language of SUL k (M * ) when (M, * ) ∈ DA k for some k ∈ N.

The result is hence a consequence of the following lemma and the fact that every language in SUL k (M * ) is a Boolean combination of languages in SUM k (M * ), that is a finite set of languages. For all k ∈ N, there exists a constant c ∈ N >0 verifying that for any program P over (M, * ) on Σ n for n ∈ N and any SUM K ∈ SUM k (M * ) of degree k, there exists a subprogram Q of P of length at most c • n max{k,1} such that for any subprogram Q of P that has Q as a subprogram, for all w ∈ Σ n we have

ξ P (w) ∈ K ⇔ ξ Q (w) ∈ K . Proof. A program P over (M, * ) on Σ n for n ∈ N is a finite sequence (p i , f i ) of instructions
where each p i is a positive natural number which is at most n and each f i is a function from Σ to M . We denote by l the number of instructions of P . For each set I ⊆ [l] we denote by P [I] the subprogram of P consisting of the subsequence of instructions of P obtained after removing all instructions whose index is not in I. In particular, P [1, m] denotes the initial sequence of instructions of P , until instruction number m.

We prove the lemma by induction on k, fixing the constant to be

c k = |M |•3 k •|Σ| max{k,1} for a given k ∈ N.
The intuition behind the proof for a program P on inputs of length n and some SUM K 1 γK 2 of degree at least 2 is as follows. We assume that K 1 does not contain any word with the letter γ, the other case is done symmetrically. Consider the subset of all indices I γ ⊆ [l] that correspond, for a fixed letter a and a fixed position p in the input, to the first instruction of P that would output the element γ when reading a at position p. We then have that, given some w as input, ξ P (w) ∈ K 1 γK 2 if and only if there exists i ∈ I γ verifying that the element at position i of ξ

P (w) is γ, ξ P [1,i-1] (w) ∈ K 1 and ξ P [i+1,l] (w) ∈ K 2 .
The idea is then that if we set I to contain I γ as well as all indices obtained by induction for P [1, i -1] and K 1 and for P [i + 1, l] and K 2 , we would have that for all w, ξ P (w) ∈ K 1 γK 2 if and only if ξ P [I] (w) ∈ K 1 γK 2 , that is ξ P (w) where only the elements at indices in I have been kept.

The intuition behind the proof when the SUM is of degree less than 2 is essentially the same, but without induction.

We now spell out the details of the proof, starting with the inductive step.

Inductive step. Let k ∈ N, k ≥ 2 and assume the lemma proven for all k ∈ N, k < k.

Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some language K in SUM k (M * ) \ SUM k-1 (M * ). By definition, K = K 1 γK 2 for γ ∈ M and some SUMs

K 1 ∈ SUM k 1 (M * ) of degree k 1 and K 2 ∈ SUM k 2 (M * ) of degree k 2 with k 1 + k 2 = k -1.
Moreover either γ does not occur in any of the words of K 1 or it does not occur in any of the words of K 2 . We only treat the case where γ does not appear in any of the words in K 1 , the other case is treated similarly by symmetry.

Observe that when n = 0, we necessarily have P = ε, so that the lemma is trivially proven in that case. So we now assume n > 0.

For each p ∈ [n] and each a ∈ Σ consider within the sequence of instructions of P the first instruction of the form (p, f ) with f (a) = γ, if it exists. We let I γ be the set of indices of these instructions for all a and p. Notice that the size of I γ is at most |Σ| • n.

For all i ∈ I γ , we let J i,1 be the set of indices of the instructions within

P [1, i -1]
appearing in its subprogram obtained by induction for P [1, i -1] and K 1 , and J i,2 be the same for P [i + 1, l] and K 2 .

We now let I be the union of I γ and J i,1 and J i,2 = {j + i | j ∈ J i,2 } for all i ∈ I γ (the translation being required because the first instruction in P [i + 1, l] is the (i + 1)-th instruction in P ). We claim that Q = P [I], a subprogram of P , has the desired properties.

First notice that by induction the sizes of J i,1 for all i ∈ I γ are upper bounded by

|M | • 3 k 1 • |Σ| max{k 1 ,1} • n max{k 1 ,1} ≤ |M | • 3 k-1 • |Σ| max{k-1,1} • n max{k-1,1} = c k-1 • n max{k-1,1} ,
as well as are those of J i,2 for all i ∈ I γ . Hence, since n ≥ 1 and k -1 ≥ 1, the size of I is at most

|I γ | + i∈Iγ |J i,1 | + i∈Iγ J i,2 ≤ |I γ | + |I γ | • c k-1 • n max{k-1,1} + |I γ | • c k-1 • n max{k-1,1} ≤ 3 • |I γ | • c k-1 • n max{k-1,1} ≤ 3 • |Σ| • n • |M | • 3 k-1 • |Σ| max{k-1,1} • n max{k-1,1} = |M | • 3 k • |Σ| max{k,1} • n max{k,1} = c k • n max{k,1}
, so that P [I] has at most the required length.

Let Q be a subprogram of P that has Q as a subprogram: it means that there exists some set

I ⊆ [l] containing I such that Q = P [I ].
Take w ∈ Σ n . Assume now that ξ P (w) ∈ K. Let i be the position in ξ P (w) of label γ witnessing the membership in K. Let (p i , f i ) be the corresponding instruction of P . In particular we have that f i (w p i ) = γ. Because γ does not occur in any word of K 1 , for all j ∈ [i -1] such that p j = p i we cannot have f j (w p j ) = γ. Hence i ∈ I γ . By induction we have that

ξ P [1,i-1][J] (w) ∈ K 1 for any set J ⊆ [i -1] containing J i,1 and ξ P [i+1,l][J] (w) ∈ K 2 for any set J ⊆ [l -i] containing J i,2
. Hence, if we set I 1 = {j ∈ I | j < i} as the subset of I of elements less than i and I 2 = {j -i | j ∈ I , j > i} as the subset of I of elements greater than i translated by -i, we have ξ P

[I ] (w) = ξ P [1,i-1][I 1 ] (w)γξ P [i+1,l][I 2 ] (w) ∈ K 1 γK 2 = K.
Assume finally that ξ P [I ] (w) ∈ K. Let i be the index in I whose instruction provides the letter γ witnessing the fact that ξ P [I ] (w) ∈ K. This means that if we set I 1 = {j ∈ I | j < i} as the subset of I of elements less than i and I 2 = {j -i | j ∈ I , j > i} as the subset of I of elements greater than i translated by -i, we have ξ P [I ] (w) =

Chapter 5

The power of programs over monoids in J

The last chapter of this thesis is similar in its objectives to the previous one, except that we focus on p-recognition by monoids taken from the variety of finite monoids J. It is another well-known "small" variety of finite aperiodic monoids, that is even strictly included in DA. As explained in Chapter 3, J is especially interesting because it is not an sp-variety of finite monoids, and we spend most of this long chapter trying to understand the unexpected power p-recognition offers over classical morphism-recognition by monoids from J when it comes to regular languages.

Section 5.1 first presents some specific preliminaries about J. Section 5.2 is then dedicated to a fine hierarchy result inside P(J) based on the usual parameterisation of J, very similar to the fine hierarchy result for DA. The remainder of this chapter is then devoted to the study of P(J) ∩ Reg: in Section 5.3, we investigate the possibilities offered by p-recognition by monoids from J and show that, actually, a whole strict superclass of languages of L(J) can be recognised that way. We conjecture that this class essentially suffices to characterise P(J) ∩ Reg and Section 5.4 presents a partial result that supports this conjecture. The proof we give is, alas, long and complicated.

Specific preliminaries about J

As we did in the previous chapter, we also start this one with some specific definitions and results about J that we will use, based essentially on [START_REF] Klíma | Hierarchies of piecewise testable languages[END_REF], but also on [Pin, 2016, Chapter XI].

As we have seen in Section 3.1 of Chapter 3, J ⊂ DA ⊂ A. (This is because while any finite J-trivial monoid (M, * ) definitely verifies that each of its D-classes whose sole element is an idempotent forms an aperiodic subsemigroup of (M, * ), the monoid M(a(a + b) * ) in DA is not J-trivial.) Its equational characterisation is the following: a finite monoid (M, * ) of idempotent power ω belongs to J if and only if (xy) ω = (xy) ω x = y(xy) ω for all x, y ∈ M .

For each k ∈ N and each alphabet Σ, let us define the equivalence relation ∼ Σ k on Σ * by u ∼ Σ k v if and only if u and v have the same set of k-subwords, for all u, v ∈ Σ * . ∼ Σ k is a congruence of finite index on Σ * .

We define the variety of piecewise testable languages PT as the class of regular languages such that for every alphabet Σ, PT (Σ * ) is the set of all languages over Σ that are Boolean combinations of languages of the form

Σ * a 1 Σ * a 2 Σ * • • • Σ * a l Σ * (i.e.
the language of all words over Σ having a 1 a 2 • • • a l as a subword) where a 1 , a 2 , . . . , a l ∈ Σ and l ∈ N. In fact, for each alphabet Σ, PT (Σ * ) is the set of languages over Σ equal to a union of ∼ Σ kclasses for some k ∈ N (see [START_REF] Simon | Piecewise testable events[END_REF]). Simon showed [START_REF] Simon | Piecewise testable events[END_REF] that a language is piecewise testable if and only if its syntactic monoid is J-trivial, i.e. PT = L(J).

We can define a hierarchy of piecewise testable languages in a natural way. For k ∈ N, let the variety of k-piecewise testable languages PT k be the class of regular languages such that for every alphabet Σ, PT k (Σ * ) is the set of all languages over Σ that are Boolean combinations of languages of the form Σ * a 1 Σ * a 2 Σ * • • • Σ * a l Σ * where a 1 , a 2 , . . . , a l ∈ Σ and l ∈ N, l ≤ k. We then unsurprisingly have that for each alphabet Σ, PT k (Σ * ) is the set of languages on Σ equal to a union of ∼ Σ k -classes. If we then define the varieties of finite monoids

J k = Σ alphabet {(Σ * /∼ Σ k , •/∼ Σ k )} M ,
that is, the variety of finite monoids generated by the quotients of (Σ * , •) by ∼ Σ k for any alphabet Σ, we have that a language is k-piecewise testable if and only if its syntactic monoid belongs to J k , i.e. PT k = L(J k ). (See [Klíma and Polák, 2010, Section 3].)

Finally, we define the shuffle of two languages.

Definition 5.1.1. Let Σ be an alphabet.

Let L 1 , L 2 ⊆ Σ * be two languages over Σ. The shuffle of L 1 and L 2 , denoted by

L 1 ¡L 2 , is the language L 1 ¡ L 2 = {w ∈ Σ * | w = u 1 v 1 • • • u k v k where k ∈ N >0 , u 1 , v 1 , . . . , u k , v k ∈ Σ * s.t. u 1 • • • u k ∈ L 1 , v 1 • • • v k ∈ L 2 } over Σ.
In the following, we consider that ¡ has precedence over ∪ and ∩ (but of course not over concatenation). An example of the shuffle of two languages is given by the language For a given alphabet Σ and a word u ∈ Σ * , we shall use this notion to simply write u ¡ Σ * for the language of all words over Σ having u as a subword.

Let us finish with some positive and negative examples of piecewise testable languages. For instance, the language a * of words over {a, b} not containing the letter b is (1-)piecewise testable, since a * = (b ¡ {a, b} * ) . Similarly, the language of words over {a, b, c} containing abba or abacab as a subword but containing less than three times the letter c is (6-)piecewise testable, since it is equal to (abba¡{a, b, c} * ∪abacab¡{a, b, c} * )∩ (ccc ¡ {a, b, c} * ) .

However, both the language a(a + b) * of words over {a, b} starting with an a and the language (a + b) * bb(a + b) * of words over {a, b} containing bb as a factor are provably not piecewise testable, because their respective syntactic monoids aren't J-trivial.

A fine hierarchy in P(J)

As Tesson and Thérien proved in [START_REF] Tesson | The computing power of programs over finite monoids[END_REF], any monoid in DA has the polynomial-length property, so since J ⊂ DA, we have that any monoid in J also has the polynomial-length property. Proposition 4.3.3 in the previous chapter shows that there does not exist any k ∈ N such that P(DA) collapses to P DA, n k , but this does not rule out the possibility that such a k would exist for P(J); moreover, we know by that same proposition and Proposition 4.3.4 that for all k ∈ N, P(DA k ) collapses to P DA k , n max{k,1} but not further, not telling us much about P(J k ). In this section, very similar to Section 4.3 of the previous chapter, we show on the one hand that, as for DA, while P(J, s(n)) collapses to P(J) for any super-polynomial function s : N → N, there does not exist any k ∈ N such that P(J) collapses to P J, n k ; and on the other hand that, for each k ∈ N, P(J k ) does optimally collapse to P J k , n k/2 .

Strict hierarchy

In a way similar to Subsection 4.3.1 in Chapter 4, for each k ∈ N, we exhibit a language L k ⊆ {0, 1} * that can be recognised by a sequence of programs of length O(n k+1 ) over a monoid (M k , * k ) in J 2k+1 but cannot be recognised by any sequence of programs of length O(n k ) over any monoid in J.

Given k ∈ N, we say that for some n ∈ N, σ is a k-selector over n if σ is a function of P([n]) [n] k that associates a subset of [n] to each vector in [n] k . For any sequence ∆ = (σ n ) n∈N such that for each n ∈ N, σ n is a k-selector over n -a sequence we will call a sequence of k-selectors -we set L ∆ = n∈N K n,σn , where for each n ∈ N, K n,σn is the set of words over {0, 1} of length (k + 1) • n that can be decomposed into k + 1 consecutive blocks u (1) , u (2) , . . . , u (k) , v of n letters where the first k blocks each contain 1 exactly once and uniquely define a vector ρ in [n] k , where for all i ∈ [k], ρ i is given by the position of the only 1 in u (i) (i.e. u (i) ρ i = 1) and v is such that there exists j ∈ σ n (ρ) verifying that v j is 1. Observe that for any k-selector σ 0 over 0, we have L 0,σ 0 = ∅.

We now proceed similarly to what we did in Subsection 4.3.1 to show, on one hand, that for all k ∈ N, there is a monoid (M k , * k ) in J 2k+1 such that for any sequence of k-selectors ∆, the language L ∆ is recognised by a sequence of programs over (M k , * k ) of length O(n k+1 ); and, on the other hand, that for all k ∈ N there is a sequence of kselectors ∆ such that for any finite monoid (M, * ) and any sequence of programs

(P n ) n∈N over (M, * ) of length O(n k ), L ∆ is not recognised by (P n ) n∈N .
Upper bound. We start with the upper bound. Given k ∈ N, we define the alphabet

Y k = {e, #} ∪ {⊥ l , l | l ∈ [k]};
we are going to prove that for all k ∈ N there exists a language Z k ∈ PT 2k+1 (Y * k ) such that for all ∆ = (σ n ) n∈N sequences of k-selectors, there exists a program-reduction from L ∆ to Z k of length s(n), where s : N → N is some function verifying s(n) ≤ 2 • (k + 1) -k • n k+1 for all n ∈ N, using the following proposition and the fact that the language of words of length n ∈ N of L ∆ is exactly K n ,σ n when there exists n ∈ N verifying n = (k + 1) • n (which implies a program length of at most 2

• (k + 1) -k • n k+1 = 2 • (k + 1) • n k+1 ) and ∅ otherwise. Proposition 5.2.1. For all k ∈ N there is a language Z k ∈ PT 2k+1 (Y * k ) such that ε / ∈ Z k and for all n ∈ N and all k-selectors σ n over n, we have K n,σn = Ψ -1 (k+1)•n,σn (Z = Ψ (k+1)•n,σn k ) where Ψ (k+1)•n,σn is a Y k -program on {0, 1} (k+1)•n of length at most 2 • (k + 1) • n k+1 .
Proof. We first define by induction on k a family of languages

Z k over the alphabet Y k . For k = 0, Z 0 is Y * 0 #Y * 0 . For k ∈ N >0 , Z k
is the set of words containing each of k and ⊥ k exactly once, the first before the latter, and verifying that the sequence between the occurrence of k and the occurrence of

⊥ k belongs to Z k-1 , i.e. Z k = Y * k-1 k Z k-1 ⊥ k Y * k-1 . A simple induction on k shows that Z k for k ∈ N is defined by the expression Y * k-1 k Y * k-2 k-1 • • • Y * 1 2 Y * 0 1 Y * 0 #Y * 0 ⊥ 1 Y * 0 ⊥ 2 Y * 1 • • • ⊥ k-1 Y * k-2 ⊥ k Y * k-1 ,
hence in particular it does not contain the empty word ε, and belongs to PT 2k+1 (Y * k ). Fix n ∈ N. If n = 0, the proposition follows trivially since for any k-selector σ 0 over 0, we have L 0,σ 0 = ∅ and ε / ∈ Z k ; otherwise, we define by induction on k a Y k -program P k (d, σ) on {0, 1} (d+k+1)•n for every k-selector σ over n and every d ∈ N.

For any j ∈ [n] and σ a 0-selector over n, which is just a function in P([n]) {ε} , let h j,σ : {0, 1} → Y 0 be the function defined by h j,σ (0) = e and h j,σ (1) = # if j ∈ σ(ε), h j,σ (1) = e otherwise. For all k ∈ N >0 , we also let f k and g k be the functions in Y k {0,1} defined by f k (0) = g k (0) = e, f k (1) = k and g k (1) = ⊥ k . Moreover, for any k-selector σ over n, σ|j for j ∈ [n] denotes the (k -1)-selector over n such that for all ρ ∈

[n] k-1 , i ∈ σ|j(ρ ) if and only if i ∈ σ((j, ρ )). For k ∈ N >0 , d ∈ N and σ a k-selector over n, the Y k -program P k (d, σ) on {0, 1} (d+k+1)
•n is the following sequence of instructions:

(d • n + 1, f k )P k-1 (d + 1, σ|1)(d • n + 1, g k ) • • • (d • n + n, f k )P k-1 (d + 1, σ|n)(d • n + n, g k ) .
In other words, for each position

i ∈ [[d • n + 1, d • n + n]]
with a 1 in the (d + 1)-th block of n letters in the input, the program runs, between the symbols k and ⊥ k , the program obtained by induction for the (k -1)-selector over n obtained by restricting σ to all vectors in [n] k whose first coordinate is i.

For k = 0, d ∈ N and σ a 0-selector over n, the Y 0 -program P 0 (d, σ) on {0, 1} (d+1)•n is the following sequence of instructions:

(d • n + 1, h 1,σ )(d • n + 2, h 2,σ ) • • • (d • n + n, h n,σ ) .

In other words, for each position

i ∈ [[d • n + 1, d • n + n]]
with a 1 in the (d + 1)-th block of n letters in the input, the program outputs # if and only if i does belong to the set σ(ε).

A simple computation shows that for any k ∈ N, d ∈ N and σ a k-selector over n, the number of instructions in

P k (d, σ) is at most 2 • (k + 1) • n k+1 .
A simple induction on k shows that for any k ∈ N and d ∈ N, when running on a word w ∈ {0, 1} (d+k+1)•n , for any σ a k-selector over n, P k (d, σ) returns a word in Z k if and only if when u (1) , u (2) , . . . , u (k) , v are the last k + 1 consecutive blocks of n letters of w, then u (1) , u (2) , . . . , u (k) each contain 1 exactly once and define the vector ρ in [n] k where for all i ∈ [k], ρ i is given by the position of the only 1 in u (i) , verifying that there exists j ∈ σ n (ρ) such that v j is 1.

Therefore, for any k ∈ N and σ n a k-selector over n, if we set

Ψ (k+1)•n,σn = P k (0, σ n ), we have K n,σn = Ψ -1 (k+1)•n,σn (Z = Ψ (k+1)•n,σn k ) where Ψ (k+1)•n,σn is a Y k -program on {0, 1} (k+1)•n of length at most 2 • (k + 1) • n k+1 .
Consequently, for all k ∈ N and any sequence of k-selectors ∆, since the language Z k is in PT 2k+1 (Y * k ) and thus recognised by a monoid from J 2k+1 , we have, by Corollary 3.4.3, that L ∆ ∈ P J 2k+1 , n k+1 , as there is a program-reduction from it to Z k of length s(n), where s :

N → N is some function verifying s(n) ≤ 2 • (k + 1) -k • n k+1 for all n ∈ N.
Lower bound. If for some k ∈ N and i ∈ [α], α ∈ N >0 , we apply Claim 4.3.2 for all n ∈ N, l = α • ((k + 1) • n) k , we get a number µ i (n) of languages in {0, 1} (k+1)•n recognised by programs over a monoid of order i on {0, 1} (k+1)•n with at most l instructions that is in 2 O(n k log 2 (n)) , which is asymptotically strictly smaller than the number of distinct K n,σn when the k-selector σ n over n varies, which is

2 n k+1 , i.e. µ i (n) is in o(2 n k+1 ).
Hence, for all j ∈ N >0 , there exist an n j ∈ N and τ j a k-selector over n j such that no program over a monoid of order i ∈ [j] on {0, 1} (k+1)•n j and of length at most j•((k+1)•n j ) k recognises K n j ,τ j . Moreover, we can assume without loss of generality that the sequence (n j ) j∈N >0 is increasing. Let ∆ = (σ n ) n∈N be such that σ n j = τ j for all j ∈ N >0 and σ n : [n] k → P([n]), ρ → ∅ for any n ∈ N verifying that it is not equal to any n j for j ∈ N >0 . We show that no sequence of programs over a finite monoid of length O(n k ) can recognise L ∆ . If this were the case, then let i be the order of the monoid. Let j ∈ N, j ≥ i be such that for any n ∈ N, the n-th program has length at most j • n k . But, by construction, we know that there does not exist any such program on {0, 1} (k+1)•n j recognising K n j ,τ j , a contradiction.

This implies the following hierarchy, using the fact that for all k ∈ N and all d ∈ N, d ≤ k 2 -1, any monoid from J d is also a monoid from J k .

Proposition 5.2.2. For all k ∈ N, P J, n k ⊂ P J, n k+1 . More precisely, for all k ∈ N

and d ∈ N, d ≤ k 2 -1, P J k , n d ⊂ P J k , n d+1 .

Collapse

Looking at Proposition 5.2.2, it looks at first glance rather strange that, when restricting the monoids to be taken from J k for some k ∈ N, we can only prove strictness of the hierarchy inside P(J k ) up to exponent k 2 . We now show, in a way similar to Subsection 4.3.2 in Chapter 4, that in fact P(J k ) does collapse to P J k , n k/2 for all k ∈ N, showing Proposition 5.2.2 to be optimal in some sense. In particular, P(J k ) = P J k , n k/2 for all k ∈ N.

As we observed in Subsection 4.3.2 of the previous chapter, given P a program over some finite monoid (M, * ) on Σ n for n ∈ N and Σ an alphabet, a subprogram P of P is equivalent to P if and only if for every language K ⊆ M * recognised by the evaluation morphism η (M, * ) of (M, * ) we have ξ P (w) ∈ K ⇔ ξ P (w) ∈ K for all w ∈ Σ n . Moreover, every language recognised by η (M, * ) is precisely a language of PT k (M * ) when (M, * ) ∈ J k for some k ∈ N.

The result is hence a consequence of the following lemma and the fact that every language in PT k (M * ) is a union of ∼ M k -classes, each of those classes corresponding to all words over M having the same set of k-subwords, that is finite. Lemma 5.2.4. Let Σ be an alphabet and (M, * ) a finite monoid.

For all k ∈ N, there exists a constant c ∈ N >0 verifying that for any program P over (M, * ) on Σ n for n ∈ N and any word t ∈ M k , there exists a subprogram Q of P of length at most c • n k/2 such that for any subprogram Q of P that has Q as a subprogram, for all w ∈ Σ n , t is a subword of ξ P (w) if and only if t is a subword of ξ Q (w).

Proof. A program P over (M, * ) on Σ n for n ∈ N is a finite sequence (p i , f i ) of instructions where each p i is a positive natural number which is at most n and each f i is a function from Σ to M . We denote by l the number of instructions of P . As in the proof of Lemma 4.3.5, for each set I ⊆ [l] we denote by P [I] the subprogram of P consisting of the subsequence of instructions of P obtained after removing all instructions whose index is not in I. In particular, P [1, m] denotes the initial sequence of instructions of P , until instruction number m.

We prove the lemma by induction on k, fixing the constant to be

c k = k! • |Σ| k/2 for a given k ∈ N.
The intuition behind the proof for a program P on inputs of length n and some t of length at least 3 is as follows. Consider all the indices 1 ≤ i 1 < i 2 < • • • < i s ≤ l that correspond, for a fixed letter a and a fixed position p in the input, to the first instruction of P that would output the element t 1 when reading a at position p or to the last instruction of P that would output the element t k when reading a at position p. We then have that, given some w as input, t is a subword of ξ P (w) if and only if there exist 1 ≤ γ < δ ≤ s verifying that the element at position i γ of ξ P (w) is t 1 , the element at position

i δ of ξ P (w) is t k and t 2 • • • t k-1 is a subword of ξ P [iγ +1,i δ -1] (w).
The idea is then that if we set I to contain i 1 , i 2 , . . . , i s as well as all indices obtained by induction for P [i γ + 1, i δ -1] and t 2 • • • t k-1 for all 1 ≤ γ < δ ≤ s, we would have that for all w, t is a subword of ξ P (w) if and only if it is a subword of ξ P [I] (w), that is ξ P (w) where only the elements at indices in I have been kept. The only problem is that in doing this, I would possibly be too big (possibly at least α • n (k-2)/2 +2 for α some constant), because the number of pairs 1 ≤ γ < δ ≤ s is quadratic in s and hence possibly in n. We solve this problem by setting I to contain, in addition to i 1 , i 2 , . . . , i s , all indices obtained by induction for P [i j + 1, i j+1 -1] and t α • • • t β for all 1 ≤ j ≤ s -1 (for which we have a number of possibilities linear in s and hence at most linear in n) and 1 < α ≤ β < k (for which we have a number of possibilities quadratic in k, a constant).

The intuition behind the proof when t is of length less than 3 is essentially the same, but without induction.

Inductive step. Let k ∈ N, k ≥ 3 and assume the lemma proven for all k ∈ N, k < k.

Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some word t ∈ M k .

Observe that when n = 0, we necessarily have P = ε, so that the lemma is trivially proven in that case. So we now assume n > 0.

For each p ∈ [n] and each a ∈ Σ consider within the sequence of instructions of P the first instruction of the form (p, f ) with f (a) = t 1 and the last instruction of that form with f (a) = t k , if they exist. We let I (1,k) be the set of indices of these instructions for all a and p. Notice that the size of

I (1,k) is at most 2 • |Σ| • n.
Let s = I (1,k) and let us denote

I (1,k) = {i 1 , i 2 , . . . , i s } where i 1 < i 2 < • • • < i s . Given α, β ∈ [k], we also set t (α,β) = t α t α+1 • • • t β . For all α, β ∈ [k] such that 1 < α ≤ β < k and j ∈ [s -1],
we let J j,(α,β) be the set of indices of the instructions within P [i j + 1, i j+1 -1] appearing in its subprogram obtained by induction for P [i j + 1, i j+1 -1] and t (α,β) .

We now let I be the union of I (1,k) and J j,(α,β) = {e + i j | e ∈ J j,(α,β) } for all α, β ∈ [k] such that 1 < α ≤ β < k and j ∈ [s -1] (the translation being required because the first instruction in P [i j + 1, i j+1 -1] is the (i j + 1)-th instruction in P ). We claim that Q = P [I], a subprogram of P , has the desired properties.

First notice that by induction the size of J j,(α,β) for all α, β ∈

[k] such that 1 < α ≤ β < k and j ∈ [s -1] is upper bounded by (β -α + 1)! • |Σ| (β-α+1)/2 • n (β-α+1)/2 ≤ (k -2)! • |Σ| (k-2)/2 • n (k-2)/2 .
Hence, the size of I is at most

I (1,k) + s-1 j=1 1<α≤β<k J j,(α,β) ≤2 • |Σ| • n + (2 • |Σ| • n -1) • (k -1) • (k -2) 2 • (k -2)! • |Σ| (k-2)/2 • n (k-2)/2
i j+1 translated by -i j , we have that t (2,k-1) is a subword of

ξ P [iγ +1,i γ+1 -1][I γ ] (w)f i γ+1 (w p i γ+1 )ξ P [i γ+1 +1,i γ+2 -1][I γ+1 ] (w) • • • f i δ-1 (w p i δ-1 )ξ P [i δ-1 +1,i δ -1][I δ-1 ] (w)
(since we have r mγ ≥ r 2 > r 1 ≥ i γ ), so that, as f iγ (w p iγ ) = t 1 and f i δ (w p i δ ) = t k , we have that t = t 1 t (2,k-1) t k is a subword of

ξ P [1,i 1 -1][I 0 ] (w)f i 1 (w p i 1 )ξ P [i 1 +1,i 2 -1][I 1 ] (w) • • • f is (w p is )ξ P [is+1,l][I s ] (w) = ξ P [I ] (w) .
Assume finally that t is a subword of ξ P [I ] (w). Then it is obviously a subword of ξ P (w), as ξ P [I ] (w) is a subword of ξ P (w).

Therefore, t is a subword of ξ P (w) if and only if t is a subword of ξ Q (w) = ξ P [I ] (w), as desired.

Base case. There are three subcases to consider.

Subcase k = 2. Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some word t ∈ M 2 .

We use the same idea as in the inductive step.

Observe that when n = 0, we necessarily have P = ε, so that the lemma is trivially proven in that case. So we now assume n > 0.

For each p ∈ [n] and each a ∈ Σ consider within the sequence of instructions of P the first instruction of the form (p, f ) with f (a) = t 1 and the last instruction of that form with f (a) = t 2 , if they exist. We let I be the set of indices of these instructions for all a and p. Notice that the size of

I is at most 2 • |Σ| • n = 2! • |Σ| 2/2 • n 2/2 = c 2 • n 2/2 .
We claim that Q = P [I], a subprogram of P , has the desired properties. We just showed it has at most the required length.

Let Q be a subprogram of P that has Q as a subprogram: it means that there exists some set

I ⊆ [l] containing I such that Q = P [I ].
Take w ∈ Σ n . Assume now that t is a subword of ξ P (w). It means there exist

i 1 , i 2 ∈ [l], i 1 < i 2 such that f i 1 (w p i 1 ) = t 1 and f i 2 (w p i 2 ) = t 2 . By definition of I, there exist i 1 , i 2 ∈ I, such that i 1 ≤ i 1 < i 2 ≤ i 2 and f i 1 (w p i 1 ) = t 1 and f i 2 (w p i 2 ) = t 2 . Hence, as f i 1 (w p i 1 )f i 2 (w p i 2 ) is a subword of ξ P [I ] (w) (because I ⊆ I ), we get that t = t 1 t 2 is a subword of ξ P [I ] (w).
Assume finally that t is a subword of ξ P [I ] (w). Then it is obviously a subword of ξ P (w), as ξ P [I ] (w) is a subword of ξ P (w).

Therefore, t is a subword of ξ P (w) if and only if t is a subword of ξ Q (w) = ξ P [I ] (w), as desired.

Subcase k = 1. Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some word t ∈ M 1 .

We again use the same idea as before.

Observe that when n = 0, we necessarily have P = ε, so that the lemma is trivially proven in that case. So we now assume n > 0.

For each p ∈ [n] and each a ∈ Σ consider within the sequence of instructions of P the first instruction of the form (p, f ) with f (a) = t 1 , if it exists. We let I be the set of indices of these instructions for all a and p. Notice that the size of I is at most

|Σ| • n = 1! • |Σ| 1/2 • n 1/2 = c 1 • n 1/2 .
We claim that Q = P [I], a subprogram of P , has the desired properties. We just showed it has at most the required length.

Let Q be a subprogram of P that has Q as a subprogram: it means that there exists some set

I ⊆ [l] containing I such that Q = P [I ].
Take w ∈ Σ n . Assume now that t is a subword of ξ P (w). It means there exists i ∈ [l] such that f i (w p i ) = t 1 . By definition of I, there exists i ∈ I such that i ≤ i and f i (w p i ) = t 1 . Hence, as f i (w p i ) is a subword of ξ P [I ] (w) (because I ⊆ I), we get that t = t 1 is a subword of ξ P [I ] (w).

Assume finally that t is a subword of ξ P [I ] (w). Then it is obviously a subword of ξ P (w), as ξ P [I ] (w) is a subword of ξ P (w).

Therefore, t is a subword of ξ P (w) if and only if t is a subword of ξ Q (w) = ξ P [I ] (w), as desired.

Subcase k = 0. Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some word t ∈ M 0 .

We claim that Q = ε, a subprogram of P , has the desired properties. First notice that the length of

Q is 0 ≤ 0! • |Σ| 0/2 • n 0/2 = c 0 • n 0/2
, at most the required length.

Let Q be a subprogram of P that has Q as a subprogram. As t ∈ M 0 , we necessarily have that t = ε, which is a subword of any word in M * . Therefore, we immediately get that for all w ∈ Σ n , t is a subword of ξ P (w) if and only if t is a subword of ξ Q (w), as desired.

Regular languages in P(J)

As we showed in Chapter 3, J is not an sp-variety of finite monoids and it even contains finite monoids that p-recognise languages outside L(QJ) (see Lemma 3.4.13).

In this section, we present some results that give a better understanding of what regular languages can be p-recognised by monoids in J.

Non-tameness of J

Lemma 3.4.12 shows that the language a(a + b) * over {a, b} does belong to P(J), while it does not belong to L(QJ), showing J isn't tame. But actually, the first thing to notice is that, though none of them is in L(QJ), all languages of the form Σ * u and uΣ * for Σ an alphabet and u ∈ Σ + are in P(J). Indeed, for each of these languages, a sequence of constant-length programs over the J-trivial monoid (Z/2 Z, ×) (where × denotes the canonical product modulo 2) recognising it can be built, where for each possible input length, the associated program just checks if the |u| first (or last) letters are correct. So, informally stated, programs over monoids in J can check for some constant-length beginning or ending of their input words.

But programs over monoids in J can do even more. Indeed, it is easily seen that the language (a + b) * ac + does not belong to L(QJ) (just observe that the stable monoid of its syntactic morphism is equal to its syntactic monoid, which is not J-trivial), yet (a+b) * ac + is p-recognised by a monoid in J. The crucial insight is that it can be program-reduced in linear length to the piecewise testable language L of all words over {a, b, c} having ca as a subword but not the subwords cca, caa and cb by using the following trick for input length n ∈ N: reading the input letters in the order 2, 1, 3, 2, 4, 3, 5, 4, . . . , n, n -1 (a reading technique we shall call "feedback-sweeping"), just outputting the letters read. We are now going to formalise this proof. Let n) ). Therefore, we have that ((a + b) * ac + ) =n = Ψ -1 n (L =s(n) ) for all n ∈ N, so (Ψ n ) n∈N is a program reduction from (a + b) * ac + to L of length s(n). So since L ∈ L(J), we can conclude that (a + b) * ac + ∈ P(J, s(n)) = P(J, n) by Corollary 3.4.3.

L = ca ¡ Σ * ∩ (cca ¡ Σ * ) ∩ (caa ¡ Σ * ) ∩ (cb ¡ Σ * ) w i w i-1 w t = caw t is a subword of Ψ n (w) ∈ L, so that w t must be equal to c. This means that w 1 • • • w i-1 ∈ (a + b) * and w i+1 • • • w n ∈ c * , so that w ∈ (a + b) * acc * = (a + b) * ac + . Since this is true for all w ∈ Ψ -1 n (L =s(n) ), it follows that ((a + b) * ac + ) =n ⊇ Ψ -1 n (L =s(
Using variants of this "feedback-sweeping" technique, we can prove that the phenomenon just described is not an isolated case.

Lemma 5.3.2. We have the following.

(a + b) * ac + ∈ P(J) \ L(QJ) , (a + b) * ac + a(a + b) * ∈ P(J) \ L(QJ) , c + a(a + b) * ac + ∈ P(J) \ L(QJ) , (a + c) 2 * (bb) * ∈ P(J) ∩ L(QJ) , (a + b) * bac + ∈ P(J) \ L(QJ) , (a + b) * ac + (a + b) * ac + ∈ P(J) \ L(QJ) .
Hence, we are tempted to say that there are "much more" regular languages in P(J) than just those in L(QJ), even if it is not clear to us whether all of the languages in L(QJ) are in P(J) or not. Consequently, by Proposition 3.4.8, we are tempted to add that it contains "much more" sets of word problems than just those over semigroups (S, * ) such that in (S, * ) 1 ∈ J. But can we show any limit on the "algebraic complexity" of a finite semigroup whose set of word problems is contained in P(J)? It turns out that we can, relying on a known result and one proven in this thesis.

Obviously, since J ⊆ DA, we have P(J) ⊆ P(DA), so the tameness of DA, Theorem 4.2.1, implies what follows, observing that DA S is exactly the class of all finite semigroups (S, * ) such that (S, * ) 1 ∈ DA (see [Eilenberg, 1976, Chapter V, Proposition 1.2]).

Lemma 5.3.3. Let (S, * ) be a finite semigroup such that (S, * ) / ∈ DA S . Then, we have W((S, * )) P(J).

Moreover P(J) ∩ Reg ⊆ L(QDA).

Moreover, since J ⊆ J * D, we have P(J) ⊆ P(J * D) (if we extend the programover-monoid formalism in the obvious way to finite semigroups) and Maciel, Péladeau and Thérien, in [Maciel et al., 2000, Theorem 7], proved1 that J * D is a p-variety of finite semigroups, i.e. for any finite semigroup (S, * ), W((S, * )) ⊆ P(J * D) if and only if (S, * ) ∈ J * D. This implies the lemma below. Lemma 5.3.4. Let (S, * ) be a finite semigroup such that (S, * ) / ∈ J * D. Then, we have W((S, * )) P(J).

Moreover P(J) ∩ Reg ⊆ L(Q(J * D)).

These two lemmata together finally show that if the set of word problems over some finite semigroup is contained in P(J), then this semigroup must belong to the variety of finite semigroups J * D ∩ DA S (intersection of two varieties of finite semigroups being trivially seen to be itself a variety of finite semigroups).

In fact, Lemma 5.3.2 gives us good reasons to conjecture that the converse is also true, i.e. that for any finite semigroup (S, * ), (S, * ) ∈ J * D ∩ DA S if and only if W((S, * )) ⊆ P(J). Since a word problem over some semigroup in J * D ∩ DA S is a language in L(J * D ∩ DA S ), this would precisely follow from a proof of this conjecture in addition to what we already know.

Conjecture 1. For any L ∈ L(J * D ∩ DA S ), there exists a sequence (P n ) n∈N of programs over some monoid in J that decides L.

In fact, we even conjecture the following about the precise characterisation of the lmvariety of regular languages p-recognised by a monoid taken from P(J).

Conjecture 2. P(J) ∩ Reg

= L(Q(J * D ∩ DA S )).
This second conjecture does not directly follow from the first one, because we do not know whether Q(J * D ∩ DA S ) = J * D ∩ DA S ne * MOD or not, a fact that would allow us to deduce the truth of Conjecture 2 straightforwardly from the truth of Conjecture 1 by Proposition 3.4.5.

Let us try to explain what we mean when we say we have "good reasons" for at least Conjecture 1 to be true. Let Σ be an alphabet and u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ); we define [u 1 , . . . , u k ] Σ = Σ * u 1 Σ * • • • Σ * u k Σ * .
The ne-variety of languages L(J * D) is the ne-variety of dot-depth one languages, that are Boolean combinations of languages of the form Σ * u, uΣ * and [u 1 , . . . , u k ] Σ for Σ an alphabet, k ∈ N >0 and u, u 1 , . . . , u k ∈ Σ + (see [START_REF] Straubing | Finite semigroup varieties of the form V * D[END_REF], [START_REF] Maciel | Programs over semigroups of dot-depth one[END_REF], [START_REF] Pin | The dot-depth hierarchy, 45 years later[END_REF]). Though, for a given alphabet Σ, we cannot decide whether some word u ∈ Σ + of length at least 2 appears as a factor of any given word w in Σ * with programs over finite J-trivial monoids (because Σ * uΣ * / ∈ L(QDA)), Lemma 5.3.2 and the possibilities offered by the "feedback-sweeping" technique give the impression that we can do it when we are guaranteed that u appears at most a fixed number of times in w (i.e. there exists some fixed l ∈ N such that u l is not a subword of w), which seems somehow to be the effect of intersecting J * D with DA S on the class of associated languages. This motivates the definition of threshold dot-depth one languages.

Threshold dot-depth one languages

The idea behind the definition of threshold dot-depth one languages is that we take the basic building blocks of dot-depth one languages, of the form [u 1 , . . . , u k ] Σ for Σ an alphabet, k ∈ N >0 and u 1 , . . . , u k ∈ Σ + (defined at the end of the previous section, just above), and restrict them in the sense that, given some l ∈ N >0 , membership of a word does really depend on the presence of a given word u i as a factor if and only if it appears less than l times as a subword, as defined formally below.

Definition 5.3.5. Let Σ be an alphabet. For all u ∈ Σ + and l ∈ N >0 , we define [u] Σ,l to be the language of words over Σ containing l copies of u as a subword or u as a factor, i.e. [u] Σ,l = Σ * uΣ * ∪ u l ¡ Σ * , as well as the following three languages:

[u[ Σ,l = Σ * u ]u] Σ,l = uΣ * ]u[ Σ,l = u .
Then, for all u 1 , . . . , u k ∈ Σ + (k ∈ N, k ≥ 2) and l ∈ N >0 , we also define

[u 1 , . . . , u k ] Σ,l = [u 1 ] Σ,l • • • [u k ] Σ,l [u 1 , . . . , u k [ Σ,l = [u 1 ] Σ,l • • • [u k-1 ] Σ,l [u k [ Σ,l ]u 1 , . . . , u k ] Σ,l = ]u 1 ] Σ,l [u 2 ] Σ,l • • • [u k ] Σ,l ]u 1 , . . . , u k [ Σ,l = ]u 1 ] Σ,l [u 2 ] Σ,l • • • [u k-1 ] Σ,l [u k [ Σ,l .
We additionally use the convention for l ∈ N >0 and ε an empty list of words in Σ + , that

[ε] Σ,l = Σ * and [ε[ Σ,l = ]ε] Σ,l = ]ε[ Σ,l = ∅.
It is obvious that for each Σ an alphabet, k ∈ N >0 and u 1 , . . . , u k ∈ Σ + , the language

[u 1 , . . . , u k ] Σ,1 is equal to u 1 • • • u k ¡ Σ * .
The language [ab, c] {a,b,c},3 contains all words over {a, b, c} such that they contain a letter c verifying that in the prefix up to that letter, ababab appears as a subword or ab appears as a factor. Finally, the language (a + b) * ac + over {a, b, c}, that Lemma 5.3.1 shows to belong to P(J), is equal to

[c, a] {a,b,c},2 ∩ [c, b] {a,b,c},2 ∩ [ac] {a,b,c},2 .
We can then define a threshold dot-depth one language as any language that is a Boolean combination of languages of the form [u 1 , . . . , u k ] Σ,l , [u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l or ]u 1 , . . . , u k [ Σ,l for Σ an alphabet, k, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + . Intuitively, a threshold dot-depth one language is a language of dot-depth one where detection of the presence of a given factor works if and only if it does not appear too often as a subword.

Confirming the intuition briefly given at the end of the previous subsection, the technique of "feedback-sweeping" can indeed be generalised and pushed further to prove that the whole class of all threshold dot-depth one languages is contained in P(J), and we dedicate the remainder of this section to prove it. Let us just say a few words about how this could help to prove Conjecture 1. Our intuition, as we explained in the previous subsection, leads us to believe that, in fact, the class of all threshold dot-depth one languages is exactly the ne-variety of languages L(J * D ∩ DA S ). Sadly, we were not able to prove it and in the next section, we shall only give a partial result that supports this belief.

Let us now move on to the proof of the following theorem.

Theorem 5.3.6. The class of all threshold dot-depth one languages is contained in P(J)∩

Reg.

Knowing that P(J) ∩ Reg is closed under Boolean operations (see Proposition 3.4.2), our goal is to prove, given an alphabet Σ, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ), that [u 1 , . . . , u k ] Σ,l is in P(J), and we can then easily handle the case of

[u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l and ]u 1 , . . . , u k [ Σ,l . To do this, we need to put [u 1 , . . . , u k ] Σ,l in some normal form. It is readily seen that [u 1 , . . . , u k ] Σ,l = q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) where each L (Σ,l) (u i ,q i ) for i ∈ [k]
is defined in the following way.

Definition 5.3.7. Let Σ be an alphabet.

For all u ∈ Σ + , l ∈ N >0 and α ∈ [l], L (Σ,l) (u,α) =    Σ * uΣ * if α < l u l ¡ Σ * otherwise .
Building directly a sequence of programs over a finite J-trivial monoid that decides

L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k )
for some q 1 , . . . , q k ∈ {1, l} seems however tricky. We need to split things even further by controlling precisely how many times each u i for i ∈ [k] appears in the right place when it does less than l times. To do this, we consider, for each α 1 , . . . , α k ∈ [l], the language R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) of words w over Σ containing u 1

α 1 • • • u k α k as a subword and such that for each i ∈ [k] verifying α i < l, given the shortest prefix v 0 of w containing u 1 α 1 • • • u i-1 α i-1 as a subword and the shortest suffix v 2 of w containing u i+1 α i+1 • • • u k α k
as a subword, the factor v 1 of w such that w = v 0 v 1 v 2 does not contain more than α i times u i as a subword. This is formalised below.

Definition 5.3.8. Let Σ be an alphabet.

For all u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ), l ∈ N >0 , α 1 , . . . , α k ∈ [l], we set R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) = (u 1 α 1 • • • u k α k ) ¡ Σ * ∩ i∈[k],α i <l (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡ Σ * . Now, for given α 1 , . . . , α k ∈ [l],
we are interested in the words of R (Σ,l)

(u 1 ,α 1 ),...,(u k ,α k ) that are such that for each i ∈ [k] verifying α i < l, u i indeed appears as a factor in the right place. We thus introduce a last language S (Σ,l)

(u 1 ,α k ),...,(u k ,α k ) of words over Σ such that for each i ∈ [k] verifying α i < l, it has a prefix containing u 1 α 1 • • • u i-1 α i-1 as a subword, a suffix containing u i+1 α i+1 • • • u k α k
as a subword, and a factor u i in between. We formalise this in the definition that follows.

Definition 5.3.9. Let Σ be an alphabet.

For all u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ), l ∈ N >0 , α 1 , . . . , α k ∈ [l], we set S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) = i∈[k],α i <l (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * (where (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * = Σ * when i = 1 and (u i+1 α i+1 • • • u k α k ) ¡ Σ * = Σ * when i = k).
Using these two previous definitions, we now have the normal form we were looking for to prove Theorem 5.3.6:

[u 1 , . . . , u k ] Σ,l is equal to the union, over all α 1 , . . . , α k ∈ [l], of the intersection of R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) and S (Σ,l) (u 1 ,α k ),...,(u k ,α k ) . To prove that [u 1 , . . . , u k ] Σ,l ∈ P(J), we can then prove R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α k ),.
..,(u k ,α k ) to be in P(J) for all α 1 , . . . , α k ∈ [l] and conclude by closure of P(J) ∩ Reg under union (see Proposition 3.4.2).

Though rather intuitive, the correctness of this way of decomposing [u 1 , . . . , u k ] Σ,l is not so straightforward to prove and, actually, we can only prove it when for each i ∈ [k], the letters in u i are all distinct.

Lemma 5.3.10. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ) such that for each i ∈ [k], the letters in u i are all distinct. Then,

q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) = α 1 ,...,α k ∈[l] (R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ) .
Proof. Let Σ be an alphabet and l ∈ N >0 . We prove it by induction on k ∈ N >0 .

Base case k = 1. Let u 1 ∈ Σ + such that the letters in u 1 are all distinct. It is clear that

q 1 ∈{1,l} L (Σ,l) (u 1 ,q 1 ) = (Σ * u 1 Σ * ∪ u 1 l ¡ Σ * ) = l-1 α 1 =1 u 1 α 1 ¡ Σ * ∩ (u 1 α 1 +1 ¡ Σ * ) ∩ Σ * u 1 Σ * ∪ (u 1 l ¡ Σ * ) = α 1 ∈[l] (R (Σ,l) (u 1 ,α 1 ) ∩ S (Σ,l) (u 1 ,α 1 ) ) .
Induction. Let k ∈ N >0 and assume that for all u 1 , . . . , u k ∈ Σ + such that for each i ∈ [k], the letters in u i are all distinct, we have q 1 ,...,q k ∈{1,l}

L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) = α 1 ,...,α k ∈[l] (R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ) .
Let now u 1 , . . . , u k+1 ∈ Σ + such that for each i ∈ [k+1], the letters in u i are all distinct.

Right-to-left inclusion

. Let w ∈ α 1 ,...,α k+1 ∈[l] (R (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ) . Let α 1 , . . . , α k+1 ∈ [l] witnessing this fact. As w ∈ R (Σ,l)
(u 1 ,α 1 ),...,(u k+1 ,α k+1 ) , we can decompose it as w = xy where x ∈ (u 1

α 1 • • • u k α k ) ¡ Σ * , y ∈ u k+1 α k+1 ¡ Σ * and |y| is min- imal.
What we are going to do is, on the one hand, to prove that x ∈ R (Σ,l)

(u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) , so that we can apply the inductive hypothesis on x and get that there exist q 1 , . . . , q k ∈ {1, l} such that x ∈ L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k )
; and, on the other hand, we are going to prove that there exists q k+1 ∈ {1, l} verifying y ∈ L (Σ,l) (u k+1 ,q k+1 ) . We now spell out the details.

For each i ∈ [k], α i < l, we have x / ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡Σ * , otherwise we would have w = xy ∈ (u 1 α 1 • • • u i α i +1 • • • u k+1 α k+1 ) ¡ Σ * . Also, for all i ∈ [k], α i < l, we have that x ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * , otherwise it would mean that y = y 1 y 2 with |y 1 | > 0, xy 1 ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * and y 2 ∈ u k+1 α k+1 ¡ Σ * , contradicting the minimality of |y|. So x ∈ R (Σ,l)
(u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) , which means by inductive hypothesis that there exist q 1 , . . . , q k ∈ {1, l} such that x ∈ L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) . Remember now that the letters in u k+1 are all distinct. If α k+1 < l, since w ∈ (u 1 α 1 . . . u k α k ) ¡ Σ * u k+1 Σ * , we must have y ∈ Σ * u k+1 Σ * .
Indeed, by minimality of |y|, y starts with the first letter of u k+1 , which has pairwise distinct letters, so that u k+1 cannot appear as a factor of xy partly in x and partly in y; so if it were the case that y does not contain u k+1 as a factor, we would have

x ∈ (u 1 α 1 . . . u k α k ) ¡ Σ * u k+1 Σ * , so that xy = w ∈ (u 1 α 1 . . . u k α k u k+1 α k+1 +1
) ¡ Σ * , a contradiction with the hypothesis on w.

Hence, y ∈ L (Σ,l) (u k+1 ,α k+1 ) . If α k+1 = l, then y ∈ u k+1 α k+1 ¡ Σ * = L (Σ,l) (u k+1 ,α k+1 )
. So, if we set

q k+1 =    1 if α k+1 < l l otherwise , then we get that y ∈ L (Σ,l) (u k+1 ,q k+1 ) .
We can conclude that w = xy ∈ L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) L (Σ,l) (u k+1 ,q k+1 ) .
Left-to-right inclusion. Let w ∈ q 1 ,...,q k+1 ∈{1,l} L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l)
(u k+1 ,q k+1 ) . The rough idea of our proof here is to take α k+1 ∈ [l] the biggest integer in [l] such that w ∈ q 1 ,...,q k+1 ∈{1,l} L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) (u k+1
α k+1 ¡Σ * ) and decompose w as w = xy where x ∈ q 1 ,...,q k ∈{1,l} L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) , y ∈ u k+1 α k+1 ¡ Σ * and |y| is minimal. By inductive hypo- thesis, we know there exist α 1 , . . . , α k ∈ [l] such that x ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k )
and we then prove that xy ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) by distinguishing between the case in which α k+1 = l and the case in which α k+1 < l. The first one is easy to handle, the second one is much trickier.

We now spell out the details.

• Suppose we have

w ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) . . . L (Σ,l) (u k ,q k ) L (Σ,l) (u k+1 ,l) = q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) . . . L (Σ,l) (u k ,q k ) (u k+1 l ¡ Σ * ) .
Then w can be decomposed as w = xy where x ∈ q 1 ,...,q k ∈{1,l} L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) , y ∈ u k+1
l ¡Σ * and |y| is minimal. So by inductive hypothesis, there exist α 1 , . . . ,

α k ∈ [l] such that x ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l)
(u 1 ,α 1 ),...,(u k ,α k ) . Observe that this means we have w

∈ (u 1 α 1 • • • u k α k u k+1 l ) ¡ Σ * and for each i ∈ [k], α i < l, w / ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k u k+1 l ) ¡Σ * , otherwise it would mean that x ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡Σ * by minimality of |y|.
Similarly, for all i ∈ [k], α i < l, it is obvious that we have l) .

w = xy ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k u k+1 l ) ¡ Σ * as x ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * and y ∈ u k+1 l ¡ Σ * . Hence, w ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ),(u k+1 ,l) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ),(u k+1 ,
• Or we have

w / ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) L (Σ,l) (u k+1 ,l) = q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) (u k+1 l ¡ Σ * ) but w ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) L (Σ,l) (u k+1 ,1) . Let α k+1 ∈ [l -1] be the biggest integer in [l -1] such that w ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) (u k+1 α k+1 ¡ Σ * )
which does exist by hypothesis. We can decompose w as w = xy where x ∈ q 1 ,...,q k ∈{1,l} L (Σ,l)

(u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) , y ∈ u k+1 α k+1 ¡ Σ * and |y| is minimal. So by in- ductive hypothesis, there exist α 1 , . . . , α k ∈ [l] such that x ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l)
(u 1 ,α 1 ),...,(u k ,α k ) . We are now going to prove that

w = xy ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ∩ S (Σ,l)
(u 1 ,α 1 ),...,(u k+1 ,α k+1 ) . Among the obvious things to observe is that we have w ∈ (u 1

α 1 • • • u k α k u k+1 α k+1 ) ¡ Σ * and for each i ∈ [k], α i < l, w / ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k u k+1 α k+1 ) ¡ Σ * , otherwise it would mean that x ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡ Σ * by minimality of |y|.
Similarly, for all i ∈ [k], α i < l, it is obvious that we have

w = xy ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k u k+1 α k+1 ) ¡ Σ * as x ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * and y ∈ u k+1 α k+1 ¡ Σ * .
Now let us show that we have y ∈ Σ * u k+1 Σ * . Assume it weren't the case: the letters in u k+1 are pairwise distinct and moreover y starts with the first letter of u k+1 by minimality of |y|, so u k+1 cannot appear as a factor of xy partly in x and partly in y and, additionally,

w ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (l) (u k ,q k ) L (Σ,l) (u k+1 ,1) = q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) Σ * u k+1 Σ * , so we would have x ∈ ( q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) )Σ * u k+1 Σ * .
But this either contradicts the maximality of α k+1 or the fact that w / ∈ q 1 ,...,q k ∈{1,l}

L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) (u k+1 l ¡ Σ * ) .
Thus, we have

w = xy ∈ (u 1 α 1 • • • u k α k ) ¡ Σ * u k+1 Σ * as x ∈ (u 1 α 1 • • • u k α k ) ¡ Σ * .
Let us finish with the trickiest part, showing that w / ∈ (u 1

α 1 • • • u k α k u k+1 α k+1 +1 )¡Σ * . Assume that w ∈ (u 1 α 1 • • • u k α k u k+1 α k+1 +1 ) ¡ Σ * . We then have that x ∈ (u 1 α 1 • • • u k α k u k+1 ) ¡ Σ * , otherwise it would mean that y = y 1 y 2 with |y 1 | > 0, xy 1 ∈ (u 1 α 1 • • • u k α k u k+1
) ¡Σ * and y 2 ∈ u k+1 α k+1 ¡Σ * , contradicting the minimality of |y|.

We can decompose x as x = x 1 x 2 where

x 1 ∈ (u 1 α 1 • • • u k α k ) ¡ Σ * , x 2 ∈ u k+1 ¡ Σ * and |x 2 | is minimal. We claim that, actually, x 1 ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) , so that by inductive hypothesis, x 1 ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) . But since x 2 y ∈ u k+1 α k+1 +1 ¡ Σ * , this means that w = x 1 x 2 y ∈ q 1 ,...,q k ∈{1,l} L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) (u k+1 α k+1 +1 ¡ Σ * ) ,
contradicting the maximality of α k+1 or the fact that w / ∈ q 1 ,...,q k ∈{1,l}

L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k ,q k ) (u k+1 l ¡ Σ * ) . So we can conclude that w / ∈ (u 1 α 1 • • • u k α k u k+1 α k+1 +1 ) ¡ Σ * . The claim that x 1 ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l)
(u 1 ,α 1 ),...,(u k ,α k ) remains to be shown. We directly see that for all i ∈

[k], α i < l, x 1 / ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡ Σ * , otherwise it would mean that x ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡ Σ * . Let now i ∈ [k], α i < l, and as- sume that x 1 / ∈ (u 1 α 1 • • • u i-1 α i-1 )¡Σ * u i (u i+1 α i+1 • • • u k α k )¡Σ * . We can decom- pose x 1 as x 1 = x 1,1 x 1,2 where x 1,1 ∈ (u 1 α 1 • • • u i α i ) ¡Σ * , x 1,2 ∈ (u i+1 α i+1 • • • u k α k ) ¡ Σ * and |x 1,1 | is minimal. By hypothesis, we have x 1,1 / ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i Σ *
, otherwise we would have

x 1 = x 1,1 x 1,2 ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * .
As previously, the letters in u i are pairwise distinct, and x 1,1 ends with the last letter of u i by minimality of |x 1,1 |, so u i cannot appear as a factor of x partly in x 1,1 and partly in x 1,2 x 2 . Thus, we have that

x 1,2 x 2 ∈ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * because we know that x ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * . But this means that x = x 1,1 x 1,2 x 2 ∈ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡ Σ * , a contradic- tion. Hence, we can deduce that for all i ∈ [k], α i < l, x 1 ∈ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * . This finishes to show that x 1 ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) .
Putting all together, we indeed also have that

w ∈ R (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 )
in the present case.

In conclusion, in both cases,

w ∈ α 1 ,...,α k+1 ∈[l] (R (Σ,l)
(u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ∩ S (Σ,l)

(u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ) .

So we can finally conclude that q 1 ,...,q k ∈{1,l}

L (Σ,l) (u 1 ,q 1 ) • • • L (Σ,l) (u k+1 ,q k+1 ) = α 1 ,...,α k+1 ∈[l] (R (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ∩ S (Σ,l) (u 1 ,α 1 ),...,(u k+1 ,α k+1 ) ) .
This concludes the proof of the lemma.

Before proving the main lemma to be used in the proof of Theorem 5.3.6, we need a useful decomposition lemma, that is straightforward to prove.

Lemma 5.3.11. Let Σ be an alphabet and u ∈ Σ + . Then, for all α ∈ N >0 , each

w ∈ u α ¡ Σ * ∩ (u α+1 ¡ Σ * ) verifies w = α i=1 |u| j=1 (v i,j u j ) y where v i,j ∈ (Σ \ {u j }) * for all i ∈ [α], j ∈ [|u|] and y ∈ |u| i=1 i-1 j=1 (Σ \ {u j }) * u j (Σ \ {u i }) * .
Proof. Let Σ be an alphabet and u ∈ Σ + . Take α ∈ N >0 and w ∈ u α ¡ Σ * ∩ (u α+1 ¡ Σ * ) . As w ∈ u α ¡Σ * , w can be decomposed as w = xy where x ∈ u α ¡Σ * and |x| is minimal.

Then, it is clearly necessarily the case that x = α i=1 |u| j=1 (v i,j u j ) with v i,j ∈ (Σ\{u j }) * for all i ∈ [α], j ∈ [|u|]. Moreover, as xy / ∈ u α+1 ¡Σ * , we necessarily have that y / ∈ u ¡Σ * , so that there exists some i ∈ [|u|] verifying that u 1 • • • u i-1 is a subword of y but not u 1 • • • u i . Thus, we have that y ∈ i-1 j=1 (Σ \ {u j }) * u j (Σ \ {u i }) * . This concludes the proof.
Remember that our goal is to prove, given an alphabet Σ, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ) such that for each i ∈ [k], the letters in u i are all distinct, that for any α 1 , . . . , α k ∈ [l], the language R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α k ),...,(u k ,α k ) is in P(J). The way R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) and S (Σ,l) (u 1 ,α k ),...,(u k ,α k ) are defined allows us to reason as follows. For each i ∈ [k] verifying α i < l, let L i be the language of words w over Σ containing x i,1 u i α i x i,2 as a subword and such that, given the shortest prefix v 0 of w containing x i,1 as a subword and the shortest suffix v 2 of w containing x i,2 as a subword, the factor v 1 of w such that w = v 0 v 1 v 2 does not contain more than α i times u i as a subword and has u i as a factor, with

x i,1 = u 1 α 1 • • • u i-1 α i-1 and x i,2 = u i+1 α i+1 • • • u k α k . If we manage to prove that for each i ∈ [k] verifying α i < l, L i ∈ P(J), then we can conclude that R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α k ),...,(u k ,α k ) = (u 1 α 1 • • • u k α k ) ¡ Σ * ∩ i∈[k],α i <l L i
does belong to P(J) by closure of P(J) ∩ Reg under intersection, Proposition 3.4.2. The lemma that follows, the main lemma in the proof of Theorem 5.3.6, exactly shows that

L i ∈ P(J) for each i ∈ [k] verifying α i < l.
The proof of that lemma crucially uses the "feedback sweeping" technique, but note that we actually don't know how to prove it when we do not enforce that for each i ∈ [k], the letters in u i are all distinct.

Lemma 5.3.12. Let Σ be an alphabet and u ∈ Σ + such that its letters are all distinct.

For all α ∈ N >0 and x 1 , x 2 ∈ Σ * , we have

(x 1 u α x 2 ) ¡ Σ * ∩ (x 1 u α+1 x 2 ) ¡ Σ * ∩ (x 1 ¡ Σ * )u(x 2 ¡ Σ * ) ∈ P(J) .
Proof. Let Σ be an alphabet and u ∈ Σ + such that its letters are all distinct. Let α ∈ N >0 and x 1 , x 2 ∈ Σ * . We let

L = (x 1 u α x 2 ) ¡ Σ * ∩ (x 1 u α+1 x 2 ) ¡ Σ * ∩ (x 1 ¡ Σ * )u(x 2 ¡ Σ * ) .
If |u| = 1, the lemma follows trivially because L is piecewise testable and hence belongs to L(J), so we assume |u| > 1.

For each letter a ∈ Σ, we shall use 2 |u| -1 distinct decorated letters of the form a (i) for some i ∈ [[0, 2 |u| -2]], using the convention that a (0) = a; of course, for two distinct letters a, b ∈ Σ, we have that a (i) and b (j) are distinct for all i, j ∈ [[0, 2 |u| -2]]. We denote by A the alphabet of these decorated letters. The main idea of the proof is, for a given input length n ∈ N, to build an A-program Ψ n over Σ n such that, given an input word w ∈ Σ n , it first ouputs the |u| -1 first letters of w and then, for each i going from |u| to n, outputs w i , followed by w

(1) i-1 • • • w (|u|-1)
i-|u|+1 (a "sweep" of |u| -1 letters backwards down to position i -|u| + 1, decorating the letters incrementally) and finally by w

(|u|) i-|u|+2 • • • w (2|u|-2) i
(a "sweep" forwards up to position i, continuing the incremental decoration of the letters). The idea behind this way of rearranging and decorating letters is that, given an input word w ∈ Σ n , as long as we make sure that w and thus Ψ n (w) do contain x 1 u α x 2 as a subword but not x 1 u α+1 x 2 , then Ψ n (w) can be decomposed as

Ψ n (w) = y 1 zy 2 where y 1 ∈ x 1 ¡ Σ * , y 2 ∈ x 2 ¡ Σ * , and |y 1 | , |y 2 | are minimal such that z contains u β u (1) |u|-1 • • • u (|u|-1) 1 u (|u|) 2 • • • u (2|u|-2) |u| u α-β as a subword for some β ∈ [α] if and only if w ∈ (x 1 ¡ Σ * )u(x 2 ¡ Σ * )
. This means we can check whether w ∈ L by testing whether w belongs to some fixed piecewise testable language over A. Let's now write the proof formally.

For

each i ∈ [[0, 2 |u| -2]], let f (i) : Σ → A a → a (i)
.

For all i ∈ N, i ≥ |u|, we define

Φ i = (i, f (0) ) |u|-1 j=1 (i -j, f (j) ) |u| j=2 (i -|u| + j, f (|u|+j-2) ) .
For all n ∈ N, n < |u|, we define Ψ n = ε. For all n ∈ N, n ≥ |u|, we define

Ψ n = |u|-1 i=1 (i, f (0) ) n i=|u| Φ i .
Finally, let K be the language of words over A having

ζ β = x 1 u β-1 u |u|-1 j=1 u (j) |u|-j |u| j=2 u (|u|+j-2) j u α-β x 2
for some β ∈ [α] as a subword but not x 1 u α+1 x 2 .

Claim 5.3.13. The sequence

(Ψ n ) n∈N of A-programs is a program-reduction from L to K. Let s : N → N n →    0 if n < |u| |u| -1 + (n -|u| + 1) • (2 |u| -1) otherwise . It is direct to see that s(n) = |Ψ n | ≤ (2 |u| -1) • n for all n ∈ N.
Therefore, using this claim, (Ψ n ) n∈N is a program-reduction from L to K of length s(n), so since K is piecewise testable and hence is recognised (classically) by some monoid from J, Corollary 3.4.3 tells us that L ∈ P(J, s(n)) = P(J, n).

Proof of claim. Let n ∈ N. If n < |u|, then it is obvious that for all w ∈ Σ n , w / ∈ (x 1 ¡ Σ * )u(x 2 ¡ Σ * ) so w / ∈ L =n and also Ψ n (w) = ε / ∈ K =s(n) , hence L =n = ∅ = Ψ -1 n (K =s(n) ). Otherwise, n ≥ |u|. We are going to show that L =n = Ψ -1 n (K =s(n) ).
Left-to-right inclusion. Let w ∈ L =n . We want to show that Ψ n (w) ∈ K =s (n) .

We are first going to show that there exists some

β ∈ [α] such that ζ β is a subword of Ψ n (w). The fact that w ∈ L =n means in particular that w ∈ (x 1 ¡ Σ * )u(x 2 ¡ Σ * )
and we can hence decompose w as w = y 1 zy 2 where y

1 ∈ (x 1 ¡ Σ * ), y 2 ∈ (x 2 ¡ Σ * ), and
|y 1 |, |y 2 | are minimal. It follows necessarily that z ∈ u α ¡ Σ * ∩ (u α+1 ¡ Σ * ) ∩ Σ * uΣ
= α i=1 |u| j=1 (v i,j u j ) y where v i,j ∈ (Σ \ {u j }) * for all i ∈ [α], j ∈ [|u|] and y ∈ |u| i=1 i-1 j=1 (Σ \ {u j }) * u j (Σ \ {u i }) * .
We know the letters in u are all distinct, so this means that there is no β ∈ [α -1] such that u is a factor of z partly in |u| j=1 (v β,j u j ) and partly in |u| j=1 (v β+1,j u j ), and that u cannot appear as a factor of z partly in |u| j=1 (v α,j u j ) and partly in y either. Hence, since z ∈ Σ * uΣ * , by the way we decomposed z, there necessarily exists

β ∈ [α] such that |u| j=1 (v β,j u j ) ∈ Σ * uΣ * . Let γ, δ ∈ [n] such that w γ • • • w δ = |u| j=1 (v β,j u j ), w 1 • • • w γ-1 = y 1 β-1 i=1 |u| j=1 (v i,j u j ) and w δ+1 • • • w n = α i=β+1 |u| j=1 (v i,j u j ) yy 2 .
By the way β is defined, we have w δ-|u|+1 • • • w δ = u, because δ is the first and only position in w with the letter u |u| within the interval [[λ, δ]] verifying that

w γ • • • w δ-1 contains u 1 • • • u |u|-1
as a subword, and we observe additionally that δ ≥ γ + |u| -1 ≥ |u|. This means that

Φ δ (w) = f (0) (w δ )f (1) (w δ-1 ) • • • f (|u|-1) (w δ-|u|+1 )f (|u|) (w δ-|u|+2 ) • • • f (2|u|-2) (w δ ) = u |u| |u|-1 j=1 u (j) |u|-j |u| j=2 u (|u|+j-2) j . Moreover, γ-1 i=1 f (0) (w i ) = w 1 • • • w γ-1 = y 1 β-1 i=1 |u| j=1 (v i,j u j ) , δ-1 i=δ-|u|+1 f (0) (w i ) = w δ-|u|+1 • • • w δ-1 = u 1 • • • u |u|-1 and n i=δ+1 f (0) (w i ) = w δ+1 • • • w n = α i=β+1 |u| j=1 (v i,j u j ) yy 2 . So as γ-1 i=1 (i, f (0) ) δ-1 i=δ-|u|+1 (i, f (0) )Φ δ n i=δ+1 (i, f (0)
) is a subword of Ψ n , we have that

ζ β = x 1 u β-1 u |u|-1 j=1 u (j) |u|-j |u| j=2 u (|u|+j-2) j u α-β x 2 is a subword of Ψ n (w).
We secondly show that x 1 u α+1 x 2 cannot be a subword of Ψ n (w). But this is direct by construction of Ψ n , otherwise we would have that x 1 u α+1 x 2 is a subword of w, contradicting the fact that w ∈ L =n .

Hence, Ψ n (w) ∈ K =s(n) , and since this is true for all w ∈ L =n , we have

L =n ⊆ Ψ -1 n (K =s(n) ).
Right-to-left inclusion. We are going to prove the "contrapositive inclusion".

Let w ∈ Σ n \ L =n . We want to show that Ψ n (w) / ∈ K =s(n) . Let us start with the easy cases. If we have w / ∈ (x 1 u α x 2 ) ¡ Σ * , then it means that x 1 u α x 2 is not a subword of w and hence, by construction of Ψ n , not a subword of Ψ(w) either, so that there does not exist any β ∈ [α] such that ζ β is a subword of Ψ n (w).

Similarly, if we have w ∈ (x 1 u α+1 x 2 ) ¡ Σ * , then it means that x 1 u α+1 x 2 is a subword of w and hence, by construction of Ψ n , a subword of Ψ n (w).

We now assume that w ∈ (x

1 u α x 2 ) ¡ Σ * ∩ (x 1 u α+1 x 2 ) ¡ Σ * while w / ∈ (x 1 ¡ Σ * )u(x 2 ¡ Σ * ).
We want to show that in this case, there does not exist any β ∈ [α] such that ζ β is a subword of Ψ n (w). Suppose for a contradiction that such a β exists; our goal is to show, through a careful observation of what this implies on the letters in w by examining how Ψ n decorates the letters, that this contradictingly entails x 1 u α+1 x 2 is a subword of w.

Since ζ β is a subword of Ψ n (w), it is not too difficult to see there exist

p 1 , . . . , p |x 1 |+(β-1)•|u| , q 1 , . . . , q 3|u|-2 , r 1 , . . . , r (α-β)•|u|+|x 2 | ∈ [n] verifying that w p 1 • • • w p |x 1 |+(β-1)•|u| = x 1 u β-1 , w q 1 • • • w q 3|u|-2 = u |u|-1 j=1 u |u|-j |u| j=2 u j , w r 1 • • • w r (α-β)•|u|+|x 2 | = u α-β x 2 and (p 1 , f (0) ) • • • (p |x 1 |+(β-1)•|u| , f (0) )(q 1 , f (0) ) • • • (q |u| , f (0) )(q |u|+1 , f (1) ) • • • (q 2|u|-1 , f (|u|-1) ) (q 2|u| , f (|u|) ) • • • (q 3|u|-2 , f (2|u|-2) )(r 1 , f (0) ) • • • (r (α-β)•|u|+|x 2 | , f (0) )
is a subword of Ψ n . By construction of Ψ n , we have

p 1 < • • • < p |x 1 |+(β-1)•|u| < q 1 < • • • < q |u| < r 1 < • • • < r (α-β)•|u|+|x 2 | ,
so this implies that w can be decomposed as w = y 1 zy 2 where y 1 ∈ x 1 ¡ Σ * , z ∈ u α ¡ Σ * and y 2 ∈ x 2 ¡ Σ * , the positions p 1 , . . . , p |x 1 | corresponding to letters in y 1 , the positions

p |x 1 |+1 , . . . , p |x 1 |+(β-1)•|u| , q 1 , . . . , q |u| , r 1 , . . . , r (α-β)•|u| corresponding to letters in z and the positions r (α-β)•|u|+1 , . . . , r (α-β)•|u|+|x 2 | corresponding to letters in y 2 .
We are now going to show that, in fact,

q |u| < q 2|u|-1 < q 2|u| < • • • < q 3|u|-2 < r 1 ,
which implies z ∈ u α+1 ¡ Σ * and thus the contradiction we are aiming for. Since w / ∈ (x 1 ¡ Σ * )u(x 2 ¡ Σ * ), we have z / ∈ Σ * uΣ * , hence as w q |u| = u |u| and |u| > 1, there must exist j ∈ [|u| -1] such that w q |u| -j = u |u|-j and w q |u| -ι = u |u|-ι for all ι ∈ [[0, j -1]]. By construction of Ψ n , we know that q |u|+j ≥ q |u| -j (because the instructions with f (j) after an instruction with f (0) querying position p ∈ [n] all query a position at least equal to p -j), but since u |u|-j = w q |u| -j and u |u|-j = u |u|-ι = w q |u| -ι for all ι ∈ [[0, j -1]] as the letters in u are all distinct, we get that q |u|+j > q |u| . By (backward) induction, we can show that for all ι ∈ [[j + 1, |u| -1]], q |u|+ι > q |u| . Indeed, given ι ∈ [[j + 1, |u| -1]], we have q |u|+ι-1 > q |u| , either by inductive hypothesis or directly in the base case ι = j + 1 by what we have just seen. So by construction of Ψ n , we know that q |u|+ι ≥ q |u| (because the instructions with f (ι) after an instruction with f (ι-1) querying position p ∈ [n] all query a position at least equal to p -1), but since u |u|-ι = u |u| = w q |u| as the letters in u are all distinct, it follows that q |u|+ι > q |u| . Therefore, we have that q 2|u|-1 > q |u| . Moreover, by construction of Ψ n , we also have q

2|u|-1 < q 2|u| < • • • < q 3|u|-2 < r 1 (because for each ι ∈ [[0, |u| -2]
], the instructions with f (|u|+ι) after an instruction with f (|u|+ι-1) querying position p ∈ [n] all query a position at least equal to p + 1). So, to conclude, we have

p 1 < • • • < p |x 1 |+(β-1)•|u| < q 1 < • • • < q |u| < q 2|u|-1 < q 2|u| < • • • < q 3|u|-2 < r 1 < • • • < r (α-β)•|u|+|x 2 | and w p 1 • • • w p |x 1 |+(β-1)•|u| w q 1 • • • w q |u| w q 2|u|-1 w q 2|u| • • • w q 3|u|-2 w r 1 • • • w r (α-β)•|u|+|x 2 | =x 1 u β-1 uu 1 u 2 • • • u |u| u α-β x 2 = x 1 u α+1 x 2 .
This implies that w ∈ (x 1 u α+1 x 2 ) ¡ Σ * , a contradiction. So there does not exist β ∈

[α] such that ζ β is a subword of Ψ(w).
Therefore, in every case Ψ n (w) / ∈ K =s(n) , and since this is true for all w ∈ Σ n \ L =n , we have

Σ n \ L =n ⊆ A s(n) \ Ψ -1 n (K =s(n) ), which is equivalent to L =n ⊇ Ψ -1 n (K =s(n) ).
This concludes the proof of the claim.

And the one of the lemma.

As we explained just before stating the previous lemma, we can now use it as the basic building block to straightforwardly prove the result we were aiming for.

Lemma 5.3.14. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ) such that for each i ∈ [k], the letters in u i are all distinct. For all α 1 , . . . , α k ∈ [l], we have R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l)
(u 1 ,α 1 ),...,(u k ,α k ) ∈ P(J) .

Proof. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ) such that for each i ∈ [k], the letters in u i are all distinct. Let α 1 , . . . , α k ∈ [l].

For each i ∈ [k] verifying α i < l, we define

L i =(u 1 α 1 • • • u k α k ) ¡ Σ * ∩ (u 1 α 1 • • • u i α i +1 • • • u k α k ) ¡ Σ * ∩ (u 1 α 1 • • • u i-1 α i-1 ) ¡ Σ * u i (u i+1 α i+1 • • • u k α k ) ¡ Σ * . It is immediate to show that R (Σ,l) (u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α k ),...,(u k ,α k ) = (u 1 α 1 • • • u k α k ) ¡ Σ * ∩ i∈[k],α i <l L i .
By Lemma 5.3.12, L i ∈ P(J)

for each i ∈ [k] verifying α i < l. Moreover, since (u 1 α 1 • • • u k α k ) ¡ Σ *
obviously is a piecewise testable language, it belongs to P(J). Thus, we can conclude that R (Σ,l)

(u 1 ,α 1 ),...,(u k ,α k ) ∩ S (Σ,l) (u 1 ,α k ),...,(u k ,α k ) belongs to P(J) by closure of P(J) ∩ Reg under intersection, Proposition 3.4.2.

As already stated, we now can conclude by Lemma 5.3.10 and closure of P(J) ∩ Reg under Boolean operations, Proposition 3.4.2.

Corollary 5.3.15. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ) such that for each i ∈ [k], the letters in u i are all distinct. Then, [u 1 , . . . , u k ] Σ,l ∈ P(J).

However, what we really want to obtain, is, given an alphabet Σ, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ) without putting any restriction on them, that [u 1 , . . . , u k ] Σ,l is in P(J). But, in fact, to remove the constraint that the letters must be all distinct in each of the factors u i in the previous result, we simply have to decorate each of the input letters with its position minus 1 modulo a big enough positive integer d. This is what we do now.

Lemma 5.3.16. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ). Then [u 1 , . . . , u k ] Σ,l ∈ P(J). Proof. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ). Let d = max i∈[k] |u i |. If d = 1
, then the result is straightforward because the language [u 1 , . . . , u k ] Σ,l then belongs to L(J), so now we assume d ≥ 2. We let Σ d = Σ × Z/d Z and for all w ∈ Σ * , for all i ∈ Z/d Z, we define w i = |w| j=1 (w j , (j + i -1) mod d). We also let w = w 0 for all w ∈ Σ * . Let us finally define ψ : Σ * → Z/d Z as the cyclic stamp from (Σ * , •) to (Z/d Z, +) (the cyclic group over Z/d Z with canonical addition modulo d) such that ψ(a) = 1 mod d for all a ∈ Σ. Observe that for all w ∈ Σ * , w = σ ψ (w).

For all v ∈ Σ + , |v| ≤ d, we define µ(v, 1) = v and

µ(v, l) = v 1 , . . . , v |v| , . . . . . . . . . , v 1 , . . . , v |v| l times . For all v 1 , . . . , v k ∈ Σ + (k ∈ N >0 ) such that |v i | ≤ d for each i ∈ [k ], we let [v 1 , . . . , v k ] Σ,l,d = i 1 ,...,i k ∈Z/d Z [ v 1 i 1 , . . . , v k i k ] Σ d ,l ,
that does belong to P(J) by Corollary 5.3.15 and closure of P(J) ∩ Reg under finite union (Proposition 3.4.2), because since

|v i | ≤ d for each i ∈ [k ], each v i j for j ∈ Z/d Z has all distinct letters.
This implies that for all q 1 , . . . , q k ∈ {1, l}, we have that [µ(u 1 , q 1 ), . . . , µ(u k , q k )] Σ,l,d does belong to P(J), so that q 1 ,...,q k ∈{1,l}

[µ(u 1 , q 1 ), . . . , µ(u k , q k )] Σ,l,d is a language over Σ d belonging to P(J).

To conclude, it is not so difficult to see that

[u 1 , . . . , u k ] Σ,l = w ∈ Σ * w d ∈ q 1 ,...,q k ∈{1,l} [µ(u 1 , q 1 ), . . . , µ(u k , q k )] Σ,l,d = σ -1 ψ q 1 ,...,q k ∈{1,l} [µ(u 1 , q 1 ), . . . , µ(u k , q k )] Σ,l,d ,
so that [u 1 , . . . , u k ] Σ,l does also belong to P(J) by Lemma 3.4.4.

We can eventually straightforwardly extend the result to

[u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l and ]u 1 , . . . , u k [ Σ,l . Proposition 5.3.17. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ). Then, [u 1 , . . . , u k ] Σ,l , [u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l and ]u 1 , . . . , u k [ Σ,l do all belong to P(J).
Proof. Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ).

Then, Lemma 5.3.16 tells us that [u 1 , . . . , u k ] Σ,l ∈ P(J). Moreover, we have

[u 1 , . . . , u k [ Σ,l = [u 1 , . . . , u k ] Σ,l ∩ Σ * u k , ]u 1 , . . . , u k ] Σ,l = [u 1 , . . . , u k ] Σ,l ∩ u 1 Σ * and ]u 1 , . . . , u k [ Σ,l = [u 1 , . . . , u k ] Σ,l ∩ Σ * u k ∩ u 1 Σ * ;
hence they all belong to P(J) since Σ * u k as well as u 1 Σ * do (see the discussion right at the beginning of Subsection 5.3.1), and P(J) ∩ Reg is closed under intersection, Proposition 3.4.2.

This finishes to prove Theorem 5.3.6 by closure of P(J) ∩ Reg under Boolean combinations (Proposition 3.4.2).

Dot-depth one strongly unambiguous monomials

As explained in the previous section, we believe that the class of all threshold dot-depth one languages, proven to be contained in P(J), is in fact exactly the ne-variety of languages L(J * D ∩ DA S ), easily seen to be equal to L(J * D) ∩ L(DA), which would imply Conjecture 1 to be true.

One direction of the conjectured classes equality, that any threshold dot-depth one language is in L(J * D ∩ DA S ), is quite straightforward but a bit cumbersome to prove. We now state and prove this result.

Proposition 5.4.1. Any threshold dot-depth one language belongs to L(J * D ∩ DA S ).

Proof. To prove the proposition, by closure under Boolean operations of both L(J * D) and L(DA), it suffices to prove that for any Σ an alphabet, l ∈ N >0 and u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ), the languages [u 1 , . . . , u k ] Σ,l , [u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l and ]u 1 , . . . , u k [ Σ,l do all belong to L(J * D) ∩ L(DA).
This is what we show in the following.

Let Σ be an alphabet, l ∈ N >0 and u 1 , . . . ,

u k ∈ Σ + (k ∈ N >0 ). We first show that [u 1 , . . . , u k ] Σ,l ∈ L(J * D) ∩ L(DA)
, and consequently we will be able to directly handle the cases of

[u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l and ]u 1 , . . . , u k [ Σ,l .
Membership in L(J * D). As given by Definition 5.3.7, we have that

[u 1 , . . . , u k ] Σ,l = q 1 ,...,q k ∈{1,l} L (l) (u 1 ,q 1 ) • • • L (l) (u k ,q k ) ,
where for all q 1 , . . . , q k ∈ {1, l}, L

(l) (u 1 ,q 1 ) • • • L (l) (u k ,q k )
is easily seen to be a dot-depth one language. Hence, by closure of L(J * D) under finite union, [u 1 , . . . , u k ] Σ,l ∈ L(J * D).

Membership in L(DA). Let now L = [u 1 , . . . , u k ] Σ,l , let ∼ be its syntactic congruence and let ω be the idempotent power of its syntactic monoid (M, * ). Using the equational characterisation of DA, we are now going to prove that (M, * ) ∈ DA: that is, we are going to prove that (m * n) * ,ω = (m * n) * ,ω * m * (m * n) * ,ω for all m, n ∈ M , so that (M, * ) does belong to DA and thus [u 1 , . . . , u k ] Σ,l to L(DA). To show that each pair of elements of M verifies the previous equation, by definition of the syntactic monoid of L, it suffices to show that (uv) ω ∼ (uv) ω u(uv) ω for all u, v ∈ Σ * . Let u, v ∈ Σ * . Our aim is to show that (uv) ω ∼ (uv) ω u(uv) ω . By definition of the syntactic monoid of L and of ω, it is not too difficult to see that this is equivalent to showing that (uv) ω ∼ (uv) ω u(uv) ω where ω ∈ N >0 is the smallest multiple of ω not smaller than k i=1 l • |u i | (why we need ω to be as big will become clear later on). When both u and v are equal to the empty word, we trivially have that (uv) ω ∼ (uv) ω u(uv) ω . So we now assume that at least one of u and v is not equal to the empty word.

Let x, y ∈ Σ * such that w = x(uv) ω y ∈ L and consider w = x(uv) ω u(uv) ω y. Let's now prove that w does also belong to L. When x or y belongs to L, then it is obvious that w does also belong to it. We now assume that it is not the case. Let

i 1 ∈ [k] be the smallest integer in [k] such that x does not belong to [u 1 , . . . , u i 1 ] Σ,l and i 2 ∈ [k] the biggest integer in [k] such that y does not belong to [u i 2 , . . . , u k ] Σ,l , that do exist by the hypothesis we just made. Let κ 1 ∈ [[0, |x| ]] be the smallest integer in [|x|] such that x 1 • • • x κ 1 ∈ [u 1 , . . . , u i 1 -1 ] Σ,l when i 1 > 1 and 0 otherwise; let symmetrically κ 2 ∈ [[1, |y| + 1]] be the biggest integer in [|y|] such that y κ 2 • • • y |y| ∈ [u i 2 +1 , . . . , u k ] Σ,
l when i 2 < k and |y| + 1 otherwise. The idea to prove w ∈ L is to distinguish between three cases when i 1 ≤ i 2 , otherwise it is direct. When both the prefix x(uv) l• u i 1 of w and w belongs to [u 1 , . . . , u i 1 ] Σ,l and the suffix (uv) l• u i 2 y of w and w belongs to [u i 2 , . . . , u k ] Σ,l , then we can conclude by using the fact that all the letters of the words u i 1 +1 to u i 2 -1 are to be found in the remaining factor in the middle of w, made solely of powers of uv. Otherwise, the prefix x(uv) l• u i 1 of w and w does not belong to [u 1 , . . . , u i 1 ] Σ,l or the suffix (uv) l• u i 2 y of w and w does not belong to [u i 2 , . . . , u k ] Σ,l . When the first possibility is true, we can show that we necessarily have that the prefix x(uv) ω of w and w as a whole does not belong to [u 1 , . . . , u i 1 ] Σ,l and then conclude after analysing how w does consequently decompose into one prefix in [u 1 , . . . , u i 1 -1 ] Σ,l , one middle factor in [u i 1 ] Σ,l and one suffix in [u i 1 +1 , . . . , u k ] Σ,l , using κ 1 and κ 2 . We proceed by symmetry when the second possibility is true. We now move on to the details.

If i 1 > i 2 , then we have that x belongs to [u 1 , . . . , u i 1 -1 ] Σ,l (which is well defined as i 1 > i 2 ≥ 1) and that y belongs belongs to [u i 1 , . . . , u k ] Σ,l (which is also well defined as k ≥ i 1 ), so that w obviously belongs to L. Otherwise, i 1 ≤ i 2 . We first observe that if x(uv) ω belongs to [u 1 , . . . , u i 1 ] Σ,l , then x(uv) l• u i 1 does also belong to it. Indeed, assume the hypothesis of the implication is true; there are two possible cases. Either all letters of u i 1 appear in uv: in that case we have (uv

) l• u i 1 ∈ u i 1 l ¡ Σ * ⊆ [u i 1 ] Σ,l and hence x(uv) l• u i 1 ∈ [u 1 , . . . , u i 1 ] Σ,l .
Or there is at least one letter in u i 1 not appearing in uv:

since x / ∈ [u 1 , . . . , u i 1 ] Σ,l , either • u i 1 is a factor of x(uv) ω whose first letter is in x κ 1 +1 • • • x |x| and whose last letter is in (uv) ω , so that because |uv| ≥ 1, we have x κ 1 +1 • • • x |x| (uv) l• u i 1 ∈ Σ * u i 1 Σ * ⊆ [u i 1 ] Σ,l
Let x, y ∈ Σ * such that x(uv) ω u(uv) ω y ∈ L. In a way similar to above, we can show that then, x(uv) ω y ∈ L.

This shows that (uv) ω ∼ (uv) ω u(uv) ω and as it is true for all u, v ∈ Σ * , we eventually get that [u 1 , . . . , u k ] Σ,l ∈ L(DA). Now that we have [u 1 , . . . , u k ] Σ,l ∈ L(J * D) ∩ L(DA), since both u 1 Σ * and Σ * u k obviously belong to L(J * D) ∩ L(DA), by closure under Boolean operations of both L(J * D) and L(DA), we have that

[u 1 , . . . , u k [ Σ,l = [u 1 , . . . , u k ] Σ,l ∩Σ * u k , ]u 1 , . . . , u k ] Σ,l = [u 1 , . . . , u k ] Σ,l ∩ u 1 Σ * and ]u 1 , . . . , u k [ Σ,l = [u 1 , . . . , u k ] Σ,l ∩ Σ * u k ∩ u 1 Σ * do all also belong to L(J * D) ∩ L(DA).
This concludes the proof of the proposition.

That being done, how do we prove, conversely, that any language in L(J * D ∩ DA S ) is a threshold dot-depth one language? We do not know, or, more precisely, we only know how to prove this in a particular case and we do not know whether the general case is true. The most fruitful path we followed on the quest for such a proof is to try to understand how unambiguous polynomials, languages from L(DA), look like when they are restricted to also be dot-depth one languages, languages from L(J * D), and prove that they actually are threshold dot-depth one languages. What we managed to prove is only that a strongly unambiguous monomial that is also a language of dot-depth one is a threshold dot-depth one language.

Proposition 5.4.2. Any strongly unambiguous monomial over some alphabet Σ that is also a dot-depth one language is in fact a threshold dot-depth one language.

We dedicate the remainder (and almost all) of this section to prove this proposition -the main, partial, result of this section. Let us first just give some short remarks about how we could fully prove the ne-variety of languages L(J * D ∩ DA S ) to be contained in the class of threshold dot-depth one languages and, as a consequence, Conjecture 1.

Given Proposition 5.4.2, it would "suffice" to prove that, in fact, any language in L(J * D ∩ DA S ), i.e. any unambiguous polynomial that is also a language of dot-depth one, can be expressed as a Boolean combination of SUMs that each also are dot-depth one languages. However, we are not sure this is true and have no idea about how complicated it would be to prove it if it were the case. That being said, we must admit that the upcoming proof of Proposition 5.4.2 has a complexity that is much too high for the result it proves and that there must be better ways to prove any language in L(J * D ∩ DA S ) to be a threshold dot-depth one language; one of these ways could be adapting the technique based on graph congruences used by Knast to characterise algebraically dot-depth one languages [START_REF] Knast | A semigroup characterization of dot-depth one languages[END_REF], later reformulated in terms of finite categories by [START_REF] Tilson | Categories as algebra: an essential ingredient in the theory of monoids[END_REF].

Strongly unambiguous monomial trees

Definitions and properties

The very rough idea of our proof of Proposition 5.4.2 is to do an induction on a strongly unambiguous monomial (SUM) that is also a language of dot-depth one so as to inductively build a threshold dot-depth one language equal to this SUM. To do this, though, we need to exploit some structure of SUMs.

The definition of a SUM directly gives a way to decompose it as a tree that is of the type given by the definition below, not necessarily in a unique way.

Definition 5.4.3. Given an alphabet Σ, a strongly unambiguous monomial tree over Σ (SUMT) is a rooted binary tree whose internal nodes are labelled by letters from Σ and whose leaves are labelled by Kleene closures of alphabets subsets of Σ with two types of edges, full and dashed edges, each internal node being linked to exactly one child with a full edge and exactly one child with a dashed edge, such that the letter of this internal node never appears in the subtree corresponding to this last child as a label of an internal node or an element of a starred alphabet labelling a leaf.

To each such SUMT T we associate a unique SUM L(T ) over Σ obtained by concatenating the labels of it in the order given by an infix depth-first search. We say that L(T ) can be decomposed as T , which is a decomposition of L(T ). Observe that a SUMT that is a decomposition of a SUM can be arbitrary, which is not very practical when it comes to manipulating it in our proof by induction of Propos-ition 5.4.2. Fortunately, any SUM can always be decomposed as a SUMT that is in a certain normal form, defined below. Definition 5.4.5. A SUMT over an alphabet Σ is a straight right normalised SUMT (respectively a straight left normalised SUMT ) over Σ if and only if either:

• it consists only of a root;

• its right (respectively left) branch has only full edges and all subtrees linked to this branch are left (respectively right) normalised SUMTs over Σ.

We will say a SUMT over Σ is a bent right normalised SUMT (respectively a bent left normalised SUMT ) over Σ if and only if it is made of a right (respectively left) normalised SUMT that is not only a root and such that its rightmost (respectively leftmost) leaf has been replaced by a left (respectively right) normalised SUMT that is not only a root. We shall abbreviate normalised SUMT with NSUMT and call such any straight or bent, right or left normalised SUMT.

To put it in a (informal) nutshell, a straight NSUMT is a SUMT in which the only path from the root to a leaf using only full edges always goes to the same side (that is to say, it always goes to the right child or always goes to the left child), while a bent NSUMT is a SUMT in which the only such path changes sides only once. We now state and prove the following lemma that basically tells that any SUM can always be decomposed as a normalised SUMT.

Lemma 5.4.7. Let L be a SUM over an alphabet Σ. Then L can be decomposed as an NSUMT over Σ. Additionally, when L can be decomposed as a SUMT over Σ whose right or left branch contains only full edges, then it can also be decomposed, respectively, as a straight right or left NSUMT over Σ.

Proof. Let us fix an alphabet Σ.

We use the following observation: given a SUM

A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k with k ∈ N, any language A * i a i+1 • • • A * j-1 a j A * j for i, j ∈ [[0, k]], i ≤ j, that is equal to A * i when i = j, is a SUM. A root of a SUM A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k with k ∈ N >0
is any letter a i which does not occur to the left (a right-root) or to the right (a left-root). A non-zero-degree SUM must have at least one root, may have several roots. A root may be left or right or both.

If a non-zero-degree SUM contains a right-root, we call it a right-SUM. Define left-SUM similarly. A given SUM may be right or left or both.

The following claim proves the lemma.

Claim 5.4.8. Let L be a SUM over Σ of degree at least 1.

• If L is a right-SUM, it can be decomposed as a straight or bent right NSUMT. If additionally L is not a left-SUM or can be decomposed as a SUMT whose right branch contains only full edges, it can be decomposed as a straight right NSUMT.

• If L is a left-SUM, it can be decomposed as a straight or bent left NSUMT. If additionally L is not a right-SUM or can be decomposed as a SUMT whose left branch contains only full edges, it can be decomposed as a straight left NSUMT.

Proof of the claim. We prove the claim by induction on the degree k of the SUMs.

Base case k = 1. Let A * 0 a 1 A * 1 be a SUM over Σ of degree 1. It is straightforward to see that if it is a right-SUM, then it can be decomposed as the straight right NSUMT

a 1 A * 0 A * 1
and if it is a left-SUM, then it can be decomposed as the straight left NSUMT

a 1 A * 0 A * 1 .
Induction. Let k ∈ N, k ≥ 2 and assume the claim is true for all SUMs over Σ of degree less than k.

Let L = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k be a SUM over Σ of degree k.
Assume L is a right-SUM. Let i ∈ [k] be the smallest integer in [k] such that a i is a right-root of L (a i is the leftmost right-root of L). Then L can be written as L = L 0 a i L 1 where L 0 and L 1 are SUMs over Σ and L 0 is such that L 0 ∩ Σ * a i Σ * = ∅. We now aim to apply the inductive hypothesis to get an NSUMT ∆ 0 that is a decomposition of L 0 , as well as an NSUMT ∆ 1 that is a decomposition of L 1 and is necessary a straight right NSUMT when L is not a left-SUM or can be decomposed as a SUMT whose right branch contains only full edges. We can then combine them into a desired NSUMT T that is a decomposition of L.

Note first that when L is not a left-SUM and i < k, then L 1 is not a left-SUM either by the simple fact that any left-root of L 1 would also be a left-root of L. Moreover, when L can be decomposed as a SUMT whose right branch contains only full edges and i < k, then L 1 can also be decomposed as a SUMT whose right branch contains only full edges. Indeed, by hypothesis, we have

L = K 0 a δ 1 • • • K l-1 a δ l A *
k where l ∈ [k], K 0 , . . . , K l-1 are SUMs over Σ such that K j-1 ∩ Σ * a δ j Σ * = ∅ for all j ∈ [l] and δ l = k. Denote by j ∈ [[0, l -1]] the unique integer in [[0, l -1]] such that δ j ≤ i < δ j+1 , using the convention that δ 0 = 0, and set

K j = A * i a i+1 A * i+1 • • • A * δ j+1 -2 a δ j+1 -1 A * δ j+1 -1 . We have that L 1 = K j a δ j+1 K j+1 • • • K l-1 a δ l A *
k where K j is a SUM over Σ such that K j ∩ Σ * a δ j+1 Σ * = ∅, so that L 1 can indeed also be decomposed as a SUMT whose right branch contains only full edges. Now, if i = 1, we have L 0 = A * 0 and let ∆ 0 = A * 0 . Otherwise, we know that L 0 is a SUM over Σ of degree at least 1 and less than k, that cannot be a right-SUM by minimality of i and hence also necessarily has the property that it is a left-SUM: in that case we therefore apply the inductive hypothesis to let ∆ 0 be a straight left NSUMT that is a decomposition of L 0 . As a consequence, in any case, ∆ 0 is a straight left NSUMT that is a decomposition of L 0 .

For L 1 , there are three cases to consider.

• If i = k, we have L 1 = A * k and we let ∆ 1 = A * k , a straight right NSUMT.

• Otherwise, we know that L 1 is a SUM over Σ of degree at least 1 and less than k.

Assume L 1 is a right-SUM. Then, by inductive hypothesis, we let ∆ 1 be a straight or bent right NSUMT that is a decomposition of L 1 . If, in addition, we have that L is not a left-SUM or can be decomposed as a SUMT whose right branch contains only full edges, we know by what we proved just above that L 1 is as such, so that by inductive hypothesis, we let ∆ 1 be a straight right NSUMT.

• Otherwise, L 1 is a SUM over Σ of degree at least 1 and less than k that is not a right-SUM. Hence, it is necessarily a left-SUM: in that case we therefore apply the inductive hypothesis to let ∆ 1 be a straight left NSUMT that is a decomposition of L 1 .

Let now

T = a i ∆ 0 ∆ 1 .
It is straightforward to see T is a SUMT over Σ that is a decomposition of L. Moreover, since ∆ 0 is a straight left NSUMT, when ∆ 1 is a straight or bent right NSUMT given by one of the two first cases just above, T is a straight or bent right NSUMT as well, and when ∆ 1 is a straight left NSUMT given by the last case just above, T is a bent right NSUMT. If additionally L is not a left-SUM or can be decomposed as a SUMT whose right branch contains only full edges, we know by what we showed before that L 1 is as such when i < k, so that it must be a right-SUM. This in turn means ∆ 1 is necessarily a straight right NSUMT given by one of the two first cases just above, so we can conclude T is a straight right NSUMT, as wished.

Assume now L is a left-SUM. In a symmetric way, we can show that it can be decomposed as a straight or bent left NSUMT and that, if additionally L is not a right-SUM or can be decomposed as a SUMT whose left branch contains only full edges, it can be decomposed as a straight left NSUMT. This concludes the proof of the claim.

And the one of the lemma.

One thing will shall quite often do on SUMTs when manipulating them in the proof of Proposition 5.4.2 is to remove a certain number of their rightmost or leftmost internal nodes. We now define formally this operation of removing the rightmost or leftmost internal node, called respectively right or left elimination.

Definition 5.4.9. Let T be a SUMT over an alphabet Σ. We define the right elimination operation on T inductively on T as the operation associating RE(T ) to T in the following way:

• if T = A * , then RE(T ) = A * ; • if T = a ∆ 0 ∆ 1
where ∆ 0 and ∆ 1 are SUMTs over Σ and the red edge is either full or dashed while the blue one is of the opposite type, then RE(T ) = ∆ 0 when ∆ 1 consists only of a root and

RE(T ) = a ∆ 0 RE(∆ 1 ) otherwise.
We define left elimination on T , denoted by LE(T ), in a symmetric way.

When we apply right or left elimination l ∈ N >0 times successively on a SUMT T over an alphabet Σ (that is, we respectively apply the composition RE l of l copies of RE or LE l of l copies of LE to T ), we respectively remove T 's l rightmost or leftmost internal nodes. If T is the decomposition of the SUM A

* 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N) over Σ, it is obvious that we have L RE l (T ) = A * 0 a 1 A * 1 a 2 • • • A * k-l-1 a k-l A * k-l and L LE l (T ) = A * l a l+1 A * l+1 a l+2 • • • A * k-1 a k A * k .
Finally, it will also be important to note that right and left elimination both preserve fullness of the opposite branch. More precisely, for any SUMT T over an alphabet Σ whose left (right) branch contains only full edges, RE(T )'s (LE(T )'s) left (right) branch does also have the same property.

This notion of elimination and the associated observation we just made allow us to normalise straight NSUMTs even more: given, for instance, a straight right NSUMT over some alphabet Σ that is a decomposition of a SUM

A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N) over Σ, if we consider p ∈ [[0, k]] the smallest integer in [[0, k]] such that A p is not empty, k if it does not exist, then A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A *
k can be decomposed as a straight right NSUMT whose right branch starts with a sequence of p nodes labelled by the letters from a 1 to a p . This result will be useful in our proof of Proposition 5.4.2 and we now state and prove if formally.

Lemma 5.4.10.

Let L = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A *
k be a SUM over a finite alphabet Σ and T an NSUMT over Σ that is a decomposition of it.

When the right branch of T contains only full edges, let p ∈ [[0, k]] be the smallest integer in [[0, k]] such that A p = ∅, k if it does not exist. Then L can also be decomposed as the straight right NSUMT

a 1 ∅ * ∅ * ∆ a p
where ∆ is a straight right NSUMT over Σ that is a decomposition of

A * p a p+1 • • • A * k-1 a k A * k
and the edges between the nodes labelled a 1 to a p are all full.

When the left branch of T contains only full edges, the symmetric conclusion follows.

Proof. Assume the right branch of T contains only full edges and let p ∈ [[0, k]] be the smallest integer in [[0, k]] such that A p = ∅, k if it does not exist.

It is rather direct to see that L can then be decomposed as

a 1 ∅ * ∅ * LE p (T ) a p
where the edges between the nodes labelled a 1 to a p are all full. Moreover, since LE p (T ) still has the property that its right branch contains only full edges, by Lemma 5.4.7, we get that

A * p a p+1 • • • A * k-1 a k A * k can be decomposed as a straight right NSUMT ∆ over Σ.
The desired conclusion follows.

When the left branch of T contains only full edges, we proceed by symmetry.

SUMTs for languages of dot-depth one

Recall now that what we want to do is, given a SUM L over some alphabet Σ that is also a dot-depth one language, prove that it is equal to a threshold dot-depth one language. Now that we know by Lemma 5.4.7 that there necessarily exists an NSUMT T over Σ that is a decomposition of L, we need to understand what properties T has that characterise the fact that the SUM L it is a decomposition of is a language of dot-depth one.

We can actually give an inductive characterisation of the NSUMTs that are decompositions of SUMs which are also languages of dot-depth one. This characterisation will be very useful when manipulating those SUMTs in our inductive proof of Proposition 5.4.2. The formal statement of the lemma giving that characterisation as well as its proof, both technical, are left for the end of this section (Lemma 5.4.22); here we might only give an intuitive presentation of that characterisation.

Let

L = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N)
be a SUM over an alphabet Σ and T an NSUMT over Σ that is a decomposition of it. Whether or not L is a language of dotdepth one depends on the type, the shape and the labels of the normalised SUMT T .

• If T only consists of a root, then L is always a language of dot-depth one.

• If T is a straight right NSUMT of the form

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full, then L is a language of dot-depth one if and only if the language L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ j-1 )a i j L(∆ j ) obtained by applying right elimination on T is of dot-depth one and some technical condition on A k is verified. This condition states that for each p ∈ [[0, k -1]], we have that the intersection between A p and A k is empty, or at least some letter a p+1 to a k does not belong to A k , or the SUM A * p a p+1 • • • A * k-1 a k A * k and SUMT LE p (T ) that is a decomposition of it are very constrained.

• If T is a straight left NSUMT, then L is a language of dot-depth one if and only if the symmetric conditions are verified.

• If T is a bent right NSUMT of the form

Θ 0 Θ 1 A *
where

∆ 0 = Θ 0 A *
is a straight right NSUMT and

∆ 1 = Θ 1 A *
is a straight left NSUMT, then L is a language of dot-depth one if and only if L(∆ 0 ) and L(∆ 1 ) both are.

• If T is a bent left NSUMT, then L is a language of dot-depth one if and only if the symmetric conditions are verified.

Some examples to illustrate this characterisation (that is not easy to grasp) as well as the additional notions introduced in the next subsection are given in Subsection 5.4.3.

Specific preliminaries to the main proof

In our proof of Proposition 5.4.2, we need an additional set of specific definitions and associated observations that we are going to present now.

Boolean combinations

The goal of the proof is to inductively build, given a SUM that is a language of dot-depth one, a threshold dot-depth one language equal to this SUM. Threshold dot-depth one languages are Boolean combinations of languages of the form [u 1 , . . . , u k ] Σ,l , [u 1 , . . . , u k [ Σ,l , ]u 1 , . . . , u k ] Σ,l or ]u 1 , . . . , u k [ Σ,l for Σ an alphabet, k, l ∈ N >0 and u 1 , . . . , u k ∈ Σ + . In the proof of Proposition 5.4.2, we will need to consider Boolean combinations in a more syntactic (rather than semantic) way, so as to be able to make the aforementioned construction work cleanly. This is why we shall abuse terminology and also use the term "Boolean combination" for a loose notion of a formula over { , ∪, ∩}, a tree whose internal nodes are labelled by Boolean operations and its leaves by languages over some alphabet Σ. Given such a formula ψ, we shall denote by L(ψ) the language over Σ it defines.

Zouave languages

In fact, we will see that the proof we give for Proposition 5.4.2 is even more precise than what we claimed up to that point. Namely, the basic building blocks in the Boolean combination that we build inductively can always be assumed to verify l = 2.

Given an alphabet Σ, we will call a Zouave language2 over Σ the language Σ * or any language of the form [u 1 , . .

. , u k ] Σ,2 , [u 1 , . . . , u k [ Σ,2 , ]u 1 , . . . , u k ] Σ,2 or ]u 1 , . . . , u k [ Σ,2 for k ∈ N >0 and u 1 , . . . , u k ∈ Σ + .
To give some examples, for each Σ an alphabet and u ∈ Σ + , the piecewise testable language u ¡ Σ * is also a Zouave language, because u ¡ Σ * = [u 1 , . . . , u |u| ] Σ,2 . The language [ab, c] {a,b,c},2 , containing all words over {a, b, c} such that they contain a letter c verifying that in the prefixes up to that letter, abab appears a subword or ab appears as a factor, is also a Zouave language. However, the language [ab, c] {a,b,c},3 , which description is the same as the previous one except that abab is replaced with ababab, is not a Zouave language.

What our proof of Proposition 5.4.2 then does is to inductively build, given a SUM that is a language of dot-depth one, a Boolean combination of Zouave languages equal to this SUM.

Reversal

As the reader may have observed, there are two symmetric, right and left, versions of straight NSUMTs and two symmetric, right and left, versions of bent NSUMTs. To avoid treating symmetric cases in the proof of Proposition 5.4.2, we will reverse the NSUMT at hand when needed to maintain the invariant that it always either is just a root or has a full right edge at the root. The definition of the reversal of a SUM is straightforward and is linked to the classical definition of the reversal of a language; we now give both.

Fix an alphabet Σ. For any word w ∈ Σ * , we shall denote by w R = w |w| w |w|-1 • • • w 1 the reversed word of w. For each language L ⊆ Σ * , we can then define L R = {w R | w ∈ L}, the reversed language of L.

If T is a SUMT over Σ, then we define the reversed SUMT T R over Σ in the following way, by induction:

• if T = A * for some alphabet A ⊆ Σ, then T R = T ; • if T = a T 1 T 2
where a is a letter and T 1 , T 2 are SUMTs over Σ, then

T R = a T R 2 T R 1 ; • if T = a T 1 T 2
where a is a letter and T 1 , T 2 are SUMTs over Σ, then

T R = a T R 2 T R 1 .
It is fairly easy to see that for each SUM L over Σ and SUMT T over Σ that is a decomposition of L, we have L R = L T R and that L R is also a language of dot-depth one if L is such a language.

Given a Boolean combination ψ of Zouave languages over Σ, we then need to define the reversed such Boolean combination ψ R . We do it straightforwardly in the following way, by induction:

• if ψ = [u 1 , . . . , u k ] Σ,2 , then ψ R = [u k , . . . , u 1 ] Σ,2 ; • if ψ = [u 1 , . . . , u k [ Σ,2 , then ψ R = [u k , . . . , u 1 [ Σ,2 ; • if ψ = ]u 1 , . . . , u k ] Σ,2 , then ψ R = ]u k , . . . , u 1 ] Σ,2 ; • if ψ = ]u 1 , . . . , u k [ Σ,2 , then ψ R = ]u k , . . . , u 1 [ Σ,2 ; • if ψ = ψ 0 , then ψ R = (ψ R 0 ) ; • if ψ = ψ 1 ∪ ψ 2 , then ψ R = ψ R 1 ∪ ψ R 2 ; • if ψ = ψ 1 ∩ ψ 2 , then ψ R = ψ R 1 ∩ ψ R 2 .
Again, it is fairly easy to see that for each language L over Σ that can be expressed as a Boolean combination ψ of Zouave languages over Σ, L R can be expressed by the reversed such Boolean combination ψ R .

Composition

Given several Boolean combinations of Zouave languages obtained inductively, it is not so direct to see how to combine them so as to obtain a new Boolean combination of Zouave languages corresponding to a given SUM. For instance, given a SUM A * 0 a 1 A * 1 a 2 A * 2 over some alphabet Σ, we might have, by induction, a Boolean combination ψ 0 of Zouave languages for A * 0 a 1 A * 1 and another Boolean combination ψ 1 of Zouave languages for A * 1 a 2 A * 2 that we need to combine in some way to obtain a Boolean combination of Zouave languages for

A * 0 a 1 A * 1 a 2 A * 2 .
But it is not direct to see how to do that, considering that each of ψ 0 and ψ 1 should "be applied" only to either a strict prefix or a strict suffix of the whole word for which we want to determine membership in

A * 0 a 1 A * 1 a 2 A * 2 .
Assume that a 1 does not belong to A 0 and a 2 does not belong to A 2 : the idea is that we can change each Zouave language [u 1 , . . . , u k ] Σ,2 with u 1 , . . . , u k ∈ Σ + (k ∈ N >0 ) to [u 1 , . . . , u k , a 2 ] Σ,2 in ψ 0 and to [a 1 , u 1 , . . . , u k ] Σ,2 in ψ 1 , and similarly for Zouave languages of the other forms; we then obtain Boolean combinations of Zouave languages ψ 0 and ψ 1 . The intent behind that transformation is to make sure that, given some word w in Σ * a 2 (Σ\{a 2 }) * , w belongs to A * 0 a 1 A * 1 a 2 (Σ \ {a 2 }) * if and only if it belongs to the language corresponding to ψ 0 , and, similary, that, given some word w in

(Σ \ {a 1 }) * a 1 Σ * , w belongs to (Σ \ {a 1 }) * a 1 A * 1 a 2 A * 2
if and only if it belongs to the language corresponding to ψ 1 . We now formalise this idea through the notion of composition. Given a Boolean combination ψ of Zouave languages over some alphabet Σ and L a Zouave language over Σ, we define the left composition of ψ with L, denoted by L * ψ, the Boolean combination of Zouave languages defined in the following way, by induction:

• if ψ = Σ * , then -if L = Σ * , then L * ψ = Σ * ; -if L = [v 1 , . . . , v l ] Σ,2 , then L * ψ = [v 1 , . . . , v l ] Σ,2 ; -if L = [v 1 , . . . , v l [ Σ,2 , then L * ψ = [v 1 , . . . , v l ] Σ,2 ; -if L = ]v 1 , . . . , v l ] Σ,2 , then L * ψ = ]v 1 , . . . , v l ] Σ,2 ; -if L = ]v 1 , . . . , v l [ Σ,2 , then L * ψ = ]v 1 , . . . , v l ] Σ,2 ; • if ψ = [u 1 , . . . , u k ] Σ,2 , then -if L = Σ * , then L * ψ = [u 1 , . . . , u k ] Σ,2 ; -if L = [v 1 , . . . , v l ] Σ,2 , then L * ψ = [v 1 , . . . , v l , u 1 , . . . , u k ] Σ,2 ; -if L = [v 1 , . . . , v l [ Σ,2 , then L * ψ = [v 1 , . . . , v l , u 1 , . . . , u k ] Σ,2 ; -if L = ]v 1 , . . . , v l ] Σ,2 , then L * ψ = ]v 1 , . . . , v l , u 1 , . . . , u k ] Σ,2 ; -if L = ]v 1 , . . . , v l [ Σ,2 , then L * ψ = ]v 1 , . . . , v l , u 1 , . . . , u k ] Σ,2 ; • if ψ = [u 1 , . . . , u k [ Σ,2 , then -if L = Σ * , then L * ψ = [u 1 , . . . , u k [ Σ,2 ; -if L = [v 1 , . . . , v l ] Σ,2 , then L * ψ = [v 1 , . . . , v l , u 1 , . . . , u k [ Σ,2 ; -if L = [v 1 , . . . , v l [ Σ,2 , then L * ψ = [v 1 , . . . , v l , u 1 , . . . , u k [ Σ,2 ; -if L = ]v 1 , . . . , v l ] Σ,2 , then L * ψ = ]v 1 , . . . , v l , u 1 , . . . , u k [ Σ,2 ; -if L = ]v 1 , . . . , v l [ Σ,2 , then L * ψ = ]v 1 , . . . , v l , u 1 , . . . , u k [ Σ,2 ; • if ψ = ]u 1 , . . . , u k ] Σ,2 , then -if L = Σ * , then L * ψ = [u 1 , . . . , u k ] Σ,2 ; -if L = [v 1 , . . . , v l ] Σ,2 , then L * ψ = [v 1 , . . . , v l , u 1 , . . . , u k ] Σ,2 ; -if L = [v 1 , . . . , v l [ Σ,2 , then L * ψ = [v 1 , . . . , v l u 1 , . . . , u k ] Σ,2 ; -if L = ]v 1 , . . . , v l ] Σ,2 , then L * ψ = ]v 1 , . . . , v l , u 1 , . . . , u k ] Σ,2 ; -if L = ]v 1 , . . . , v l [ Σ,2 , then L * ψ = ]v 1 , . . . , v l u 1 , . . . , u k ] Σ,2 ; • if ψ = ]u 1 , . . . , u k [ Σ,2 , then -if L = Σ * , then L * ψ = [u 1 , . . . , u k [ Σ,2 ; -if L = [v 1 , . . . , v l ] Σ,2 , then L * ψ = [v 1 , . . . , v l , u 1 , . . . , u k [ Σ,2 ; -if L = [v 1 , . . . , v l [ Σ,2 , then L * ψ = [v 1 , . . . , v l u 1 , . . . , u k [ Σ,2 ; -if L = ]v 1 , . . . , v l ] Σ,2 , then L * ψ = ]v 1 , . . . , v l , u 1 , . . . , u k [ Σ,2 ; -if L = ]v 1 , . . . , v l [ Σ,2 , then L * ψ = ]v 1 , . . . , v l u 1 , . . . , u k [ Σ,2 ; • if ψ = ψ 0 , then L * ψ = (L * ψ 0 ) ; • if ψ = ψ 1 ∪ ψ 2 , then L * ψ = (L * ψ 1 ) ∪ (L * ψ 2 ); • if ψ = ψ 1 ∩ ψ 2 , then L * ψ = (L * ψ 1 ) ∩ (L * ψ 2 ).
We define the right composition of ψ with L, denoted by ψ * L, in a symmetric way.

Composition realises what we need to combine several Boolean combinations of Zouave languages in a way that each of them allows to check that a part of a given word belongs to a part of a fixed SUM, as we showcased in our example before defining formally composition. The next lemma is crucial to prove the correctness of the construction given in the proof of Proposition 5.4.2: it says that under some conditions, composition allows to check part of a word for membership in some SUM given by a Boolean combination of Zouave languages, as we explained intuitively in our example. One of those conditions is, in some cases, to verify a convenience property on a Boolean combination ψ of Zouave languages, that intuitively states that the prefix or the suffix of words are not constrained by the Zouave languages in ψ. Formally, a Boolean combination of Zouave languages over some alphabet Σ will be called left-convenient if it does not contain any language of the form ]u 1 , . . . , u k ] Σ,2 or ]u 1 , . . . , u k [ Σ,2 for Σ an alphabet, k ∈ N >0 and u 1 , . . . , u k ∈ Σ + and right-convenient if it does not contain any language of the form [u 1 , . . . , u k [ Σ,2 or ]u 1 , . . . , u k [ Σ,2 for Σ an alphabet, k ∈ N >0 and u 1 , . . . , u k ∈ Σ + . Lemma 5.4.11. Let Σ be an alphabet. Let ψ be a Boolean combination of Zouave languages over Σ, let L be the corresponding language over Σ, let a 1 , . . . , a k , b 1 , . . . , b l ∈ Σ (k ∈ N >0 and l ∈ N), u ∈ Σ * and c ∈ alph(ua k ). We have the following.

1. If ψ is left-convenient, then L [a 1 , . . . , a k ] Σ,2 ∩ [a 1 , . . . , a k ] Σ,2 * ψ =(Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k L . 2. If |u| ≥ 1, then L ]u] Σ,2 ∩ ]u[ Σ,2 * ψ = uL. 3. If ψ is right-convenient, a k / ∈ alph(b 1 • • • b l u) and L ⊆ [a 1 , . . . , a k-1 ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k ] Σ,2 , then L [a 1 , . . . , a k-1 , b 1 , . . . , b l , ua k ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k , c] Σ,2 ∩ ψ * [b 1 , . . . , b l , ua k ] Σ,2 =Lb 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * . 4. If a k / ∈ alph(u) and L ⊆ [a k ] Σ,2 , then L [ua k ] Σ,2 ∩ [a k , c] Σ,2 ∩ ψ * ]ua k ] Σ,2 = Lua k (Σ \ {c}) * . 5. If a k / ∈ alph(u) and L ⊆ [c] Σ,2 , then L [a 1 , . . . , a k-1 , ua k ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k , c] Σ,2 ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * ψ =(Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k L .
Note that in each case, a symmetric reversed version holds.

Proof. Let Σ be an alphabet. Let ψ be a Boolean combination of Zouave languages over Σ, let L be the corresponding language over Σ, let a 1 , . . . , a k , b 1 , . . . , b l ∈ Σ (k ∈ N >0 and l ∈ N), u ∈ Σ * and c ∈ alph(ua k ). Let us use a specific notation here to make things clearer in this proof: for all K a language over Σ, we shall write K + for K and K -for its complement K . We know that there exist α ∈ N >0 and for each i ∈ [α], β i ∈ N >0 Zouave languages L i,1 , . . . , L i,β i over Σ and associated signs γ i,1 , . . . , γ i,β i ∈ {+, -} so that

L(ψ) = L = α i=1 β i j=1 L i,j γ i,j .
The proof in each case is rather straightforward, even if it is sometimes a bit tedious to write.

Case 1. Assume ψ is left-convenient. Let w ∈ (Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k Σ * . Then it can be uniquely decomposed as w = vw where v ∈ (Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k and w ∈ Σ * . For all κ ∈ N >0 and ν 1 , . . . , ν κ ∈ Σ + , it is direct to see that [a 1 , . . . , a k ] Σ,2 * [ν 1 , . . . , ν κ ] Σ,2 = [a 1 , . . . , a k , ν 1 , . . . , ν κ ] Σ,2 = [a 1 , . . . , a k ] Σ,2 [ν 1 , . . . , ν κ ] Σ,2 =(Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k [ν 1 , . . . , ν κ ] Σ,2 and [a 1 , . . . , a k ] Σ,2 * [ν 1 , . . . , ν κ [ Σ,2 = [a 1 , . . . , a k , ν 1 , . . . , ν κ [ Σ,2 = [a 1 , . . . , a k ] Σ,2 [ν 1 , . . . , ν κ [ Σ,2 =(Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k [ν 1 , . . . , ν κ [ Σ,2 .
This means that, since ψ is a Boolean combination of languages of the form

[ν 1 , . . . , ν κ ] Σ,2 or [ν 1 , . . . , ν κ [ Σ,2 for κ ∈ N >0 and ν 1 , . . . , ν κ ∈ Σ + , w ∈ L [a 1 , . . . , a k ] Σ,2 * ψ = α i=1 β i j=1 (Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k L i,j γ i,j if and only if w ∈ L = α i=1 β i j=1 L i,j γ i,j . Therefore, since [a 1 , . . . , a k ] Σ,2 = (Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k Σ * , we have that L [a 1 , . . . , a k ] Σ,2 ∩ [a 1 , . . . , a k ] Σ,2 * ψ =(Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k }) * a k L .
∈ Σ + , it is direct to see that ]u[ Σ,2 * [ν 1 , . . . , ν κ ] Σ,2 = ]u, ν 1 , . . . , ν κ ] Σ,2 = ]u[ Σ,2 [ν 1 , . . . , ν κ ] Σ,2 = u[ν 1 , . . . , ν κ ] Σ,2 , ]u[ Σ,2 * [ν 1 , . . . , ν κ [ Σ,2 = ]u, ν 1 , . . . , ν κ [ Σ,2 = ]u[ Σ,2 [ν 1 , . . . , ν κ [ Σ,2 = u[ν 1 , . . . , ν κ [ Σ,2 , ]u[ Σ,2 * ]ν 1 , . . . , ν κ ] Σ,2 = ]uν 1 , ν 2 , . . . , ν κ ] Σ,2 = ]u[ Σ,2 ]ν 1 , . . . , ν κ ] Σ,2 = u]ν 1 , . . . , ν κ ] Σ,2 and ]u[ Σ,2 * ]ν 1 , . . . , ν κ [ Σ,2 = ]uν 1 , ν 2 , . . . , ν κ [ Σ,2 = ]u[ Σ,2 ]ν 1 , . . . , ν κ [ Σ,2 = u]ν 1 , . . . , ν κ [ Σ,2 .
This means that, since ψ is a Boolean combination of Zouave languages,

w ∈ L ]u[ Σ,2 * ψ = α i=1 β i j=1 (uL i,j ) γ i,j if and only if w ∈ L = α i=1 β i j=1 L i,j γ i,j . Therefore, since ]u] Σ,2 = uΣ * , we have that L ]u] Σ,2 ∩ ]u[ Σ,2 * ψ = uL. Case 3. Assume ψ is right-convenient, a k / ∈ alph(b 1 • • • b l u) and L ⊆ [a 1 , . . . , a k-1 ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k ] Σ,2 . Let w ∈ Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * . Then it can be uniquely decomposed as w = w v where v ∈ b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * and w ∈ Σ * . For all κ ∈ N >0 , ν 1 , . . . , ν κ ∈ Σ + and γ ∈ {+, -}, we can show that Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ ] Σ,2 γ * [b 1 , . . . , b l , ua k ] Σ,2 =Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ , b 1 , . . . , b l , ua k ] Σ,2 γ 203 =Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ ] Σ,2 b 1 (Σ \ {b 1 }) * b 2 (Σ \ {b 2 }) * • • • b l (Σ \ {b l }) * ua k Σ * ∪ (ua k ) 2 ¡ Σ * γ =[ν 1 , . . . , ν κ ] Σ,2 γ b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) *
and, similarly,

Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * ∩ ]ν 1 , . . . , ν κ ] Σ,2 γ * [b 1 , . . . , b l , ua k ] Σ,2 =]ν 1 , . . . , ν κ ] Σ,2 γ b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * .
This means that, since ψ is a Boolean combination of languages of the form [ν 1 , . . . , ν κ ] Σ,2 or ]ν 1 , . . . , ν κ ] Σ,2 for κ ∈ N >0 and ν 1 , . . . , ν κ ∈ Σ + ,

w ∈L Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * ∩ ψ * [b 1 , . . . , b l , ua k ] Σ,2 = α i=1 β i j=1 L i,j γ i,j b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * if and only if w ∈ L = α i=1 β i j=1 L i,j γ i,j . Therefore, since [a 1 , . . . , a k-1 , b 1 , . . . , b l , ua k ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k , c] Σ,2 ⊆ Σ * b 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * and L ⊆ [a 1 , . . . , a k-1 ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k ] Σ,2 , we have that L [a 1 , . . . , a k-1 , b 1 , . . . , b l , ua k ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k , c] Σ,2 ∩ ψ * [b 1 , . . . , b l , ua k ] Σ,2 =Lb 1 (Σ \ {b 1 , a k }) * b 2 (Σ \ {b 2 , a k }) * • • • b l (Σ \ {b l , a k }) * ua k (Σ \ {c}) * . Case 4. Assume a k / ∈ alph(u) and L ⊆ [a k ] Σ,2 . Let w ∈ (Σ \ {a k }) * ua k (Σ \ {c}) * .
Then it can be uniquely decomposed as w = w v where v ∈ ua k (Σ \ {c}) * and w ∈ (Σ \ {a k }) * . For all κ ∈ N >0 , ν 1 , . . . , ν κ ∈ Σ + and γ ∈ {+, -}, as no word of (Σ \ {a k }) * ua k (Σ \ {c}) * has (ua k ) 2 or (ν κ ua k ) 2 as a subword, we can show that

(Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ ] Σ,2 γ * ]ua k ] Σ,2 =(Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ , ua k ] Σ,2 γ 204 =(Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ ] Σ,2 ua k Σ * ∪ (ua k ) 2 ¡ Σ * γ = [a k ] Σ,2 ∩ [ν 1 , . . . , ν κ ] Σ,2 γ ua k (Σ \ {c}) * , (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ [ Σ,2 γ * ]ua k ] Σ,2 =(Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ-1 , ν κ ua k ] Σ,2 γ =(Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [ν 1 , . . . , ν κ-1 ] Σ,2 ν κ ua k Σ * ∪ (ν κ ua k ) 2 ¡ Σ * γ = [a k ] Σ,2 ∩ [ν 1 , . . . , ν κ [ Σ,2 γ ua k (Σ \ {c}) * ,
as well as, similarly,

(Σ \ {a k }) * ua k (Σ \ {c}) * ∩ ]ν 1 , . . . , ν κ ] Σ,2 γ * ]ua k ] Σ,2 = [a k ] Σ,2 ∩ ]ν 1 , . . . , ν κ ] Σ,2 γ ua k (Σ \ {c}) * and (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ ]ν 1 , . . . , ν κ [ Σ,2 γ * ]ua k ] Σ,2 = [a k ] Σ,2 ∩ ]ν 1 , . . . , ν κ [ Σ,2 γ ua k (Σ \ {c}) * .
This means that, since ψ is a Boolean combination of Zouave languages,

w ∈ L (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ ψ * ]ua k ] Σ,2 = α i=1 β i j=1 [a k ] Σ,2 ∩ L i,j γ i,j ua k (Σ \ {c}) * if and only if w ∈ L = [a k ] Σ,2 ∩ L = α i=1 β i j=1 [a k ] Σ,2 ∩ L i,j γ i,j . Therefore, since [ua k ] Σ,2 ∩ [a k , c] Σ,2 = (Σ \ {a k }) * ua k (Σ \ {c}) * , we have that L [ua k ] Σ,2 ∩ [a k , c] Σ,2 ∩ ψ * ]ua k ] Σ,2 = Lua k (Σ \ {c}) * . Case 5. Assume a k / ∈ alph(u) and L ⊆ [c] Σ,2 . Let w ∈ (Σ\{a 1 }) * a 1 • • • (Σ\{a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * . Then it can be uniquely decomposed as w = vw where v ∈ (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k and w ∈ (Σ \ {c}) * . For all κ ∈ N >0 , ν 1 , . . . , ν κ ∈ Σ + and γ ∈ {+, -}, as no word of (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * has a 1 • • • a k-1 (ua k ) 2 or a 1 • • • a k-1 (ua k ν 1 ) 2 as a subword, we can show that (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * [ν 1 , . . . , ν κ ] Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k , ν 1 , . . . , ν κ ] Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k ∪ (ua k ) 2 ¡ Σ * [ν 1 , . . . , ν κ ] Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k [c] Σ,2 ∩ [ν 1 , . . . , ν κ ] Σ,2 γ , (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * ]ν 1 , . . . , ν κ ] Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k ν 1 , ν 2 . . . , ν κ ] Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k ν 1 ∪ (ua k ν 1 ) 2 ¡ Σ * [ν 2 , . . . , ν κ ] Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k [c] Σ,2 ∩ ]ν 1 , . . . , ν κ ] Σ,2 γ ,
as well as, similarly,

(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * [ν 1 , . . . , ν κ [ Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k [c] Σ,2 ∩ [ν 1 , . . . , ν κ [ Σ,2 γ and (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * ]ν 1 , . . . , ν κ [ Σ,2 γ =(Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k [c] Σ,2 ∩ ]ν 1 , . . . , ν κ [ Σ,2 γ .

206

This means that, since ψ is a Boolean combination of Zouave languages,

w ∈ L (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * ψ = α i=1 β i j=1 (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k [c] Σ,2 ∩ L i,j γ i,j if and only if w ∈ L = [c] Σ,2 ∩ L = α i=1 β i j=1 ([c] Σ,2 ∩ L i,j γ i,j ). Therefore, since [a 1 , . . . , a k-1 , ua k ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k , c] Σ,2 = (Σ \ {a 1 }) * a 1 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k (Σ \ {c}) * , we have that L [a 1 , . . . , a k-1 , ua k ] Σ,2 ∩ [a 1 , . . . , a k-1 , a k , c] Σ,2 ∩ [a 1 , . . . , a k-1 , ua k [ Σ,2 * ψ =(Σ \ {a 1 }) * a 1 (Σ \ {a 2 }) * a 2 • • • (Σ \ {a k-1 }) * a k-1 (Σ \ {a k }) * ua k L .

Three measures on NSUMTs

To write the proof of Proposition 5.4.2, we have to introduce some slightly far-fetched measures on NSUMTs to be used as parameters on which to do the induction. We could probably use more natural parameters, but we did not find better ones.

Given an alphabet Σ, we shall define three measures on NSUMTs over Σ, major weight, minor weight and constraint level, that will help us for the upcoming proof by induction. If T is just a root or a bent NSUMT over Σ, these three measures are equal to -1 on T . If T is a straight NSUMT over Σ that is a decomposition of a SUM A * 0 a

1 A * 1 a 2 • • • A * k-1 a k A * k over Σ of degree k ∈ N >0 , of the form a i ∆ 0 ∆ 1 where i ∈ [k],
∆ 0 is a straight left NSUMT over Σ, ∆ 1 is a straight right NSUMT over Σ and the red edge is either full or dashed while the blue one is of the opposite type.

Assuming the blue edge is full (and the red edge is therefore dashed), we define that

• the major weight of T is equal to k minus the number of nodes on the right branch of T , not counting the nodes whose left subtrees only have leaves labelled by ∅ * ;

• the minor weight of T is equal to k minus the number of nodes on the left branch of ∆ 0 , not counting the nodes whose right subtrees only have leaves labelled by ∅ * ;

• the constraint level of T is equal to the number of p ∈

[k-1] such that {a p+1 , . . . , a k } ⊆ A k and A p ∩ A k = ∅.
When the red edge is full (and the blue edge is therefore dashed), we define the major weight, the minor weight and the constraint level of T in a symmetric way, replacing "right" with "left", "left" with "right", "∆ 0 " with "∆ 1 ", "{a p+1 , . . . , a k } ⊆ A k " with "{a 1 , . . . , a p-1 } ⊆ A 0 " and "A p ∩ A k = ∅" with "A 0 ∩ A p = ∅".

Equational characterisation of J * D

Let us finish with the equational characterisation of J * D, that we shall use several times to prove that a language is of dot-depth one, i.e. belongs to L(J * D).

Let L be some language over some alphabet Σ. In the following proofs of the technical lemmata used in the main proof, to show that L ∈ L(J * D), we might use Knast's equational characterisation of J * D [Knast, 1983, Theorem 8] (see also [Straubing, 1985, Theorem 8.1]): given η the syntactic morphism of L and ∼ its syntactic congruence, given its syntactic monoid (M, * ) and ω its idempotent power, the semigroup (η(Σ + ), * | η(Σ + ) ), that necessarily has the same idempotent power, belongs to J * D if and only if for all e 1 , a, e 2 , b, c, d ∈ η L (Σ + ) such that e 1 and e 2 are idempotents, we have By definition of the syntactic monoid and morphism of L, this means that, equivalently, L belongs to L(J * D) if and only if for all e, s, f, t, u, v ∈ Σ + such that η(e) and η(f ) are idempotents, we have (esf te) ω (euf ve) ω ∼ (esf te) ω esf ve(euf ve) ω .

We shall also use the fact that if L belongs to L(J * D), then for all e, u, v ∈ Σ + such that η(e) is idempotent, we have (eueve) ω ∼ (eveue) ω , because (eueve) ω ∼ (eeeee) ω (eueve) ω ∼ (eeeee) ω eeeve(eueve) ω ∼ (eveue) ω eve ∼ (eveue) ω eveee(eeeee) ω ∼ (eveue) ω (eeeee) ω ∼ (eveue) ω .

Some examples

The main proof of Proposition 5.4.2 heavily relies on Lemma 5.4.22, a technical result introduced intuitively at the end of Subsection 5.4.1 and proved separately later that gives an exact characterisation of the conditions a given NSUMT should verify in order for the 209 SUM it is a decomposition of to belong to L(J * D). Before moving to this main proof, we start with some positive and negative examples of SUMs with respect to membership in L(J * D), along with an adequate Boolean combination of Zouave languages when membership holds. This should give the reader an idea about the conditions that any SUM belonging to L(J * D) verifies and how those can help to express them as a Boolean combinations of Zouave languages, using the notions introduced in the previous subsection.

c * a(a + b) * = [a] Σ,2 ∩ [c] Σ,2 ∩ ]a] Σ,2 ∪ [c] Σ,2 ∩ [a, c] Σ,2 ∩ [b, c] Σ,2 ∩ [ca] Σ,2 .
However, the SUM c * a(a+b+c) * over {a, b, c}, that can be decomposed as the following straight right NSUMT a {c} * {a, b, c} * , does not belong to L(J * D) because, if we denote by ∼ its syntactic congruence and ω the idempotent power of its syntatic monoid, if it were the case we would have

(c ω ac ω bc ω ) ω ∼ (c ω bc ω ac ω ) ω
noting that while the first word belongs to c * a(a + b + c) * , the second one does not, a contradiction. does not belong to L(J * D) because, if we denote by ∼ its syntactic congruence and ω the idempotent power of its syntatic monoid, if it were the case we would have

(d ω cd ω cad ω ) ω b ∼ (d ω cad ω cd ω ) ω b
noting that while the first word belongs to (a + c + d) * ca(a + d) * b(a + b) * , the second one does not, a contradiction.

The main proof

We now give the main proof of Proposition 5.4.2, leaving the proof of some needed technical lemmata for the next subsection.

Proof of Proposition 5.4.2. Let us fix an alphabet Σ.

We are going to prove something a bit stronger by induction on k, on the number of non-empty alphabets in {A 1 , . . . , A k-1 } (non-tail alphabets), on k-1 i=1 |A i |, on the major and the minor weights and on the constraint level (parameters taken in that order): that to any NSUMT T over Σ that is a decomposition of a SUM A

* 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N) over Σ in L(J * D)
we can associate a Boolean combination ϕ(T ) of Zouave languages over Σ verifying that:

• L(ϕ(T )) = L(T ) = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k ; • if A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k can be decomposed as a straight left NSUMT, then ϕ(T ) is left-convenient; • if A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k can be decomposed as a straight right NSUMT, then ϕ(T ) is right-convenient.
The basic idea of the proof goes like this: depending on the type of the NSUMT T , use the characterisation given by Lemma 5.4.22 and the inductive hypothesis to build ϕ(T ). This way of proceeding gives rise to several cases, subcases and even subsubcases that we have to examine carefully; this is the reason why the proof is long and cumbersome in some places, even if its basic idea is simple.

Note that given some A ⊆ Σ, we shall write a / ∈ A instead of a ∈ Σ \ A.

Base case k = 0. For any alphabet A ⊆ Σ,

ϕ(A * ) = b / ∈A [b] Σ,2
is the desired Boolean combination of Zouave languages.

Induction. Let (k, δ 1 , δ 2 , δ 3 , δ 4 , δ 5 ) ∈ N >0 × N 2 ×(N ∪{-1}) 3
and assume the statement is true for any NSUMT over Σ that is a decomposition of a SUM over Σ of degree l in L(J * D), with number of non-empty non-tail alphabets σ 1 , sum of cardinals of nontail alphabets σ 2 , major weight σ 3 , minor weight σ 4 and constraint level σ 5 such that (l, σ 1 , σ 2 , σ 3 , σ 4 , σ 5 ) < (k, δ 1 , δ 2 , δ 3 , δ 4 , δ 5 ).

Let T be an NSUMT over Σ that is a decomposition of a SUM By what we discussed in Subsection 5.4.2, we can assume without loss of generality that T 's right edge at the root is full, otherwise we shall just get the expression ϕ(T R ) for the reversed NSUMT T R over Σ, that is a decomposition of the reversed SUM A

L = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k over Σ of degree k in L(J * D), with a number of non-empty alphabets in {A 1 , . . . , A k-1 } equal to δ 1 , k-1 i=1 |A i | = δ 2 ,
* k a k A * k-1 • • • a 2 A * 1 a 1 A * 0 over Σ, and set ϕ(T ) = ϕ(T R ) R .
There are several cases to consider, depending on the shape of T .

Case 1. T is a bent right NSUMT of the form

a i 1,1 ∆ 1,0 a i 1,2 ∆ 1,1 ∆ 1,j 1 -1 a p ∆ 1,j 1 a i 2,j 2 ∆ 2,j 2 a i 2,j 2 -1 ∆ 2,j 2 -1 ∆ 2,1 a p+1 ∆ 2,0 A * p a i 1,j 1 a i 2,1 where ∆ 1,0 , ∆ 1,1 , . . . , ∆ 1,j 1 -1 , ∆ 1,j 1 (j 1 ∈ N) are straight left NSUMTs over Σ, ∆ 2,0 , ∆ 2,1 , . . . , ∆ 2,j 2 -1 , ∆ 2,j 2 (j 2 ∈ N) are straight right NSUMTs over Σ, p ∈ [[1, k -1]
] and the edges between the nodes labelled a i 1,1 to a i 1,j 1 and a i 2,1 to a i 2,j 2 are all full. We let

∆ 0 = a i 1,1 ∆ 1,0 a i 1,2 ∆ 1,1 ∆ 1,j 1 -1 a p ∆ 1,j 1 A * p a i 1,j 1 and ∆ 1 = a i 2,j 2 ∆ 2,j 2 a i 2,j 2 -1 ∆ 2,j 2 -1 ∆ 2,1 a p+1 ∆ 2,0 A * p a i 2,1
. By Lemma 5.4.22, both L(∆ 0 ) and L(∆ 1 ) are SUMs over Σ of degree less than k in L(J * D). Moreover, L(∆ 0 ) can be decomposed as a straight left NSUMT when L can and L(∆ 1 ) can be decomposed as a straight right NSUMT when L can. Hence, by inductive hypothesis, the Boolean combination ϕ(∆ 1 ) of Zouave languages is left-convenient, as well as right-convenient when L can be decomposed as a straight right NSUMT, and verifies L(ϕ(∆ 1 )) = L(∆ 1 ), and the Boolean combination ϕ(∆ 0 ) of Zouave languages is right-convenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(∆

0 )) = L(∆ 0 ). It is quite direct to see that L =(Σ \ {a i 1,1 }) * a i 1,1 • • • (Σ \ {a i 1,j 1 }) * a i 1,j 1 (Σ \ {a p }) * a p L(∆ 1 )∩ L(∆ 0 )a p+1 (Σ \ {a p+1 }) * a i 2,1 (Σ \ {a i 2,1 }) * • • • a i 2,j 2 (Σ \ {a i 2,j 2 }) * ,
so that by Lemma 5.4.11 (and its reversed version),

ϕ(T ) =[a i 1,1 , a i 1,2 , . . . , a i 1,j 1 , a p ] Σ,2 ∩ [a i 1,1 , a i 1,2 , . . . , a i 1,j 1 , a p ] Σ,2 * ϕ(∆ 1 )∩ [a p+1 , a i 2,1 , . . . , a i 2,j 2 -1 , a i 2,j 2 ] Σ,2 ∩ ϕ(∆ 0 ) * [a p+1 , a i 2,1 , . . . , a i 2,j 2 -1 , a i 2,j 2 ] Σ,2
is the desired Boolean combination of Zouave languages.

Case 2. T is a straight right NSUMT of the form

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. We use the convention that i 0 = 0 and i j+1 = k.

In this case, it is less direct to see how to split T and apply the inductive hypothesis on smaller NSUMTs (with respect to the order we consider for the proof by induction) so as to build ϕ(T ).

Recall the characterisation given by Lemma 5.4.22: it says in particular that the fact that L is a language of dot-depth one implies that for each p ∈ [[0, k -1]], the intersection between A p and A k is empty, or at least some letter a p+1 to a k does not belong to A k , or the SUM A

* p a p+1 • • • A * k-1 a k A * k and SUMT RE p (T )
that is a decomposition of it are very constrained. How can we use this condition to build a Boolean combination of Zouave languages corresponding to L?

Imagine we can find some q ∈ [j + 1] and some p ∈ [[i q-1 , i q -1]] (i.e., such that ∆ q-1 contains a p as label of an internal node) verifying that all of A p+1 , . . . , A iq-1 are empty, while A p is not empty. If we denote by Θ q-1 some straight left normalised version of the SUM ∆ q-1 whose i q -1 -p internal nodes have been removed, this means that for any w ∈ L, either there exists some c ∈ A p such that w can be decomposed as w

= v 0 a i 1 • • • v q-2 a i q-1 v q-1 ca p+1 • • • a iq-1 a iq v q a i q+1 • • • v j a k v j+1 such that v ι ∈ L(∆ j ) for all ι ∈ [[0, j]] \ {q -1}, v q-1 ∈ Θ q-1 and v j+1 ∈ A *
k , or w belongs to the language L p that is the SUM L where A * p has been replaced by ∅ * . The idea is that if we have the additional guarantee that while A k does not contain any element of A p , all words of the language a

p+1 • • • a iq-1 a iq L(∆ q )a i q+1 • • • L(∆ j )a k A *
k do only contain letters from A k , such a letter c in a word w can be used so that the factor ca p+1 • • • a iq-1 a iq forms a delimiter that allows to "wedge" the Boolean combinations of Zouave languages obtained by induction for NSUMTs that are decompositions of

L(∆ 0 )a i 1 • • • L(∆ q-2 )a i q-1 A * i q-1 , L(Θ q-1 ) and L(∆ q )a i q+1 • • • L(∆ j )a k A *
k and "apply" them to the correct factor of w so as to test its membership in L. When no such letter c exists, we can essentially just use a Boolean combination of Zouave languages obtained by induction for an NSUMT that is a decomposition of L p to test membership of w in L. This is the first subcase. Now, if we do not have this additional guarantee, it may be because at least one of a p+1 , . . . , a iq does not belong to A k while, still, all words of the language L(∆ q )a i

q+1 • • • L(∆ j )a k A * k do only contain letters from A k . If we take p ∈ [[p + 1, i q ]
] to be such that a p does not belong to A k while all words of the language a p +1

• • • a iq L(∆ q )a i q+1 • • • L(∆ j )a k A * k
do only contain letters from A k , we can essentially use this fact to rearrange T into a bent right NSUMT that is also a decomposition of L (where the bend happens at an internal node labelled by a p ) and conclude by induction. The second case is therefore the one in which we can find some q ∈ [j + 1] and some p ∈ [[i q-1 + 1, i q ]] verifying that all of A p , . . . , A iq-1 are empty, and a p does not belong to A k while all words of the language

a p +1 • • • a iq L(∆ q )a i q+1 • • • L(∆ j )a k A *
k do only contain letters from A k . The third and last subcase is then the complement of the disjunction of the two first subcases. The idea for this case is that we consider q ∈ [j + 1] the biggest integer in

[j + 1] such that at least one of A i q-1 +1 , . . . , A iq-1 is non-empty or A i q-1 is not con- tained in A k , 1 if it does not exist. Let then p ∈ [[i q-1 , i q -1]] be the biggest integer in [[i q-1 , i q -1
]] such that A p is not empty, i q-1 if it does not exist. By construction and since we are not in the second subcase, it then follows that all words of the language a

p+1 • • • a iq-1 a iq L(∆ q )a i q+1 • • • L(∆ j )a k A *
k do only contain letters from A k . When A p is empty, then it necessarily means that q = 1 and p = 0, a specific subsubcase that we handle separately. Otherwise, when A p is not empty, then since we are not in the first subcase, we must have that the intersection between A p and A k is non-empty. The following strong restrictions hence are implied by Lemma 5.4.22:

• for each ι ∈ [[q, j]], the subtree ∆ ι is reduced to the root (A k \ {a i ι+1 }) * ;

• if p + 1 < i q , then there exists some letter d ∈ Σ verifying that all letters from a p+1 to a iq-1 are equal to d and the intersection between A p and A k only contains d;

• all elements in A k except a iq are also in A p .

We can then consider different subsubcases depending on the values of q and p and for each of them, use the previous properties in different ways to build a Boolean combination of Zouave languages: we won't explain further how we do that to avoid losing the reader with too much details for this intuitive presentation.

We now spell out all the details for each of the three subcases, one after the other. For all q ∈ [j + 1], let p q ∈ [[i q-1 , i q -1]] be the biggest integer in [[i q-1 , i q -1]] such that A pq = ∅, i q-1 if it does not exist; by Lemma 5.4.10, L(∆ q-1 ) can be decomposed as the NSUMT

∆ q-1 = a iq-1 ∅ * ∅ * Θ q-1 a pq+1 where Θ q-1 is a straight left NSUMT over Σ that is a decomposition of A * i q-1 a i q-1 +1 • • • A *
pq-1 a pq A * pq and the edges between the nodes labelled a pq+1 to a iq-1 are all full.

Subcase 1. Assume there exists some q ∈

[j + 1] such that A pq = ∅, A pq ∩ A k = ∅, A ι ⊆ A k for all ι ∈ [[i q , k -1]] and {a pq+1 , . . . , a k } ⊆ A k .
We know that Θ q-1 is a straight left NSUMT of the form

a θ l Γ l Γ 1 A * i q-1 a θ 1
where Γ 1 , . . . , Γ l (l ∈ N) are straight right NSUMTs over Σ and the edges between the nodes labelled a θ 1 to a θ l are all full, using the convention that Θ q-1 is the sole root A * i q-1 when l = 0. By Corollary 5.4.21 (because ∆ q-1 can be replaced by ∆ q-1 in T ), we get that L(Θ q-1 ) also belongs to L(J * D). Since Θ q-1 is a straight left NSUMT and L(Θ q-1 ) is a SUM over Σ of degree less than k, by inductive hypothesis, the Boolean combination ϕ(Θ q-1 ) of Zouave languages is left-convenient and verifies L(ϕ(Θ q-1 )) = L(Θ q-1 ).

Let

Λ 0 = a i 1 ∆ 0 a i 2 ∆ 1 ∆ q-2 A * i q-1 a i q-1
where the edges between the nodes labelled a i 1 to a i q-1 are all full, using the convention that Λ 0 is simply the root A * 0 when q = 1. By Corollary 5.4.23 when q > 1, otherwise using Lemma 5.4.19, we get that L(Λ 0 ) also belongs to L(J * D). Moreover, L(Λ 0 ) can be decomposed as a straight left NSUMT when L can. Since Λ 0 is a straight right NSUMT and L(Λ 0 ) is a SUM over Σ of degree less than k, by inductive hypothesis, the Boolean combination ϕ(Λ 0 ) of Zouave languages is rightconvenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(Λ 0 )) = L(Λ 0 ).

Let also

Λ 1 = a i q+1 ∆ q a i q+2 ∆ q+1 ∆ j-1 a k ∆ j A * k a i j
where the edges between the nodes labelled a i q+1 to a i j are all full, using the convention that Λ 1 is simply the root A * k when q = j + 1. By Corollary 5.4.21, we get that L(Λ 1 ) also belongs to L(J * D). Since Λ 1 is a straight right NSUMT and L(Λ 1 ) is a SUM over Σ of degree less than k, by inductive hypothesis, the Boolean combination ϕ(Λ 1 ) of Zouave languages is right-convenient and verifies L(ϕ(Λ 1 )) = L(Λ 1 ).

Let us denote by T pq the straight right NSUMT T in which the label at the leaf labelled by A * pq has been changed to ∅ * and L pq the associated SUM, which is

L pq = A * 0 a 1 A * 1 • • • A * pq-1 a pq a pq+1 A * pq+1 • • • A * k-1 a k A * k .
By Lemma 5.4.25 when p q = 0 or a pq ∈ A pq , or otherwise Lemma 5.4.26 when a pq / ∈ A pq , we get that L pq does also belong to L(J * D).

When p q > 0, as L pq contains one non-tail non-empty alphabet less as L and can be decomposed as a straight left NSUMT when L can, by inductive hypothesis, the Boolean combination ϕ(T pq ) of Zouave languages is right-convenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L ϕ(T pq ) = L T pq = L pq .

Finally, when p q = 0, assume L can also be decomposed as the following straight left NSUMT,

T = a λm Υ m+1 a λ m-1 Υ m Υ 2 a 1 A * 0 Υ 1 a λ 1
where Υ 1 , Υ 2 , . . . , Υ m , Υ m+1 (m ∈ N) are straight right NSUMTs over Σ and the edges between the nodes labelled a λ 1 to a λm are all full, using the convention that λ 0 = 1 and λ m+1 = k + 1. Then L 0 can be decomposed as the bent left NSUMT T 0 that is T in which the label at the leaf labelled by A * 0 has been changed to ∅ * and the arcs going from the node labelled a 1 to its children have been switched, the full one becoming dashed and vice versa. The major and minor weights of T 0 both are equal to -1 while at least one of them is positive for T , and L 0 can both be decomposed as the straight right NSUMT T 0 and the straight left NSUMT T in which the label at the leaf labelled by A * 0 has been changed to ∅ * , so by inductive hypothesis, the Boolean combination ϕ(T 0 ) of Zouave languages is both left-and right-convenient and verifies L(ϕ(T 0 )) = L(T 0 ) = L 0 .

Let w ∈ L. This means there exists a unique decomposition w

= u 0 a 1 u 1 a 2 • • • u k-1 a k u k such that u ι ∈ A * ι for all ι ∈ [[0, k]].
When u pq = ε, then either p q > 0 and we have w ∈ L pq , or p q = 0, which necessarily means q = 1, and we have w

∈ L 0 = a 1 • • • a i 1 -1 a i 1 L(Λ 1 ). Otherwise, when u pq = ε, there exist c ∈ A pq and v ∈ A * pq such that u pq = vc. But note that as A pq ∩ A k = ∅, we have c / ∈ A k , so that L(Λ 1 ) ⊆ (Σ \ {c}) * because A ι ⊆ A k for all ι ∈ [[i q , k -1]] and {a pq+1 , . . . , a k } ⊆ A k . So, as u 0 a 1 • • • u i q-1 -1 a i q-1 u i q-1 ∈ L(Λ 0 ), u i q-1 a i q-1 +1 • • • u pq-1 a pq v ∈ L(Θ q-1 ) and u iq a iq+1 • • • u k-1 a k u k ∈ L(Λ 1 ), this means that w ∈L(Λ 0 )a θ 1 (Σ \ {a θ 1 , a iq }) * • • • a θ l (Σ \ {a θ l , a iq }) * ca pq+1 • • • a iq-1 a iq (Σ \ {c}) * ∩ (Σ \ {a i 1 }) * a i 1 • • • (Σ \ {a i q-1 }) * a i q-1 L(Θ q-1 )ca pq+1 • • • a iq-1 a iq (Σ \ {c}) * ∩ (Σ \ {a i 1 }) * a i 1 • • • (Σ \ {a i q-1 }) * a i q-1 (Σ \ {a iq }) * ca pq+1 • • • a iq-1 a iq L(Λ 1 ) . T = a i 1 ∆ 0 a i 2 ∆ 1 ∆ q-2 a p a p -1 a p +1 ∅ * ∅ * a i q+1 ∆ q ∆ j-1 a k ∆ j A * k a i q-1 a iq a i j ∅ * ∅ * Θ q-1 a pq+1
where the edges between the nodes labelled a i 1 to a i q-1 , a pq+1 to a p -1 , a p +1 to a iq and a iq+1 to a i j are all full. The major and minor weights of T both are equal to -1 while at least one of them is positive for T , and L can be decomposed as the straight right NSUMT T , so by inductive hypothesis, the Boolean combination ϕ(T ) of Zouave languages is right-convenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(T )) = L(T ) = L.

• for all

ι ∈ [[q, j]], ∆ ι = (A k \ {a i ι+1 }) * ; • if p q + 1 < i q , then there exists d ∈ Σ verifying a pq+1 = • • • = a iq-1 = d and A pq ∩ A k = {d}; • A k ⊆ A pq ∪ {a iq }. Assume that A pq ∩ A k = ∅ and q < j + 1. Let T = a i 1 ∆ 0 a i 2 ∆ 1 ∆ q-1 A * k a iq
where the edges between the nodes labelled a i 1 and a iq are all full be a SUMT over Σ and L the SUM over Σ it is a decomposition of. By Lemma 5.4.24, since {a iq+1 , . . . , a k } ⊆ A k , we get that L does also belong to L(J * D). As T is a straight right NSUMT, L is a SUM of degree less than k and can be decomposed as a straight left NSUMT when L can (see the next paragraph for more details), by inductive hypothesis, the Boolean combination ϕ(T ) of Zouave languages is rightconvenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(T )) = L(T ) = L .

Let us justify the fact that L can be decomposed as a straight left NSUMT when L can, because this is not so easy to see at first glance. So, assume L can be decomposed as

a r Γ 1 Γ 0
where Γ 0 is a straight left NSUMT over Σ and Γ 1 is a straight right NSUMT over Σ. As {a iq , . . . , a k } ⊆ A k and the rightmost leaf of Γ 1 is labelled by A * k , we necessarily have r < i q , because it must be that a r / ∈ A k . Now, since LE r (T ) is a SUMT over Σ that is a decomposition of A * r a r+1

)) = A * k . Because in the present case, L = L(∆ 0 )a i 1 • • • L(∆ q-1 )a iq (A k \ {a i q+1 }) * a i q+1 • • • (A k \ {a k }) * a k A * k ,
it is rather easy to see that

L =(Σ \ {a i 1 }) * a i 1 (Σ \ {a i 2 }) * a i 2 • • • (Σ \ {a i j }) * a i j (Σ \ {a k }) * a k Σ * ∩ (Σ \ {a i 1 }) * a i 1 (Σ \ {a i 2 }) * a i 2 • • • (Σ \ {a iq }) * a iq A * k ∩ L ,
so that by Lemma 5.4.11,

ϕ(T ) = [a i 1 , a i 2 , . . . , a i j , a k ] Σ,2 ∩ [a i 1 , a i 2 , . . . , a iq ] Σ,2 * ϕ(A * k ) ∩ ϕ(T )
is the desired Boolean combination of Zouave languages.

Otherwise, in all situations between which we now distinguish, we have A pq ∩A k = ∅ and q = j + 1, or A pq = ∅.

• p q = 0 (q = 1).

If A 0 ∩ A k = ∅, we have i 1 = k, so by what we discussed just above, it follows that L =    A * 0 d k-1 a k A * k when 0 < k -1 A * 0 a k A * k otherwise (0 = k -1) with A k ⊆ A 0 ∪ {a k } and, when 0 < k -1, A 0 ∩ A k = {d}.
This means that is the desired Boolean combination of Zouave languages.

Otherwise, when A 0 ∩ A k = ∅, then we necessarily have A

0 = ∅. Let Λ = a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
where the edges between the nodes labelled a i 2 to a i j are all full, using the convention that Λ is simply the root A * k when j = 0. Applying Lemma 5.4.20, we get that L(Λ) also belongs to L(J * D). Since Λ is a straight right NSUMT and L(Λ) is a SUM over Σ of degree less than k, by inductive hypothesis, the Boolean combination ϕ(Λ) of Zouave languages is right-convenient and verifies L(ϕ(Λ)) = L(Λ). It is rather straightforward to check that

L = a 1 • • • a i 1 -1 a i 1 L(Λ) .
Assume now L can also be decomposed as the following straight left NSUMT,

T = a λm Υ m+1 a λ m-1 Υ m Υ 2 a 1 A * 0 Υ 1 a λ 1
where Υ 1 , Υ 2 , . . . , Υ m , Υ m+1 (m ∈ N) are straight right NSUMTs over Σ and the edges between the nodes labelled a λ 1 to a λm are all full, using the convention that λ 0 = 1 and λ m+1 = k + 1. Then, as A 0 = ∅, L can also be decomposed as the bent left NSUMT T that is T in which the arcs going from the node labelled a 1 to its children have been switched, the full one becoming dashed and vice versa. The major and minor weights of T both are equal to -1 while at least one of them is positive for T , and L can both be decomposed as the straight right NSUMT T and the straight left NSUMT T , so by inductive hypothesis, the Boolean combination ϕ(T ) of Zouave languages is both leftand right-convenient and verifies L(ϕ(T )) = L(T ) = L. Therefore, by Lemma 5.4.11,

ϕ(T ) =            ϕ(T ) when L can be de- composed as T ]a 1 • • • a i 1 -1 a i 1 ] Σ,2 ∩ ]a 1 • • • a i 1 -1 a i 1 [ Σ,2 * ϕ(Λ) otherwise (L can't be decomposed as T )
is the desired Boolean combination of Zouave languages.

• p q > 0 and p q = i q-1 .

Then, it necessarily means that q > 1, otherwise we would have p q = i 0 = 0, and consequently that A pq A k by definition of q. So we must have A pq ∩A k = ∅ and q = j + 1 because A pq cannot be empty.

Note that j > 0 as j

+ 1 = q > 1. Let Λ = a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 A * i j a i j
where the edges between the nodes labelled a i 1 to a i j are all full. By Corollary 5.4.23, we get that L(Λ) also belongs to L(J * D). Since Λ is a straight right NSUMT, L(Λ) is a SUM of degree less than k and can be decomposed as a straight left NSUMT when L can, by inductive hypothesis, the Boolean combination ϕ(Λ) of Zouave languages is right-convenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(Λ)) = L(Λ).

Let us finally denote by T the straight right NSUMT T in which the label at the leaf labelled by A * i j has been changed to (A k \ {a k }) * and L the associated SUM, which is

L = A * 0 a 1 A * 1 • • • A * i j -1 a i j (A k \ {a k }) * a i j +1 A * i j +1 • • • A * k-1 a k A * k . By Lemma 5.4.27, since {a i j +1 , . . . , a k } ⊆ A k , A k ⊆ A i j ∪ {a k } and A i j +1 = • • • = A k-1 = ∅ ⊆ A k ,
we get that L does also belong to L(J * D). As the sum of non-tail alphabet cardinals in L is less than this of L (because A i j A k \ {a k } and i j = p q > 0) and L can be decomposed as a straight left NSUMT when L can, by inductive hypothesis, the Boolean combination ϕ(T ) of Zouave languages is right-convenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(T )) = L(T ) = L .

By inductive hypothesis, we also directly have that the Boolean combination ϕ (A i j ∪ {a k }) * of Zouave languages is both left-and right-convenient and verifies L ϕ

(A i j ∪ {a k }) * = (A i j ∪ {a k }) * .
In the present case, we have

L =    L(∆ 0 )a i 1 • • • L(∆ j-1 )a i j A * i j d k-1-i j a k A * k when i j < k -1 L(∆ 0 )a i 1 • • • L(∆ j-1 )a i j A * i j a k A * k otherwise (i j = k -1) with A k ⊆ A i j ∪ {a k } and, when i j < k -1, A i j ∩ A k = {d}.
This means that when i j < k-1, we have A k ⊆ {d, a k } and hence for any b ∈ A

i j \{d} = A i j \A k , since A * k ⊆ (Σ \ {c}) * for all c ∈ A i j \ {d}, (Σ \ {a i 1 }) * a i 1 • • • (Σ \ {a i j }) * a i j A * i j b(A i j \ {b}) * a k A * k ∩ (Σ \ {a i 1 }) * a i 1 • • • (Σ \ {a i j }) * a i j A * i j d k-1-i j a k A * k =(Σ \ {a i 1 }) * a i 1 • • • (Σ \ {a i j }) * a i j A * i j b(A i j \ {b}) * a k A * k ∩ k-2-i j i=0 c∈A i j \{d} (Σ \ {a i 1 }) * a i 1 • • • (Σ \ {a i j }) * a i j (Σ \ {a k }) * cd i a k (Σ \ {c}) * . has a i 1 • • • a i j (cd i a k ) 2 as a subword, if we let ψ =    k-2-i j i=0 c∈A i j \{d} [a i 1 , . . . , a i j , cd i a k ] Σ,2 when i j < k -1 Σ * otherwise (i j = k -1)
, we have that

ϕ(T ) = b∈A i j \A k [a i 1 , . . . , a i j , b, a k ] Σ,2 ∩ [a i 1 , . . . , a i j , a k ] Σ,2 * ϕ(A * k )∩ [a i 1 , . . . , a i j ] Σ,2 * ϕ (A i j ∪ {a k }) * ∩ ϕ(Λ) * [b] Σ,2 ∩ ψ ∪ ϕ(T )
is the desired Boolean combination of Zouave languages.

• p q > i q-1 .

Then, it necessarily means that A pq = ∅ by definition of p q (otherwise we would have p q = i q-1 ), so that A pq ∩ A k = ∅ and q = j + 1.

We shall denote p q = p j+1 simply by p.

We know Θ j is of the form

a l Λ Γ 0 A * i j where l ∈ [[i j + 1, p]],
Γ 0 is a straight left NSUMT over Σ whose leftmost leaf has been suppressed (and hence which might be empty) and Λ is a straight right NSUMT over Σ. We can actually assume that l is the biggest integer in [[i j + 1, p]] such that a l does not appear in any word of

A * l a l+1 • • • A * p-1 a p A * p : indeed, if there would exist l ∈ [[l + 1, p]] such that a l does not appear in any word of A * l a l +1 • • • A * p-1 a p A * p ,
we could obtain a straight left NSUMT that is also a decomposition of L(Θ j ) by putting a l at the root, putting a straight right NSUMT that is a decomposition of A * l a l +1 • • • A * p-1 a p A * p as the right child (that exists since LE l -l (Λ)'s right branch contains only full edges), and putting a straight left NSUMT that is a decomposition of

A * i j a i j +1 • • • A * l -2 a l -1 A * l -1
as the left child (that exists since RE p-l +1 (Θ j )'s left branch contains only full edges).

Let now p ∈ [[l, p]] be the smallest integer in [[l, p]] such that A p = ∅, which necessarily exists since A p = ∅. Then, by Lemma 5.4.10, L(Θ j ) can also be decomposed as follows

a l a l+1 Γ 0 A * i j ∅ * ∅ * a p Γ 1 A * p
where Γ 1 is a straight right NSUMT over Σ whose rightmost leaf has been suppressed (and hence which might be empty) and the edges between the nodes labelled a l+1 to a p are all full.

Let

T = a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a l a l+1 ∅ * ∅ * a k-1 A * k a i j Γ 0 A * i j a p Γ 1 a k ∅ * ∅ * A * p a p+1
where the edges between the nodes labelled a i 1 to a i j , a l+1 to a p and a p+1 to a k-1 are all full, using the convention that T is rooted at a l when j = 0. It is also a SUMT that is a decomposition of L because {a p+1 , . . . , a k } ⊆ A k and a l / ∈ A p ∪ {a k }, so that a l / ∈ A k ⊆ A p ∪ {a k }. When j > 0, the major and minor weights of T are both equal to -1 while at least one of them is positive for T . Further, when j = 0, when at least one of A 1 , . . . , A l-1 is non-empty or it isn't the case but p < p, then, respectively, the major weight of T is at most k -2 while that of T is k -1, or the minor weight of T is at most k -2 while that of T is k -1 (because, by maximality of l, there can only be one node on the left branch of the left subtree of the root of T whose right subtree has at least one leaf not labelled by ∅ * ), the major weight being the same. Finally, when j = 0, when A 1 , . . . , A l-1 are all empty and p = p but the constraint level of T is 0, we have that its constraint level is 0 while that of T is

1 because A 1 = • • • = A p-1 = A p+1 = • • • = A k-1 = ∅ and a l / ∈ A k .
So, as L can be decomposed as the straight right NSUMT T , by inductive hypothesis, the Boolean combination ϕ(T ) of Zouave languages is right-convenient, as well as left-convenient when L can be decomposed as a straight left NSUMT, and verifies L(ϕ(T )) = L(T ) = L. Therefore,

ϕ(T ) = ϕ(T )
is the desired Boolean combination of Zouave languages.

The last case to examine is hence when j

= 0, A 1 = • • • = A p-1 = A p+1 = • • • = A k-1 = ∅, {a 1 , .
. . , a p } ⊆ A 0 and A 0 ∩ A p = ∅, the only way for the constraint level of T to be greater than 0 (1 exactly), because a k / ∈ A 0 . Lemma 5.4.22 tells us that, since A 1 = • • • = A l-1 = ∅ and A 0 contains at least two elements, a l and some element in A 0 ∩ A p different from a l , we necessarily have that l = 1. Moreover, we also have the following:

-if p > 1, then there exists e ∈ Σ verifying a 2 = • • • = a p = e and A 0 ∩ A p = {e}; -A 0 ⊆ A p ∪ {a 1 };
besides the following:

-if p < k -1, then there exists d ∈ Σ verifying a p+1 = • • • = a k-1 = d and A p ∩ A k = {d}; -A k ⊆ A p ∪ {a k }.
So in this very last case, we have

L =                A * 0 a 1 e p-1 A * p d k-1-p a k A * k when 1 < p < k -1 A * 0 a 1 e p-1 A * p a k A * k when 1 < p = k -1 A * 0 a 1 A * p d k-1-p a k A * k when 1 = p < k -1 A * 0 a 1 A * p a k A * k when 1 = p = k -1 .
As in the previous subsubcases, we can show that if we let

K 1 =          k-2-p i=0 c∈Ap\{d} (Σ \ {a k }) * cd i a k (Σ \ {c}) * when p < k -1 Σ * otherwise (p = k -1) , K 0 =    p-2 i=0 c∈Ap\{e} (Σ \ {c}) * a 1 e i c(Σ \ {a 1 }) * when 1 < p Σ * otherwise (1 = p) , and
K =    (Σ \ {a k }) * a 1 A ≤k-3 p a k (Σ \ {a 1 }) * when 1 < k -1 Σ * otherwise (1 = k -1) , we have L =A * 0 a 1 A * p a k A * k ∩ K 1 ∩ K 0 ∩ K =(Σ \ {a k }) * a k A * k ∩ A * 0 a 1 (Σ \ {a 1 }) * ∩ (A p ∪ {a 1 , a k }) * ∩ K 1 ∩ K 0 ∩ K , because A * 0 a 1 A * p ⊆ (Σ \ {a k }) * and A * p a k A * k ⊆ (Σ \ {a 1 }) *
. By inductive hypothesis, we have that the Boolean combinations ϕ(A * 0 ) and ϕ (A p ∪ {a 1 , a k }) * of Zouave languages are both left-and right-convenient and verify, respectively, L(ϕ(A *

0 )) = A * 0 and L ϕ (A p ∪ {a 1 , a k }) * = (A p ∪ {a 1 , a k }) * .
By Lemma 5.4.11 (and its reversed version), and since

-when p < k -1, for each i ∈ [[0, k -2 -p]] and c ∈ A p \ {d}, no word of A * 0 a 1 A * p a k A * k has (cd i a k ) 2 as a subword, -when 1 < p, for each i ∈ [[0, p-2]] and c ∈ A p \{e}, no word of A * 0 a 1 A * p a k A * k has (a 1 e i c) 2 as a subword, -when 1 < k -1, for each u ∈ A k-3 p , no word of A * 0 a 1 A * p a k A * k has (a 1 ua k ) 2 as a subword, if we let ψ 1 =    ∩ k-2-p i=0 ∩ c∈Ap\{d} [cd i a k ] Σ,2 when p < k -1 Σ * otherwise (p = k -1) , ψ 0 =    ∩ p-2 i=0 ∩ c∈Ap\{e} [a 1 e i c] Σ,2 when 1 < p Σ * otherwise (1 = p) and ψ =    ∩ u∈A ≤k-3 p [a 1 ua k ] Σ,2 when 1 < k -1 Σ * otherwise (1 = k -1) ,
we have that

ϕ(T ) =[a k ] Σ,2 ∩ [a k ] Σ,2 * ϕ(A * k ) ∩ [a 1 ] Σ,2 ∩ ϕ(A * 0 ) * [a 1 ] Σ,2 ∩ ϕ (A p ∪ {a 1 , a k }) * ∩ ψ 1 ∩ ψ 0 ∩ ψ is the desired Boolean combination of Zouave languages.
This eventually concludes the proof of the proposition.

Technical lemmata needed for the main proof

As announced before giving the main proof of Proposition 5.4.2, we now state and prove all the technical lemmata used in that proof. The only proof that is quite tricky is the one of Lemma 5.4.22, that gives the exact characterisation of NSUMTs for languages of dot-depth one.

Using the equational characterisation of J * D, we can trivially show the following.

Lemma 5.4.19. Any SUM A * over an alphabet Σ is in L(J * D).

Given a SUM that belongs to L(J * D) and a SUMT that is a decomposition of it, we show that any SUM that can actually be decomposed as a subtree of that SUMT does also belong to L(J * D), a result used several times in the proof of Proposition 5.4.2.

Lemma 5.4.20. Let

A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N >0
) be a SUM over an alphabet Σ in L(J * D) and a i ∆ 0 ∆ 1 some decomposition of it where i ∈ [k], ∆ 0 , ∆ 1 are SUMTs over Σ, and the red edge is either full or dashed while the blue one is of the opposite type. Then, L(∆ 0 ) and L(∆ 1 ) are both also SUMs over Σ in L(J * D).

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full, we have that

L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ j-1 )a i j L(∆ j ) ∈ L(J * D)
and for all p ∈ [[0, k -1]], using the convention that i 0 = 0 and i j+1 = k, A p ∩ A k = ∅ implies that {a p+1 , . . . , a k } A k or, if we take q ∈ [j + 1] to be the unique integer in [j + 1] verifying i q-1 ≤ p < i q , the following conditions are verified:

for all ι ∈ [[q, j]], there exists

B ι ⊆ Σ such that ∆ ι = B * ι and A k ⊆ B ι ∪ {a i ι+1 }; -if p + 1 < i q , then there exists b ∈ Σ verifying a p+1 = • • • = a iq-1 = b and A p ∩ A k = {b}; -A k ⊆ A p ∪ {a iq }.
• when T is a straight left NSUMT, the symmetric conditions are verified.

• when T is a bent right NSUMT of the form

Θ 0 Θ 1 A * where ∆ 0 = Θ 0 A * is a straight right NSUMT and ∆ 1 = Θ 1 A * is a straight left NSUMT, L(∆ 0 ) and L(∆ 1 ) both belong to L(J * D);
• when T is a bent left NSUMT, the symmetric conditions are verified.

Proof. Let

L = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N)
be a SUM over an alphabet Σ and T an NSUMT over Σ that is a decomposition of it. We consider each of the possible cases of the statement, one after the other.

Case 1. Assume first that T only consists of a root. Then, it is trivial to see that L ∈ L(J * D). Case 2. Assume now that T is a bent right NSUMT of the form

a i 1,1 ∆ 1,0 a i 1,2 ∆ 1,1 ∆ 1,j 1 -1 a p ∆ 1,j 1 a i 2,j 2 ∆ 2,j 2 a i 2,j 2 -1 ∆ 2,j 2 -1 ∆ 2,1 a p+1 ∆ 2,0 A * p a i 1,j 1 a i 2,1
where ∆ 1,0 , ∆ 1,1 , . . . , ∆ 1,j 1 -1 , ∆ 1,j 1 (j 1 ∈ N) are straight left NSUMTs over Σ, ∆ 2,0 , ∆ 2,1 , . . . , ∆ 2,j 2 -1 , ∆ 2,j 2 (j 2 ∈ N) are straight right NSUMTs over Σ, p ∈ [[1, k -1]] and the edges between the nodes labelled a i 1,1 to a i 1,j 1 and a i 2,1 to a i 2,j 2 are all full. We let

∆ 0 = a i 1,1 ∆ 1,0 a i 1,2 ∆ 1,1 ∆ 1,j 1 -1 a p ∆ 1,j 1 A * p a i 1,j 1
α, β, γ ∈ Σ + such that α = e sf te , β = e uf ve and γ = e sf ve . We are now going to prove that α ω β ω ∼ L α ω γβ ω . Let x, y ∈ Σ * such that w = xα ω β ω y ∈ L. Let w = xα ω γβ ω y; we want to prove that w does also belong to L. We do this through a careful analysis of how w and w can be decomposed according to T . Let ι ∈ [|w|] be the minimum integer in

[|w|] such that w 1 • • • w ι contains a i 1,1 • • • a i 1,j 1 a p as a subword, and ι ∈ [|w |] the minimum integer in [|w |] such that w 1 • • • w ι contains a i 1,1 • • • a i 1,j 1 a p as a subword. Let δ ∈ [|w|] be the maximum integer in [|w|] such that w δ • • • w |w| contains a p+1 a i 2,1 • • • a i 2,j 2 as a subword, and δ ∈ [|w |] the maximum integer in [|w |] such that w δ • • • w |w | contains a p+1 a i 2,1 • • • a i 2,j 2
as a subword. We now distinguish between four different cases.

• If ι corresponds to a position in the factor x of w, say position κ ∈ [|x|], then ι = ι and we have that

x 1 • • • x κ ∈ L 0 and x κ+1 • • • x |x| α ω β ω y ∈ L 1 . But since η L 1 (e ) and η L 1 (f ) are idempotents and ω is a multiple of ω L 1 , we have w ι +1 • • • w |w | = x κ+1 • • • x |x| α ω γβ ω y ∈ L 1 . Hence, xα ω γβ ω y ∈ L, because w 1 • • • w ι = x 1 • • • x κ ∈ L 0 .
• If ι corresponds to a position in one of the factors α of w, then taking ω to be a big enough multiple of ω L 0 and ω L 1 verifying ω > j 1 + j 2 + 2, this position is in one of the j 1 + 1 first factors α of w by minimality and we have ι = ι . Moreover, we also have that δ corresponds to a position that is at least in one of the j 2 + 1 last factors α of w by maximality, which implies that A p contains all letters appearing in α, so as w ι+1 • • • w |w| ∈ L 1 , it follows that α ω β ω y ∈ L 1 . But since η L 1 (e ) and η L 1 (f ) are idempotents and ω is a multiple of ω L 1 , we have α ω γβ ω y ∈ L 1 . From what we know about δ, we can deduce that δ also corresponds to a position that is at least in one of the j 2 + 1 last factors α of w by maximality, hence we get that

w ι +1 • • • w |w | must belong to L 1 for α ω γβ ω y to belong to L 1 , as ι < δ . Therefore, since w 1 • • • w ι ∈ L 0 , we have that xα ω γβ ω y ∈ L.
• If δ corresponds to a position in one of the factors β of w, we can prove symmetrically to the previous case that we have xα ω γβ ω y ∈ L.

• If δ corresponds to a position in the factor y of w, we can prove symmetrically to the first case that we have xα ω γβ ω y ∈ L.

There are no other cases to consider, since when ι correponds to a position in one of the factors β of w or in the factor y of w, then δ necessarily corresponds to a position in one of the factors β of w or in the factor y of w.

Let x, y ∈ Σ * such that xα ω γβ ω y ∈ L. In a way similar to above, we can show that then, xα ω β ω y ∈ L.

This finishes to show that

(esf te) ω L (euf ve) ω L ∼ L (esf te) ω L esf ve(euf ve) ω L .
Since this holds for any e, s, f, t, u, v ∈ Σ + such that η L (e) and η L (f ) are idempotents, it follows that L ∈ L(J * D).

Case 3. Assume now that T is a straight right NSUMT of the form

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. We let

L = L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ j-1 )a i j L(∆ j ) .
Let η L and η L be the syntactic morphisms of L and L respectively and ∼ L and ∼ L the syntactic congruences of L and L respectively. Let ω L and ω L be the idempotent powers of M(L) and M(L ) respectively (which are the syntactic monoids of L and L respectively). Our goal is to prove the necessity and then the sufficiency of the conditions given in the statement of the lemma for L to belong to L(J * D).

Necessity of the conditions. Suppose first that L ∈ L(J * D).

We shall first prove that L belongs to L(J * D) using the equational characterisation of J * D. Let e, s, f, t, u, v ∈ Σ + such that η L (e) and η L (f ) are idempotents. Then

(esf te) ω L (euf ve) ω L ∼ L (esf te) ω L esf ve(euf ve) ω L if and only if (e ω sf ω te ω ) ω L ω (e ω uf ω ve ω ) ω L ω ∼ L (e ω sf ω te ω ) ω L ω e ω sf ω ve ω (e ω uf ω ve ω ) ω L ω ,
where ω ∈ N >0 is any multiple of ω L . We shall fix ω more precisely later on.

We set ω = ω L ω , e = e ω and f = f ω . Since η L (e ) and η L (f ) are idempotents and ω is a multiple of ω L , we have (e sf te ) ω (e uf ve ) ω ∼ L (e sf te ) ω e sf ve (e uf ve ) ω . Let α, β, γ ∈ Σ + such that α = e sf te , β = e uf ve and γ = e sf ve . We are now going to prove that α ω β ω ∼ L α ω γβ ω . Let x, y ∈ Σ * such that w = xα ω β ω y ∈ L . Then, xα ω β ω ya k ∈ L and so w = xα ω γβ ω ya k ∈ L. We want to prove that xα ω γβ ω y does belong to L ; we do this through a careful analysis of how w and w can be decomposed according to T . Let ι ∈ [|w|] be the minimum integer in [|w|] such that w 1 • • • w ι contains a i 1 • • • a i j as a subword, and ι the minimum integer in [|w |] such that w 1 • • • w ι contains a i 1 • • • a i j as a subword. There are several cases to examine, but in any of them, we can prove that |w | is the smallest integer

δ in [|w |] such that w 1 • • • w δ contains a i 1 • • • a i j a k as a subword, which implies that xα ω γβ ω y = w 1 • • • w |w |-1 ∈ L , as w ∈ L.
• If ι corresponds to a position in the factor x of w, then ι = ι and since w ι+1 • • • w |w| ∈ L(∆ j ), we in particular have that all letters in x appearing after position ι, all letters appearing in α, β, y and hence γ are different from a k . Therefore, we reach the aforementioned conclusion.

• If ι corresponds to a position in one of the factors α of w, then taking ω to be a big enough multiple of ω L verifying ω > j, this position is in one of the j first factors α of w by minimality and we have ι = ι and, since w ι+1 • • • w |w| ∈ L(∆ j ), that all letters appearing in α, β, y and hence γ are different from a k . Therefore, we reach the aforementioned conclusion.

• If ι corresponds to a position in one of the factors β of w, then taking ω to be a big enough multiple of ω L verifying ω > j, ι corresponds to a position in the factor ve of γ of w or one of the factors β of w by minimality (otherwise, the minimality condition would be violated as ι would correspond to a position in one of the factors α of w). The position given by ι must be in one of the j first factors β of w by minimality, so we moreover have, since w ι+1 • • • w |w| ∈ L(∆ j ), that all letters appearing in β, y and hence in ve are different from a k . Therefore, we reach the aforementioned conclusion.

• If ι corresponds to a position in the factor y of w, say position κ ∈ [|y|], then ι also corresponds to position κ in the factor y of w , otherwise it would violate minimality of ι when we take ω to be a big enough multiple of ω L verifying ω > j. This means that y κ+1 • • • y |y| ∈ L(∆ j ), so that y κ+1 • • • y |y| does not contain the letter a k . Therefore, we reach the aforementioned conclusion.

Let x, y ∈ Σ * such that xα ω γβ ω y ∈ L . In a way similar to above, we can show that then, xα ω β ω y ∈ L . This finishes to show that

(esf te) ω L (euf ve) ω L ∼ L (esf te) ω L esf ve(euf ve) ω L .
Since this holds for any e, s, f, t, u, v ∈ Σ + such that η L (e) and η L (f ) are idempotents, it follows that L ∈ L(J * D).

We now prove that the technical condition for each p ∈ [[0, k -1]] given in the lemma's statement is verified.

Let p ∈ [[0, k-1]], let us use the convention that i 0 = 0 and i j+1 = k and take q ∈ [j +1] to be the unique integer in [j + 1] verifying i q-1 ≤ p < i q . Assume that A p ∩ A k = ∅ and {a p+1 , . . . , a k } ⊆ A k . We have to check that three properties are verified.

The first property says that for all ι ∈ [[q, j]], there exists

B ι ⊆ Σ such that ∆ ι = B * ι and A k ⊆ B ι ∪ {a i ι+1 }. Let b ∈ A p ∩ A k and for each ι ∈ [[q, j]] some w ι ∈ (A k \ {a i ι+1 }) * .
We have

a 1 • • • a p (b ω L a p+1 • • • a iq • • • a k b ω L a p+1 • • • a iq w q a i q+1 w q+1 • • • a i j w j a k b ω L ) ω L ∼ L a 1 • • • a p (b ω L a p+1 • • • a iq w q a i q+1 w q+1 • • • a i j w j a k b ω L a p+1 • • • a iq • • • a k b ω L ) ω L
by virtue of the fact that L ∈ L(J * D). Since the first word belongs to L, the second does also, so we can conclude that w ι ∈ L(∆ ι ) for all ι ∈ [[q, j]]. Therefore, as this is true taking, for each ι ∈ [[q, j]], any w ι ∈ (A k \ {a i ι+1 }) * and in particular the empty word ε, we get that for each ι ∈ [[q, j]], ∆ ι must be restricted to a sole root (because L(∆ ι ) contains the empty word) verifying that there exists B ι ⊆ Σ such that ∆ ι = B * ι and A k ⊆ B ι ∪ {a i ι+1 }. The second property says that if p + 1 < i q , we have a p+1 = • • • = a iq-1 = b and A p ∩ A k = {b}. Assume that p + 1 < i q and suppose there would exist d

∈ (A p ∩ A k ) \ ({a p+1 } ∩ • • • ∩ {a iq-1 }). We would have a 1 • • • a p (d ω L a p+1 • • • a k d ω L a iq • • • a k d ω L ) ω L ∼ L a 1 • • • a p (d ω L a iq • • • a k d ω L a p+1 • • • a k d ω L ) ω L
by virtue of the fact that L ∈ L(J * D). Nevertheless, the first word belongs to L while the second one does not (because since p + 1 < i q , there is at least one letter among a p+1 , . . . , a iq-1 that is different from d and should appear between the first factor a 1 • • • a p and the first letter a iq after it in the second word, which is not the case): contradiction. Hence, as b ∈ A p ∩ A k , we must have

a p+1 = • • • = a iq-1 = b and A p ∩ A k = {b}.
The third and last property says that A k ⊆ A p ∪ {a iq }. Suppose now there would exist c ∈ A k \ (A p ∪ {a iq }). We would have

a 1 • • • a p (b ω L a p+1 • • • a k b ω L b α ca p+1 • • • a k b ω L ) ω L ∼ L a 1 • • • a p (b ω L b α ca p+1 • • • a k b ω L a p+1 • • • a k b ω L ) ω L
for α ∈ N the smallest non-negative integer such that ω L + α ≥ p -i q-1 , by virtue of the fact that L ∈ L(J * D). Nevertheless, the first word belongs to L while the second one does not: a contradiction. To see that the second word, that we will denote by u, does not belong to L, suppose for a contradiction that it does: this would necessarily mean that we cannot have i q-1 = p = i q -1, because c / ∈ A p . Then, there would only be two possibilities for u to belong to L. Either we would have that p > i q-1 and in the unique decomposition of u according to T , the first occurrence of c would be the letter corresponding to the node labelled by the letter a p in T . But then there would necessarily exist some ι contains a i 1 • • • a iq as a subword. The strategy we follow to prove that w ∈ L is to prove that, on the one hand, w 1 • • • w δ 1 -1 ∈ L(∆ 0 )a i 1 L(∆ 1 ) • • • a i q-1 L(∆ q-1 ), and on the other hand,

∈ [[i q-1 , p -1]] verifying that b ∈ A ι ∩ A k and a ι+1 = • • • = a p-1 = b ∈ A k , so that since a p = c ∈ A k and {a p+1 , . . . , a k } ⊆ A k ,
w δ 1 +1 • • • w |w | ∈ L(∆ q )a i q+1 • • • L(∆ j )a k A * k .
The idea is that we exploit our hypothesis that the conditions given in the statement of the lemma for L to belong to L(J * D) are true by: 1. finding some p ∈ [[i q-1 , i q -1]] such that A p ∩ A k = ∅ and {a p+1 , . . . , a k } ⊆ A k , which implies that the three properties of the statement hold for p; , which finishes to prove that w 1 • • • w δ 1 -1 ∈ L(∆ 0 )a i 1 L(∆ 1 ) • • • a i q-1 L(∆ q-1 );

showing eventually that w

δ 1 +1 • • • w |w | ∈ L(∆ q )a i q+1 • • • L(∆ j )a k A * k .
We now give the details.

Looking at the way q was defined and ω was fixed, we can see that δ 0 = δ 0 and, when q -1 > 0, that they both correspond to the same position in the factor x of w and w respectively, or both correspond to the same position in one of the q -1 first factors α of w and w respectively. Moreover, we can also see that δ 1 corresponds to a position in the first factor β of w and that δ 1 corresponds to a position in the factor ve of γ of w or the first factor β of w . Further, δ 1 corresponds to a position at least at a position in the first factor u of β ω of w. [0, k]] be the unique decomposition of w according to T . By construction, we have w δ 0 = a i q-1 when q -1 > 0, as well as w δ 1 = a iq .

Let w = v 0 a 1 v 1 a 2 • • • v k-1 a k v k where v λ ∈ A * λ for all λ ∈ [
Step 1. Taking ω to be a big enough multiple of ω L verifying |e | > k -1 and |f | > k -1, we first show there exists p ∈ [[i q-1 , i q -1]] such that A p ∩ A k = ∅ and {a p+1 , . . . , a k } ⊆ A k . We have that δ 1 corresponds to a position in the first factor β of w and all letters appearing in β and y do belong to A k , so it follows that

a iq v iq • • • a k v k = w δ 1 • • • w |w| ∈ A *
k and consequently that {a iq , . . . , a k } ⊆ A k . Moreover, because δ 0 , when different from 0, corresponds to a position in the factor xα ω of w and δ 1 corresponds to a position at least in the first factor u of β ω of w, the word v i q-1 a i q-1 +1 v i q-1 +1 • • • a iq-1 v iq-1 = w δ 0 +1 • • • w δ 1 -1 is guaranteed to have as a suffix a prefix of β of length at least k ≥ i q -i q-1 , that contains only letters of A k , so that there must exist some p ∈ [[i q-1 , i q -1]] verifying that v p contains at least one letter of A k and {a p+1 , . . . , a iq-1 } ⊆ A k . This entails there necessarily exists p ∈ [[i q-1 , i q -1]] such that A p ∩ A k = ∅ and {a p+1 , . . . , a k } ⊆ A k ; we then take the smallest such p. Let us also set ρ ∈ [[i q-1 , i q -1]] to be the biggest integer in [[i q-1 + 1, i q -1]] verifying a ρ / ∈ A k or i q-1 if it does not exist: by definition of p, we necessarily have ρ ≤ p. By hypothesis, the following conditions are verified:

for all κ ∈ [[q, j]], there exists B κ ⊆ Σ such that ∆ κ = B * κ and A k ⊆ B κ ∪{a i κ+1 }; if p + 1 < i q , then there exists b ∈ Σ verifying a p+1 = • • • = a iq-1 = b and

A p ∩ A k = {b}; -A k ⊆ A p ∪ {a iq }.
This implies in particular that if p + 1 < i q , A k = {b, a iq }, so that e and f both contain only the letter b, since they do not contain the letter a iq by definition of q. We also observe that, if p + 1 < i q , none of A p+1 , . . . , A iq-1 contains the letter b, because if there would exist some κ ∈ [[p + 1, i q -1]] verifying that b ∈ A κ , it would contradict the fact that the word a 1 • • • a p b κ-p+1 a κ+1 • • • a k ∈ L has a unique decomposition u 0 a 1 u 1 a 2 u 2 • • • u k-1 a k u k where u λ ∈ A * λ for all λ ∈ [[0, k]].

Step 2. The second step is to prove that xα ω belongs to A * 0 a 1 A * 1 • • • a p A * p . By the way it was defined, if ρ > 0, the letter a ρ in w's decomposition is at a position at most in the last factor t of α ω of w, as the letter a i q-1 in w's decomposition is at a position in one of the q -1 first factors α of w when ρ = i q-1 and e β ω y ∈ A * k . Moreover, if p is different from ρ, then as none of A ρ , . . . , A p-1 contains a letter of A k by minimality of p and as, in w, the last factor t of α ω is followed by a factor e containing only letters in A k and of length at least k -1 ≥ p -ρ, we have that the letter a p in w's decomposition is at a position at most at the position p -ρ of the last factor e of α ω of w. Since the letter a iq in w's decomposition is at position δ 1 in w, which is at least at a position in the first factor u of β ω of w, it follows that, if p + 1 < i q , all letters a p+1 , . . . , a iq-1 in w's decomposition are at positions in the first factor β of w. This is because otherwise, as there is a factor e of length at least k -1 ≥ i q -1-p preceding the first factor u of β ω of w, at least one of v p+1 , . . . , v iq-1 would contain the letter b. All in all, this means we have xα ω ∈ A * 0 a 1 A * 1 • • • a p A * p .

Step [0, k]] be the unique de-composition of z according to T . In a way similar to the previous case, we can show that if ρ > 0, then the letter a ρ in z's decomposition is at a position at most in the last factor s of z, that if p is different from ρ, then the letter a p in z's decomposition is at a position at most at the position p -ρ of the factor f after the last factor s of z, and that if p + 1 < i q , then all letters a p+1 , . . . , a iq-1 in z's decomposition are at positions in the last factor e of z. Putting all together, we can deduce that xα ω e sf 1 • • • f p-ρ = x(e sf te

) ω e sf 1 • • • f p-ρ ∈ A * 0 a 1 A * 1 • • • a p A * p . Let- ting σ = xα ω e sf 1 • • • f p-ρ , we indeed have that w 1 • • • w σ = xα ω e sf 1 • • • f p-ρ ∈ A * 0 a 1 A * 1 • • • a p A * p
, where σ + 1 corresponds to a position in the factor f of γ of w (because p + 1 ≤ k ≤ |f |) and σ is at least δ 0 + 1 and at most δ 1 -i q + p (because δ 1 cannot correspond to a position that is before the first factor v of w , so that δ 1 -σ > |f | -p + ρ ≥ k -p + ρ ≥ i q -p).

Step 4. The fourth step is to prove that w σ+1 • • • w δ 1 -1 belongs to A * p a p A * p+1 • • • a iq-1 A * iq-1 . We have that w σ+1 • • • w δ 1 -1 does only contain letters belonging to A k (because it only contains letters appearing in β by the fact that σ + 1 corresponds to a position in the factor f of γ of w ) that are different from a iq (since δ 0 < σ) and hence belong to A p ∩ A k , as A k ⊆ A p ∪ {a iq }. This means that w σ+1 • • • w δ 1 -1 ∈ A * p a p A * p+1 • • • a iq-1 A * iq-1 as either p + 1 = i q and then all letters in w σ+1 • • • w δ 1 -1 straightforwardly belong to A * p , or p + 1 < i q and then b is the sole letter in w σ+1 • • • w δ 1 -1 since it is the sole one in A p ∩ A k and the word is long enough to contain a p+1 , . . . , a iq-1 , all equal to b. Hence, we have eventually shown that w

1 • • • w δ 1 -1 ∈ A * 0 a 1 A * 1 • • • a iq-1 A * iq-1 = L(∆ 0 )a i 1 L(∆ 1 ) • • • a i q-1 L(∆ q-1 ).
Step 5. We finally show that w δ 1 +1 • • • w |w | ∈ L(∆ q )a i q+1 • • • L(∆ j )a k A * k . We know that δ 1 corresponds to a position in the factor ve of γ of w or the first factor β of w , that all letters appearing in ve , β and y do belong to A k , that {a i q+1 , . . . , a k } ⊆ A k and that for all κ ∈ [[q, j]], there exists B κ ⊆ Σ such that ∆ κ = B * κ and A k ⊆ B κ ∪{a i κ+1 }. So, as

w δ 1 +1 • • • w |w | contains a i q+1 • • • a i j a k as a sub- word because w δ 1 +1 • • • w |w| does, it follows that w δ 1 +1 • • • w |w | ∈ B * q a iq • • • B * j a k A * k = L(∆ q )a i q+1 • • • L(∆ j )a k A * k .
In the end, we can conclude that xα ω γβ ω y = w ∈ L.

• If ι corresponds to a position in the factor y of w, say position κ ∈ [|y|], then ι also corresponds to position κ in the factor y of w , otherwise it would violate minimality of ι when we take ω to be a big enough multiple of ω L verifying ω > j + 1. Since This finishes to show that (esf te) ω L (euf ve) ω L ∼ L (esf te) ω L esf ve(euf ve) ω L .

Since this holds for any e, s, f, t, u, v ∈ Σ + such that η L (e) and η L (f ) are idempotents, it follows that L ∈ L(J * D). Case 4. Symmetric to case 2.

Case 5. Symmetric to case 3.

We derive the following corollary, that shows we can "cut off" a given right part of the right branch of a straight right NSUMT and still stay in L(J * D). This corollary is used twice in the inductive construction of the proof of Proposition 5.4.2 and once in the lemma that is stated and proved just after this corollary.

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
some decomposition of it where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N >0 ) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. Then, for all q ∈ [j], L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ q-1 )a iq L(∆ q ) and L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ q-1 )a iq A * iq are also SUMs over Σ in L(J * D).

Proof sketch. The SUMT

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j is a straight right NSUMT, so that since the SUM A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A *
k it is a decomposition of belongs to L(J * D), Lemma 5.4.22 tells us that L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ j-1 )a i j L(∆ j ) is also a SUM over Σ in L(J * D). When ∆ j is restricted to the root A * iq , we obviously directly have that L(∆ 0 )a i 1 L(∆ 1 )a i 2 • • • L(∆ j-1 )a i j A * i j is also a SUM over Σ in L(J * D). Otherwise, the SUMT Base case k = 0. Trivial.

Induction. Let k ∈ N >0 and assume the lemma is true for all SUMs of degree less than

k over Σ. Let L = A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k be
A * p a p +1 • • • A * p-1 a p a p+1 A * p+1 • • • A * k-1 a k A * k
Otherwise, when p > 0, by inductive hypothesis, it is readily seen that

A * 1 a 2 • • • A * p-1 a p a p+1 A * p+1 • • • a k A * k
belongs to L(J * D). Let q ∈ [[0, j]] be the unique integer in [[0, j]] verifying i q ≤ p < i q+1 .

As a p ∈ A p , we have that for any p ∈ [[i q+1 , k]], A 0 ∩ A p = ∅ or {a 1 , . . . , a p } A 0 , otherwise we would have, by Lemma 5.4.22, that there exists B q+1 ⊆ Σ such that ∆ q+1 = B * q+1 while we know ∆ q+1 is not restricted to a sole root because i q < p (as otherwise it would mean that a p = a iq / ∈ A p ), a contradiction. Obviously, A 0 ∩ ∅ = ∅ and, following the same reasoning as in the previous case, for all p ∈ [[1, i q+1 -1]] \ {p}, the conditions of Lemma 5.4.22 are verified. Therefore, by Lemma 5.4.22, we can conclude that

A * 0 a 1 • • • A * p-1 a p a p+1 A * p+1 • • • a k A * k is in L(J * D).
Lemma 5.4.26.

Let A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N >0
) be a SUM over an alphabet Σ in L(J * D) and

a i 1 ∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
some decomposition of it where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. Using the convention that i 0 = 0 and i

j+1 = k, let p ∈ [[0, k -1]] such that A p+1 = • • • = A iq-1 = ∅, A p ∩ A ι = ∅ for all ι ∈ [[i q , k
]], {a iq+1 , . . . , a k } ⊆ A k and a p / ∈ A p when p > 0, where q ∈ [j + 1] is the unique integer in [j + 1] verifying i q-1 ≤ p < i q . Then A * 0 a 1

• • • A * p-1 a p a p+1 A * p+1 • • • a k A * k
is also a SUM over Σ in L(J * D).

Proof. Since A * p ∩ L(∆ q )a i q+1 • • • L(∆ j )a k A * k = ∅, we have that

A * 0 a 1 • • • A * p-1 a p a p+1 A * p+1 • • • a k A * k =A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k ∩ c∈Ap [a i 1 , . . . , a i q-1 , ca p+1 • • • a iq-1 a iq ] Σ .
As L(J * D) is an ne-variety of languages and A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k as well as the languages [a i 1 , . . . , a i q-1 , ca p+1 • • • a iq-1 a iq ] Σ for any c ∈ A p belong to it,

A * 0 a 1 • • • A * p-1 a p a p+1 A * p+1 • • • a k A * k
does also belong to it.

Finally, this last lemma shows that, under some assumptions, in a SUM

A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k ,
we can restrict all alphabets at the right of some letter a p to contain only those letters belonging to A k and still stay in L(J * D). This result is used once in one of the subsubcases of the third subcase of the second case in the proof of Proposition 5.4.2.

Lemma 5.4.27.

Let A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N, k ≥ 2)
be a SUM over an alphabet Σ in L(J * D) and a i 1

∆ 0 a i 2 ∆ 1 ∆ j-1 a k ∆ j A * k a i j
some decomposition of it where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N >0 ) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. Let q ∈ [j] such that {a iq+1 , . . . , a k } ⊆ A k . Then

A * 0 a 1 • • • A * iq-1 a iq (A iq ∩ A k ) * • • • a k-1 (A k-1 ∩ A k ) * a k A *
k is also a SUM over Σ in L(J * D).

Proof. We have that Finally, in Chapter 5, we made progress towards an exact algebraic characterisation of the class of regular languages p-recognised by finite J-trivial monoids. In fact, J is not tame and its monoids are unexpectedly powerful when it comes to p-recognition of regular languages: while a result by Maciel, Péladeau and Thérien as well as our result of Chapter 4 together show that, in any case, P(J) ∩ Reg ⊆ L(Q(J * D)) ∩ L(QDA), we presented good evidence that equality holds (this is Conjecture 2). Indeed, we observed that although programs over monoids in J cannot recognise languages requiring detection of the presence or absence of a word as a factor (basically dot-depth one languages), they can recognise such languages with the additional guarantee that this word does appear at most a constant number of times as a subword. The definition of threshold dot-depth one languages is based on this principle, and we proved that all the latter belong to P(J). Our intuition is that the class of threshold dot-depth one languages is in fact equal to L(J * D ∩ DA S ), but we were only able to prove that any SUM that is also of dotdepth one is in fact a threshold dot-depth one language. This is a first step towards a proof of Conjecture 1, that states that any language in L(J * D ∩ DA S ) is in fact p-recognised by a finite J-trivial monoid, a conjecture whose truth would, we believe, rather easily imply the truth of Conjecture 2. However, we must admit that our proof of this particular case of Conjecture 1 is not satisfactory, because of its unreasonable length and complexity; we feel the final complete proof of Conjecture 1, if it exists, should be reasonably short and simple (in view of what was done by Knast in [START_REF] Knast | A semigroup characterization of dot-depth one languages[END_REF] for the algebraic characterisation of dot-depth one languages).

A * 0 a 1 • • • A * iq-1 a iq (A iq ∩ A k ) * • • • a k-1 (A k-1 ∩ A k ) * a k A * k 262 =A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k ∩ b / ∈A k [a i 1 , . . . ,
Future directions Below we give some ideas of lines along which one could conduct research in continuation of this Ph.D. thesis.

• One could explore even more general versions of Nečiporuk's method, as suggested in Section 2.8 of Chapter 2: for instance, one could consider a version of Nečiporuk's method where the bound given by any Nečiporuk function should only hold for a restricted class of Boolean functions or partitions of those.

• Obviously, one direction to follow would be to search for a full and reasonably short and simple proof of Conjecture 1. If one can find such a proof, then an algebraic characterisation of P(J) ∩ Reg, Conjecture 2, should not be far.

• As explained just above, in view of reproving MOD m is not in P(A) for all m ∈ N, m ≥ 2 (or equivalently that A is tame) using novel semigroup-theoretic methods,

Appendix A

Résumé substantiel en langue française

Le cadre global. Cette thèse s'inscrit globalement dans le contexte de la recherche de minorants pour des modèles de calcul non uniformes : étant donné un langage, un modèle de calcul et une mesure de complexité, on cherche un minorant serré du coût donné par cette mesure pour la décision de ce langage dans ce modèle. On s'intéresse tout particulièrement au modèle des programmes de branchement. Un programme de branchement sur mots binaires de longueur n est un graphe orienté acyclique avec un sommet source et deux sommets puits, l'un étiqueté 0, l'autre étiqueté 1, chaque sommet non puits étant étiqueté par une position dans l'entrée et ayant exactement deux arcs sortants, l'un étiqueté 0 et l'autre étiqueté 1. Un certain mot en entrée donne ensuite lieu à un unique chemin dans ce programme de branchement qui arrive soit au sommet puits étiqueté 0 (rejet), soit au sommet puits étiqueté 1 (acceptation). La mesure de complexité la plus fondamentale associée à ce modèle est, pour un langage donné, la fonction donnant pour chaque taille d'entrée possible la taille minimum, en nombre de sommets non puits, d'un programme de branchement décidant la restriction de ce langage aux mots de cette longueur donnée. Elle est fondamentale parce qu'elle capture la mesure de complexité en espace pour les machines de Turing de la manière suivante : tout langage décidé par une machine de Turing en espace s(n) peut être décidé par une suite de programmes de branchement de taille majorée par 2 α•s(n) , où α est une constante dépendant seulement de la machine de Turing. Ainsi, un minorant fort pour la taille des programmes de branchement nécessaire pour décider un certain langage implique directement un minorant fort pour l'espace nécessaire à une machine de Turing pour décider ce même langage. Par « fort », on entend « super-polynomial », puisqu'un tel minorant pour la taille des programmes de branchement donnerait lieu à un minorant super-logarithmique pour l'espace des machines de Turing, ce qui est exactement ce que l'on vise pour séparer la classe L des langages décidables en espace logarithmique par une machine de Turing de la classe P des langages décidables en temps polynomial par une machine de Turing. La question de la relation entre L et P est une question ouverte centrale en théorie de la complexité algorithmique : il est bien connu que L ⊆ P, mais presque rien n'est connu à propos de l'inclusion inverse, bien qu'il soit largement admis qu'elle n'est pas vraie. L'importance de cette question est comparable à celle de la question fondamentale de la théorie de la complexité algorithmique, à savoir celle de la relation entre P et la classe NP des langages décidables en temps polynomial par une machine de Turing non déterministe.

La méthode de Nečiporuk. Le problème est que, dans l'état actuel de la recherche, séparer L de P de cette manière (ou, d'ailleurs, de quelque autre manière que ce soit) semble totalement hors d'atteinte. En effet, le meilleur minorant connu pour la taille des programmes de branchement est toujours, au moment d'écrire cette thèse, celui démontré par Nečiporuk il y a plus de 50 ans [START_REF] Nečiporuk | On a Boolean function[END_REF], qui est en Θ(n 2 / log 2 n). Nečiporuk utilisa implicitement une technique qui a plus tard été identifiée explicitement, définie et appliquée à plusieurs autres mesures de complexité pour différents modèles de calcul, et qui a également été exposée dans plusieurs livres de référence [START_REF] Savage | The Complexity of Computing[END_REF], [START_REF] Wegener | The complexity of Boolean functions[END_REF][START_REF] Wegener | Branching Programs and Binary Decision Diagrams[END_REF], [START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF]. La première contribution de cette thèse, tirée d'un article coécrit avec [START_REF] Beame | Nondeterminism and an abstract formulation of Nečiporuk's lower bound method[END_REF], est une formulation de la méthode de minoration de Nečiporuk en amont de toute mesure de complexité spécifique (ce qui n'a jamais été fait systématiquement auparavant) et l'analyse des limites de cette méthode (en termes de meilleur minorant que l'on puisse obtenir) induites par des majorants pour la complexité de décision d'un langage spécifique. Ce cadre est ensuite utilisé pour appliquer la méthode et montrer ses limitations à la fois pour des modèles de calcul classiques avec les mesures de complexité associées et pour des variantes de ceux-ci jamais étudiées auparavant. Au bout du compte, dans ce cadre un peu plus général, des résultats de minoration et de limitation bien connus sont redémontrés et de nouveaux tels résultats sont prouvés.

Programmes sur monoïdes. Étant donné que l'on sait maintenant que la méthode de Nečiporuk ne permet pas d'obtenir de meilleurs minorants pour la taille des programmes de branchement qu'en Θ(n 2 / log 2 n) et puisque personne ne sait vraiment comment démontrer ne serait-ce qu'un minorant quadratique, que devrait-on faire ? Ce que les chercheurs firent une fois ce constat fait fut de commencer à chercher des minorants A-ii pour la taille de variantes restreintes de programmes de branchement avec les mesures de complexité associées, en espérant que les connaissances acquises en démontrant de tels minorants aideraient à démontrer de meilleurs minorants pour le modèle non restreint. Parmi les restrictions étudiées, on trouvera le fait de restreindre le nombre de fois qu'une certaine position dans l'entrée peut être lue le long d'un chemin du sommet source à un sommet puits, ou encore de restreindre la largeur d'un programme de branchement. Les programmes de branchement de largeur bornée se sont révélés être particulièrement intéressants, surtout à partir du moment où [START_REF] Barrington | Bounded-width polynomial-size branching programs recognize exactly those languages in NC 1[END_REF] prouva le résultat inattendu que les programmes de branchement de largeur bornée et de taille polynomiale permettent de décider tous les langages de NC 1 . NC 1 est la classe des langages décidés par des circuits de taille polynomiale, profondeur logarithmique avec des portes NON et des portes OU, ET de degré entrant 2, une « petite » classe de complexité centrale et très étudiée. Son inclusion dans L lorsque l'on considère une variante uniforme appropriée est probablement stricte, mais il n'est, dans l'état actuel des connaissances, toujours pas exclu que NP ⊆ NC 1 . En tant que suite directe de ce résultat et de sa démonstration, Barrington et Thérien [START_REF] Barrington | Finite monoids and the fine structure of NC 1[END_REF] introduisirent le modèle des programmes sur monoïdes. Étant donné un monoïde fini (M, * ) et un alphabet fini Σ, un (M, * )-programme P sur Σ pour la longueur d'entrée n est simplement une suite d'instructions finie (i 1 , f 1 )(i 2 , f 2 ) • • • (i l , f l ) , où pour tout j, i j indique une position dans l'entrée et f j associe un élément de M à tout élément de Σ. De cette manière, à tout mot w de longueur n sur Σ en entrée, P associe un unique élément de M ,

P (w) = f 1 (w i 1 ) * f 2 (w i 2 ) * • • • * f l (w i l ) .
Un langage de mots de Σ n est ensuite reconnu par P si et seulement s'il est égal à l'ensemble de mots dans Σ n auxquels le programme P associe un élément dans un certain sous-ensemble F de M . Un langage de mots de longueur arbitraire est, quant à lui, reconnu par une suite de (M, * )-programmes.

Ce modèle de calcul et cette notion de reconnaissance peuvent être vus comme une généralisation de la notion de reconnaissance par morphismes dans des monoïdes finis, à la base même de la théorie algébrique des automates. D'une manière similaire au cas de la reconnaissance classique par de tels morphismes, on s'intéresse habituellement à la classe de langages reconnus par une suite de (M, * )-programmes de longueur polynomiale où A-iii (M, * ) est un monoïde fini tiré d'une certaine variété de monoïdes finis V (une telle variété étant une classe de monoïdes finis close par produit direct et division, deux opérations basiques sur les monoïdes). Le résultat frappant montré par Barrington et Thérien (et dans quelques articles suivants) est que NC 1 et presque toutes ses sous-classes bien connues (à l'exception notable de TC 0 ) peuvent chacune être caractérisée comme une certaine classe P(V) de langages reconnus par des suites de programmes de longueur polynomiale sur monoïdes issus d'une telle variété V. Par exemple, considérons AC 0 , la classe des langages décidés par des circuits de taille polynomiale, profondeur constante avec des portes NON et des portes OU, ET de degré entrant non borné, et ACC 0 la même classe avec l'ajout de portes de comptage modulaire -deux des plus importantes sous-classes de NC 1 . Alors, on a que NC 1 , ACC 0 et AC 0 contiennent, respectivement, exactement les langages reconnus par des programmes, de longueur polynomiale, sur monoïdes de la variété de tous les monoïdes finis, des monoïdes finis résolubles et des monoïdes apériodiques finis. En théorie algébrique des automates, beaucoup de techniques ont été développées depuis les années 1960 pour caractériser algébriquement les classes de langages réguliers par les variétés de monoïdes finis les reconnaissant par morphismes. L'espoir était, et est toujours, que celles-ci puissent être généralisées à la reconnaissance par programmes et aider à aborder des questions ouvertes de théorie de la complexité algorithmique liées à NC 1 et sa structure interne ; ou, tout du moins, amener à de nouvelles démonstrations de résultats connus dans ce domaine en utilisant la théorie des semi-groupes finis. Le plus célèbre et fondamental de ces résultats est celui affirmant que pour tout entier m ≥ 2, le langage MOD m des mots sur {0, 1} contenant un nombre de 1 non divisible par m n'est pas dans AC 0 . Mais aucun de ces espoirs ne s'est concrétisé pour le moment, à l'écriture de cette thèse. Comme expliqué pour le cas des minorants de la taille des programmes de branchement (non restreints), une approche que l'on pourrait avoir face à de telles difficultés serait de se concentrer sur des modèles encore plus restreints et essayer d'accumuler des connaissances et des techniques qui pourraient être utiles dans le cadre non restreint. Le formalisme des programmes sur monoïdes offre une façon directe de restreindre la puissance du modèle, simplement en restreignant la « puissance algébrique » à disposition en considérant des programmes sur monoïdes pris d'une certaine « petite » variété (au sens de l'inclusion) ; l'espoir est de pouvoir ensuite réutiliser ce que l'on apprend en étudiant la puissance des programmes sur monoïdes pris de ces « petites » variétés lorsque l'on mène cette étude avec des variétés plus grandes, comme celles données juste au-dessus. L'étude de l'expressivité des programmes sur monoïdes issus de « petites » variétés de monoïdes finis A-iv amène également des questions intéressantes en tant que telles, souvent liées à la théorie algébrique des automates et la logique. Un nombre non négligeable de travaux précédents ont été faits dans ce contexte (par exemple [START_REF] Barrington | Non-uniform automata over groups[END_REF], [START_REF] Gavaldà | Algebraic characterizations of small classes of Boolean functions[END_REF], [START_REF] Lautemann | An algebraic point of view on the Crane Beach property[END_REF], [START_REF] Maciel | Programs over semigroups of dot-depth one[END_REF], [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF], [START_REF] Tesson | The computing power of programs over finite monoids[END_REF]).

La seconde contribution de cette thèse, qui correspond à des travaux en partie exposés dans un article de conférence co-publié avec Pierre McKenzie et Luc Segoufin [START_REF] Grosshans | The power of programs over monoids in DA[END_REF], se décompose en deux volets : à un niveau général, l'examen d'une propriété générale de la classe des langages réguliers contenus dans P(V) pour toute variété de monoïdes finis V ; à un niveau plus spécifique, l'étude de chacun des cas des variétés de monoïdes finis DA et J, deux « petites » sous-variétés bien connues de celle des monoïdes apériodiques finis, importantes en théorie algébrique des automates et domaines connexes. Caractériser exactement la classe des langages réguliers dans P(V) alors que l'on fait varier V parmi toutes les variétés de monoïdes finis possibles est une tâche fondamentale car, comme il est montré dans [START_REF] Mckenzie | NC 1 : The automata-theoretic viewpoint[END_REF], deux classes P(V) et P(W) sont égales si et seulement si elles contiennent exactement les mêmes langages réguliers. En s'inspirant du travail de Péladeau, Straubing et Thérien Péladeau et al. [1997] concernant les programmes sur semi-groupes issus de variétés de semi-groupes finis d'une certaine forme, une nouvelle notion de docilité d'une variété de monoïdes finis V est introduite, capturant essentiellement la propriété que, sur les monoïdes issus de cette variété, la reconnaissance par programmes de longueur polynomiale ne permet pas de reconnaître imprévisiblement plus de langages réguliers que la reconnaissance classique par morphismes.

Le reste de la thèse s'attache ensuite d'abord à montrer que DA est docile, dérivant de cette propriété une caractérisation algébrique exacte de la classe des langages réguliers appartenant à P(DA). En outre, d'autres propriétés à propos de P(DA) intéressantes en elles-mêmes sont montrées. Cette thèse se tourne en dernier lieu vers J, la variété des monoïdes finis appelés J-triviaux, un exemple notable d'une variété de monoïdes finis prouvée non docile. Ceci signifie, avant tout, que les programmes de longueur polynomiale sur monoïdes de J peuvent reconnaître « beaucoup plus » de langages réguliers qu'en considérant seulement la reconnaissance classique par morphismes sur monoïdes de J. Le dernier chapitre de cette thèse, assez considérable, développe des résultats partiels (non publiés à ce jour) pour la caractérisation algébrique de la classe des langages réguliers appartenant à P(J) (en plus de quelques petits résultats à part concernant P(J)).

A-v

Orientations futures. Voici enfin quelques idées de sujets de recherche en continuité avec cette thèse sur lesquels l'on pourrait travailler.

• On pourrait explorer des versions de la méthode de Nečiporuk encore plus générales que celle proposée dans cette thèse, dont les limitations sont en grande partie dues au fait qu'elle doive s'appliquer à tout langage binaire.

• Bien évidemment, une piste à suivre serait de chercher une preuve complète et à la fois raisonnablement courte et simple de la caractérisation algébrique exacte de la classe des langages réguliers contenus dans P(J) conjecturée dans cette thèse.

• Il y a une hiérarchie infinie de variétés de monoïdes finis entre DA et celle des monoïdes apériodiques finis. Si quelqu'un devait un jour redémontrer que MOD m n'est pas dans AC 0 pour tout entier m ≥ 2 en utilisant des méthodes de théorie des semi-groupes finis, une voie à suivre serait de montrer progressivement, si vraie, la docilité de chacun des niveaux de cette hiérarchie, dans l'ordre croissant des niveaux.

• La docilité pour les variétés de monoïdes finis semble être une notion intéressante, puisque, entre autres, la conjecture bien connue qu'ACC 0 est strictement incluse dans NC 1 est équivalente au fait que la variété des monoïdes résolubles finis est docile. Ceci motive la poursuite de l'étude exhaustive de la docilité des variétés de monoïdes finis débutée dans cette thèse. Comme cette dernière s'est concentrée sur des petites variétés de monoïdes apériodiques, un angle d'attaque possible serait d'examiner de petites variétés de monoïdes non apériodiques (ou même des groupes). Par ailleurs, cette thèse soulève aussi quelques questions à propos des propriétés générales de la docilité qu'il reste à résoudre.

• L'on pourrait imaginer qu'introduire des comportements probabilistes ainsi que non déterministes dans le formalisme des programmes sur monoïdes pourrait donner lieu à des questions intéressantes et accessibles concernant la déprobabilisation et la puissance du non déterminisme pour des petites classes de complexité dans NC 1 .

• Benjamin Rossman a récemment commencé à développer une foule de techniques nouvelles pour prouver des minorants pour les circuits de faible profondeur (voir par exemple [START_REF] Li | On the AC 0 complexity of subgraph isomorphism[END_REF]). Il n'est pas clair si celles-ci pourraient aider dans le domaine des programmes sur monoïdes, ou même si celles-ci pourraient être généralisées dans une certaine direction (en termes de langages ou de modèles pour lesquels on peut démontrer des minorants en utilisant ces techniques), mais des efforts pour savoir ce qu'il en est pourraient s'avérer profitables.

A-vi

Titre : Les limites de la méthode de Nečiporuk et le pouvoir des programmes sur monoïdes issus de petites variétiés de monoïdes finis Mots-clés : Complexité algorithmique, minorants, Nečiporuk, programmes sur monoïdes, DA, J Résumé : Cette thèse porte sur des minorants pour des mesures de complexité liées à des sous-classes de la classe P de langages pouvant être décidés en temps polynomial par des machines de Turing. Nous considérons des modèles de calcul non uniformes tels que les programmes sur monoïdes et les programmes de branchement. Notre première contribution est un traitement abstrait de la méthode de Nečiporuk pour prouver des minorants, indépendamment de toute mesure de complexité spécifique. Cette méthode donne toujours les meilleurs minorants connus pour des mesures telles que la taille des programmes de branchements déterministes et non déterministes ou des formules avec des opérateurs booléens binaires arbitraires ; nous donnons une formulation abstraite de la méthode et utilisons ce cadre pour démontrer des limites au meilleur minorant obtenable en utilisant cette méthode pour plusieurs mesures de complexité. Par là, nous confirmons, dans ce cadre légèrement plus général, des résultats de limitation précédemment connus et exhibons de nouveaux résultats de limitation pour des mesures de complexité auxquelles la méthode de Nečiporuk n'avait jamais été appliquée. Notre seconde contribution est une meilleure compréhension de la puissance calculatoire des programmes sur monoïdes issus de petites variétés de monoïdes finis. Les programmes sur monoïdes furent introduits à la fin des années 1980 par Barrington et Thérien pour généraliser la reconnaissance par morphismes et ainsi obtenir une caractérisation en termes de semi-groupes finis de NC 1 et de ses sous-classes. Étant donné une variété V de monoïdes finis, on considère la classe P(V) de langages reconnus par une suite de programmes de longueur polynomiale sur un monoïde de V : lorsque l'on fait varier V parmi toutes les variétés de monoïdes finis, on obtient différentes sous-classes de NC 1 , par exemple AC 0 , ACC 0 et NC 1 quand V est respectivement la variété de tous les monoïdes apériodiques finis, résolubles finis et finis. Nous introduisons une nouvelle notion de docilité pour les variétés de monoïdes finis, renforçant une notion de Péladeau. L'intérêt principal de cette notion est que quand une variété V de monoïdes finis est docile, nous avons que P(V) contient seulement des langages réguliers qui sont quasi reconnus par morphisme par des monoïdes de V. De nombreuses questions ouvertes à propos de la structure interne de NC 1 seraient réglées en montrant qu'une variété de monoïdes finis appropriée est docile, et, dans cette thèse, nous débutons modestement une étude exhaustive de quelles variétés de monoïdes finis sont dociles. Plus précisément, nous portons notre attention sur deux petites variétés de monoïdes apériodiques finis bien connues : DA et J. D'une part, nous montrons que DA est docile en utilisant des arguments de théorie des semi-groupes finis. Cela nous permet de dériver une caractérisation algébrique exacte de la classe des langages réguliers dans P(DA). D'autre part, nous montrons que J n'est pas docile. Pour faire cela, nous présentons une astuce par laquelle des programmes sur monoïdes de J peuvent reconnaître beaucoup plus de langages réguliers que seulement ceux qui sont quasi reconnus par morphisme par des monoïdes de J. Cela nous amène à conjecturer une caractérisation algébrique exacte de la classe de langages réguliers dans P(J), et nous exposons quelques résultats partiels appuyant cette conjecture. Pour chacune des variétés DA et J, nous exhibons également une hiérarchie basée sur la longueur des programmes à l'intérieur de la classe des langages reconnus par programmes sur monoïdes de la variété, améliorant par là les résultats de Tesson et Thérien sur la propriété de longueur polynomiale pour les monoïdes de ces variétés.

Title:

The limits of Nečiporuk's method and the power of programs over monoids taken from small varieties of finite monoids Keywords: Computational complexity, lower bounds, Nečiporuk, programs over monoids, DA, J Abstract: This thesis deals with lower bounds for complexity measures related to subclasses of the class P of languages that can be decided by Turing machines in polynomial time. We consider non-uniform computational models like programs over monoids and branching programs. Our first contribution is an abstract, measure-independent treatment of Nečiporuk's method for proving lower bounds. This method still gives the best lower bounds known on measures such as the size of deterministic and non-deterministic branching programs or formulae with arbitrary binary Boolean operators; we give an abstract formulation of the method and use this framework to prove limits on the best lower bounds obtainable using this method for several complexity measures. We thereby confirm previously known limitation results in this slightly more general framework and showcase new limitation results for complexity measures to which Nečiporuk's method had never been applied. Our second contribution is a better understanding of the computational power of programs over monoids taken from small varieties of finite monoids. Programs over monoids were introduced in the late 1980s by Barrington and Thérien as a way to generalise recognition by morphisms so as to obtain a finite-semigroup-theoretic characterisation of NC 1 and its subclasses. Given a variety V of finite monoids, one considers the class P(V) of languages recognised by a sequence of polynomial-length programs over a monoid from V: as V ranges over all varieties of finite monoids, one obtains different subclasses of NC 1 , for instance AC 0 , ACC 0 and NC 1 when V respectively is the variety of all finite aperiodic, finite solvable and finite monoids. We introduce a new notion of tameness for varieties of finite monoids, strengthening a notion of Péladeau. The main interest of this notion is that when a variety V of finite monoids is tame, we have that P(V) does only contain regular languages that are quasi morphism-recognised by monoids from V. Many open questions about the internal structure of NC 1 would be settled by showing that some appropriate variety of finite monoids is tame, and, in this thesis, we modestly start an exhaustive study of which varieties of finite monoids are tame. More precisely, we focus on two well-known small varieties of finite aperiodic monoids: DA and J. On the one hand, we show that DA is tame using finite-semigroup-theoretic arguments. This allows us to derive an exact algebraic characterisation of the class of regular languages in P(DA). On the other hand, we show that J is not tame. To do this, we present a trick by which programs over monoids from J can recognise much more regular languages than only those that are quasi morphism-recognised by monoids from J. This brings us to conjecture an exact algebraic characterisation of the class of regular languages in P(J), and we lay out some partial results that support this conjecture. For each of the varieties DA and J, we also exhibit a program-lengthbased hierarchy within the class of languages recognised by programs over monoids from the variety, refining

  the base b logarithm function will be denoted by log b . Equivalence relations. Given an equivalence relation E ⊆ E × E on a set E, we will denote by [e] E = {e ∈ E | e E e } the equivalence class of e ∈ E relative to E and E/E = {[e] E | e ∈ E} the quotient of E by E (the set of equivalence classes in E relative to E).

2 .

 2 Let C be a complexity class. Then C/poly = c,k∈N C/(c + c • n k ).

  is at most the total number of Boolean functions on |V | variables (i.e. 2 2 |V | ) and the total number of assignments to n -|V | variables (i.e. 2 n-|V | ).

Lemma 2 .

 2 1.3. Let f : {0, 1} n → {0, 1} be a Boolean function. Let n ∈ N such that n > n and let f : {0, 1} n → {0, 1} be the Boolean function defined by f

Definition 2 .

 2 1.4. The Element Distinctness function ED N,m for m ≥ N is the Boolean function that takes as input n = N • log 2 m bits representing N integers in [m] (outputting 0 on illegal inputs) and outputs 1 iff all the N integers have distinct values. When n = 2k • 2 k , we write ED n for the function ED N,N 2 where N = 2 k .

Proposition 2 . 2 . 4 .

 224 The function on N >0 → N given by m → 1 2 log 2 m -1 is a simple Nečiporuk function for NBP and for ⊕BP.

Proof.

  We start by observing that the function on N >0 → N given by

Definition 2 .

 2 3.1. For a given complexity measure M on Boolean functions, Nečiporuk's lower bound method consists of the following. 1. Giving explicitly a non-decreasing function b : N >0 → N such that for any n ∈ N, for any n-ary Boolean function f and any partition V 1 , . . . , V p of [n], we have

Figure 2 . 1 -

 21 Figure 2.1 -LNBP δ (ISA k, ) upper bound, step Uses 2 k -1 states as per Lemma 2.4.2.1.

Figure 2 .

 2 Figure 2.3 -LNBP δ (ISA k, ) upper bound, step Uses 2 k times (2 -m-δ -1) states.

Figure 2 . 4 -

 24 Figure 2.4 -LNBP δ (ISA k, ) upper bound, step No state required.

Figure 2 . 5 -

 25 Figure 2.5 -LNBP δ (ISA k, ) upper bound, step Uses 2 -m-δ (2 δ -1) < 2 -m states.

Figure 2 .

 2 Figure 2.6 -LNBP δ (ISA k, ) upper bound, step Uses 2 -m (2 2 m -1) < 2 -m 2 2 m states.

Figure 2 .

 2 Figure 2.7 -LNBP δ (ISA k, ) upper bound, step No state required.

Figure 2 . 8 -

 28 Figure 2.8 -LNBP δ (ISA k, ) upper bound, step Uses 2 2 m (2 k -1) < 2 k 2 2 m states.

Figure 2 . 9 -

 29 Figure 2.9 -LNBP δ (ISA k, ) upper bound, step 9 Uses 2 2 m 2 k (2 m -1) < 2 k 2 m 2 2 m states.

Proposition 2 .

 2 5.3. There exists a constant c ∈ R >0 verifying that any b ∈ N NBP ∪N ⊕BP is such that b(m) ≤ c • b NBP,⊕BP (m) for all m ∈ N, m ≥ 4. Proof. Let g : [1, +∞[ → R ≥0 be the non-decreasing function defined by g(x) = 4 • 2

  Definition 3.1.3. A monoid is a pair (M, * ) where M is a set and * is an internal composition law on M such that: • * is associative: for all x, y, z ∈ M , (x * y) * z = x * (y * z); • * has a neutral element (also called identity element, or simply identity): there exists e ∈ M such that for all m ∈ M , e * m = m * e = m.

  Let (S, * ) and (T, ⊥) be two semigroups. If T ⊆ S and ⊥ = * | T , we say (T, ⊥) is a subsemigroup of (S, * ). Definition 3.1.13. Let (M, * ) and (N, ⊥) be two monoids. If N ⊆ M , ⊥ = * | N and 1 (M, * ) ∈ N , we say (N, ⊥) is a submonoid of (M, * ).

  where Σ and Γ are alphabets is a monoid morphism in C and g : T * → Λ * from (T * , •) to (Λ * , •) where T and Λ are alphabets is a monoid morphism verifying {|g(b)| | b ∈ T} = {|f (a)| | a ∈ Σ}, then g does also belong to C.

  Definition 3.1.23. Let ϕ : Σ * → M and ψ : Γ * → N be two stamps such that Σ and Γ are alphabets and (M, * ) and (N, ⊥) are, respectively, the associated finite monoids. • If Σ = Γ, we denote by ϕ × ψ the product of ϕ and ψ, the stamp η : Σ * → M such that (M , * ) is the submonoid of (M, * )×(N, ⊥) generated by {(ϕ(a), ψ(a)) | a ∈ Σ} and η(a) = (ϕ(a), ψ(a)) for all a ∈ Σ.

  Definition 3.1.25. Let D be a class of stamps. We will denote by D C the intersection of all C-varieties of stamps containing D, which is a C-variety of stamps, called the Cvariety of stamps generated by D. When D is a class of finite semigroups (monoids), we shall denote by D C the C-variety of stamps generated by the class of all stamps ϕ : Σ * → M from a free monoid (Σ * , •) to a finite monoid (M, * ) such that the finite semigroup (ϕ(Σ + ), * | ϕ(Σ + ) ) belongs to D ((M, * ) belongs to D).

Example 3. 2 . 2 .

 22 The language a * over {a, b} is recognised by the unique monoid morphism from ({a, b} * , •) to (Z/2 Z, ×) verifying ϕ(a) = 1 and ϕ(b) = 0, because a * = ϕ -1 (1). Example 3.2.3. The language a * (ba * ba * ) * over {a, b} is recognised by the unique monoid morphism from ({a, b} * , •) to (Z/2 Z, +) verifying ϕ(a) = 0 and ϕ(b) = 1, because a * (ba * ba * ) * = ϕ -1 (0). Example 3.2.4. The language w ∈ {a, b} * |w| a = |w| b over {a, b} is recognised by the unique monoid morphism from ({a, b} * , •) to (Z, +) verifying ϕ(a) = 1 and ϕ(b) = -1, because w ∈ {a, b} * |w| a = |w| b = ϕ -1 (Z \{0}).

  Definition 3.3.1 (Programs over monoids). Let Σ be an alphabet and (M, * ) be a finite monoid. A program over the monoid (M, * ) on Σ n (or (M, * )-program on Σ n ), for some n ∈ N, is a word P ∈ ([n] × M Σ ) * over the alphabet [n] × M Σ , each letter of P being an instruction. The length of P , denoted by |P | is the length of P as a word. If we let l = |P |, we have P

  Definition 3.3.11 (Program-reduction). Let Σ and Γ be two alphabets. A Γ-program on Σ n , for some n ∈ N, is a word Ψ ∈ ([n] × Γ Σ ) * over the alphabet [n] × Γ Σ , each letter of Ψ being an instruction. The length of Ψ, denoted by |Ψ| is the length of Ψ as a word. If we let l = |Ψ|, we have Ψ

  Now, since L(DA) is by definition closed under Boolean combinations, we have shown the following. Proposition 4.1.5. For all k ∈ N, any Boolean combination of languages in SUM k does belong to L(DA).

  m} and, for each m ∈ M , define the language L m = {u ∈ Γ * | s * ϕ(u) = m } over Γ. Let now m ∈ M . Since m R s and m < R s, we necessarily have that m < J m , otherwise we would have m R m by Lemma 3.1.20. This implies that the J-depth d J (m ) of m is smaller than the J-depth d J (m) of m. Hence, by inductive hypothesis for Γ, m , s and 1 (M, * ) , since Γ, m , s, 1 (M, * ) < Γ, m, s, t , we have that L m is a (possibly empty) union of language in SUM We shall now conclude the proof for the present case by showing that L = m ∈M L m , which is a (possibly empty) union of languages in SUM 2 f ( Γ,m,s,t ) -1 (Σ * ) by construction. Let w ∈ m ∈M L m . There must exist m ∈ M such that w ∈ L m . This means that s * ϕ(w) * t = m * t = m. Therefore, w ∈ L and since this is true for any w ∈ m ∈M L m , we have m ∈M L m ⊆ L. Now let w ∈ L. If we let m = s * ϕ(w), then, by what we have seen just above, we have m R s. Moreover, m * t = s * ϕ(w) * t = m by definition of L. This means that m ∈ M , so that w ∈ L m . Hence, since this is true for any w ∈ L, we have L ⊆ m ∈M L m .

  (yx) ω = f = t = ye = y(xy) ω , and then exe = (xy) ω x(xy) ω = x(yx) ω (xy) ω = xy(xy) ω (xy) ω = (xy) ω = e by aperiodicity, contradicting the fact exe = e. Or (yx) ω = f = e = (xy) ω , and then exe = (xy) ω x(xy) ω = (xy) ω x(yx) ω = (xy) ω x(yx) ω y(yx) ω = (xy) ω (xy) ω+1 (xy) ω = (xy) ω = e by aperiodicity and since f yf = f , contradicting the fact exe = e. Or (yx) ω = f = 1, and then y = f yf = f = 1. But e = (xy) ω = x ω , so exe = x ω xx ω = x ω = e, contradicting the fact exe = e. Therefore, µ(w) does not belong to {1, e, t}, contradicting the fact that w ∈ L, so this case cannot occur either. This means that, necessarily, α = ε, so that w ∈ (b + ab) * and since it is true for any w ∈ L, it follows that L ⊆ (b + ab) * . Combined with the fact that µ((b + ab) * ) = {1, e, t}, we can conclude that µ -1 ({1, e, t}) = L = (b + ab) * , showing (b + ab) * is recognised by µ verifying µ({a, b} + ) ⊆ S.

  Lemma 4.1.1, it follows from (M, * ) ∈ DA that being R-bad or L-bad only depends on the Ror L-class, respectively.

  For all k ∈ N, P DA, n k ⊂ P DA, n k+1 . More precisely, for all k ∈ N and d ∈ N, d ≤ max{k -1, 0}, P DA k , n d ⊂ P DA k , n d+1 .

  Let k ∈ N. Let (M, * ) ∈ DA k and Σ be an alphabet. Then there exists a constant c ∈ N >0 such that any program over (M, * ) on Σ n for n ∈ N is equivalent to a program over (M, * ) on Σ n of length at most c • n max{k,1} .

  Let Σ be an alphabet and (M, * ) a finite monoid.

  (a + b + c) * bc * b(a + b + c) * over the alphabet {a, b, c}, which is equal to the shuffle of the languages (a + b) * bb(a + b) * and c * over {a, b, c}.

Proposition 5. 2 . 3 .

 23 Let k ∈ N. Let (M, * ) ∈ J k and Σ be an alphabet. Then there exists a constant c ∈ N >0 such that any program over (M, * ) on Σ n for n ∈ N is equivalent to a program over (M, * ) on Σ n of length at most c • n k/2 .

  (a + b) * ac + ∈ P(J, n).Proof. Let Σ = {a, b, c}.

  The following SUMT over {a, b, c} a {b, c} * c b {a, b} * ∅ * {a, c} * is a decomposition of the SUM (b + c) * a(a + b) * bc(a + c) * over {a, b, c}.

  Example 5.4.4 gives an example of a straight right NSUMT over {a, b, c}. The following SUMT over {a, b, c} a {c} * a {a, b} * {c} * is a bent right NSUMT over {a, b, c}. It is a decomposition of the SUM c * a(a + b) * ac * over {a, b, c} and the only other SUMT over {a, b, c} decomposing it is this one a {c} * a {a, b} * {c} * , a bent left NSUMT over {a, b, c}. Finally, the following SUMT over {a, b, c} a {a, b} * b {b} * {c} * is a decomposition of the SUM (a+b) * ab * bc * over {a, b, c} that is not normalised. However, it can also be decomposed as the following straight left NSUMT over {a, b, c} b {c} * a {b} * {a, b} * .

Case 2 .

 2 Assume |u| ≥ 1. Let w ∈ uΣ * . Then it can be uniquely decomposed as w = uw where w ∈ Σ * . For all κ ∈ N >0 and ν 1 , . . . , ν κ

  The following straight right NSUMT over {a, b, c} a {b, c} * c b {a, b} * ∅ * {a, c} * has major weight 3 -2 = 1, minor weight 3 -0 = 3 and constraint level 0. Example 5.4.13. The following straight right NSUMT over {a, b, c} c {a, c} * a ∅ * b {a} * {a, b} * has major weight 3 -1 = 2, minor weight 3 -1 = 2 and constraint level 1. Example 5.4.14. The following straight right NSUMT over {a, b, c} a c {c} * ∅ * b ∅ * {a, b} * has major weight 3 -1 = 2, minor weight 3 -0 = 3 and constraint level 0.

(e 1

 1 * a * e 2 * b * e 1 ) * ,ω * (e 1 * c * e 2 * d * e 1 ) * ,ω =(e 1 * a * e 2 * b * e 1 ) * ,ω * e 1 * a * e 2 * d * e 1 * (e 1 * c * e 2 * d * e 1 ) * ,ω .

  Example 5.4.15. The SUM c * a(a + b) * over {a, b, c}, that can be decomposed as the following straight right NSUMT a {c} * {a, b} * , belongs to L(J * D) because

  The SUM c * a(a + b) * ac * over {a, b, c}, that can be decomposed as the following bent right NSUMT a {c} * a {a, b} * {c} * , belongs to L(J * D) because, if we denote by ψ 1 the Boolean combination of Zouave languages given for c * a(a + b) * in the previous example and by ψ 0= ψ R 1 one suited for (a + b) * ac * = c * a(a + b) * R , we have c * a(a + b) * ac * = [a] Σ,2 ∩ [a] Σ,2 * ψ 1 ∩ ψ 0 * [a] Σ,2 .However, the SUM c * a(a + b + c) * ac * over {a, b, c}, that can be decomposed as the following bent right NSUMT a {c} * a {a, b, c} * {c} * , does not belong to L(J * D) because otherwise, by virtue of the fact that L(J * D) is an ne-variety of languages, we would have that c * a(a + b + c) * = c * a(a + b + c) * ac * a -1 belongs to L(J * D), a contradiction to what we showed in the previous example. Example 5.4.17. The SUM (b + c) * a(a + b) * bc(a + c) * over {a, b, c}, that can be decomposed as the following straight right NSUMT a {b, c} * c b {a, b} * ∅ * {a, c} * , belongs to L(J * D) because(b + c) * a(a + b) * bc(a + c) * = [a, b, c] Σ,2 ∩ [a, c, b] Σ,2 ∩ [a, bc] Σ,2 .However, the SUM (b + c) * a(a + b) * bc(a + b + c) * over {a, b, c}, that can be decomposed as the following straight right NSUMT a {b, c} * c b {a, b} * ∅ * {a, b, c} * , does not belong to L(J * D) because, if we denote by ∼ its syntactic congruence and ω the idempotent power of its syntatic monoid, if it were the case we would have (c ω abcc ω acc ω ) ω ∼ (c ω acc ω abcc ω ) ω noting that while the first word belongs to (b + c) * a(a + b) * bc(a + b + c) * , the second one does not, a contradiction. Example 5.4.18. The SUM (a + c) * caa * b(a + b) * over {a, b, c}, that can be decomposed as the following straight right NSUMT c {a, c} * a ∅ * b {a} * {a, b} * , belongs to L(J * D) because (a + c) * caa * b(a + b) * = [cb] Σ,2 ∩ [c, a, b] Σ,2 ∩ [b, c] Σ,2 . However, the SUM (a+c+d) * ca(a+d) * b(a+b) * over {a, b, c, d}, that can be decomposed as the following straight right NSUMT c {a, c, d} * a ∅ * b {a, d} * {a, b} * ,

  major weight δ 3 , minor weight δ 4 and constraint level δ 5 .

  we would have a p = b by what we have just proven above, which is not possible as a p = c / ∈ A p . Or we would have that p + 1 < i q and in the unique decomposition of u according to T , the first occurrence of c would appear in the factor corresponding to the subtree of T corresponding toa p+1 A * p+1 • • • a iq-1 A * iq-1 . Because then a p+1 = • • • = a iq-1 = bby what we have proven just above, the first occurrence of c in that decomposition would in fact appear in a factor corresponding to one of the leaves labelled by A * p+1 , . . . , A * iq-1 respectively in T . But then there would• If ι corresponds to a position in the factor x of w, then ι = ι and since w ι+1 • • • w |w| ∈ A * k , we in particular have that all letters in x appearing after position ι, all letters appearing in α, β, y and hence γ belong to A k . Therefore,w ι +1 • • • w |w | ∈ A * k and as w 1 • • • w ι-1 = w 1 • • • w ι-1 ∈ L , we have that xα ω γβ ω y ∈ L.• If ι corresponds to a position in one of the factors α of w, then taking ω to be a big enough multiple of ω L verifying ω > j + 1, this position is in one of the j + 1 first factors α of w by minimality and we have ι = ι and, sincew ι+1 • • • w |w| ∈ A * k, that all letters appearing in α, β, y and hence γ belong to A k . Therefore,w ι +1 • • • w |w | ∈ A * k and as w 1 • • • w ι-1 = w 1 • • • w ι-1 ∈ L , we have that xα ω γβ ω y ∈ L.• If ι corresponds to a position in one of the factors β of w, then taking ω to be a big enough multiple of ω L verifying ω > j + 1, ι corresponds to a position in the factor ve of γ of w or one of the factors β of w by minimality (otherwise, the minimality condition would be violated as ι would correspond to a position in one of the factors α of w). The position given by ι must be in one of the j + 1 first factors β of w by minimality, so we moreover have, sincew ι+1 • • • w |w| ∈ A * k, that all letters appearing in β, y and hence in ve belong to A k .Let q ∈ [j + 1] be the smallest integer in [j + 1] such that xα ω does not contain a i 1 • • • a iq as a subword. Let now δ 0 ∈ [[0, |w| ]] be the minimum integer in[|w|] such that w 1 • • • w δ 0 contains a i 1 • • • a i q-1as a subword or 0 if q -1 = 0, andδ 0 ∈ [[0, |w | ]] the minimum integer in [|w |] such that w 1 • • • w δ 0 contains a i 1 • • • a i q-1as a subword or 0 if q -1 = 0. Similarly, let δ 1 ∈ [|w|] be the minimum integer in[|w|] such that w 1 • • • w δ 1 contains a i 1 • • • a iq as a subword, and δ 1 ∈ [|w |] the minimum integer in [|w |] such that w 1 • • • w δ 1

2 .

 2 showing that xα ω belongs to A * 0 a 1 A * 1 • • • a p A * p ; 3. concluding that xα ω (e e f e e ) ω a iq • • • a k-1 belongs to L by the equational characterisation of J * D and showing that this means there exists some σ ∈ [[δ 0 + 1, δ 1 -i q + p]] verifying that σ + 1 corresponds to a position in the factor f of γ of w and that w1 • • • w σ belongs to A * 0 a 1 A * 1 • • • a p A * p ; 4. showing that w σ+1 • • • w δ 1 -1 belongs to A * p a p+1 A * p+1 • • • a iq-1 A * iq-1

3 .

 3 Since η L (e ) and η L (f ) are idempotents and ω is a multiple of ω L , we have (e sf te ) ω (e e f e e ) ω ∼ L (e sf te ) ω e sf e e (e e f e e ) ω by hypothesis, using the equational characterisation of J * D. Obviously, x(e sf te ) ω (e e f e e ) ω a iq • • • a k-1 = xα ω (e e f e e ) ω a iq • • • a k-1 ∈ L by the simple fact that all letters of both e and f are in A p (because they are in A k and are different from a iq by definition of q) and, when p + 1 < i q , a p+1 , . . . , a iq-1 are equal to the sole letter b in e and f . We thus have z = xα ω e sf e e (e e f e e ) ω a iq • • • a k-1 ∈ L . Let z = u 0 a 1 u 1 a 2 • • • u k-1 a k u k where u λ ∈ A * λ for all λ ∈ [

η

  L (e ) and η L (f ) are idempotents and ω is a multiple of ω L , we have (e sf te ) ω (e uf ve ) ω ∼ L (e sf te ) ω e sf ve (e uf ve ) ω by hypothesis, using the equational characterisation of J * D. So asw 1 • • • w ι-1 = xα ω β ω y 1 • • • y κ-1 ∈ L , we have w 1 • • • w ι -1 = xα ω γβ ω y 1 • • • y κ-1 ∈ L . Therefore, as w ι +1 • • • w |w | = y κ+1 • • • y |y| = w ι+1 • • • w |w| ∈ A * k , we have that xα ω γβ ω y ∈ L.Let x, y ∈ Σ * such that xα ω γβ ω y ∈ L. In a way similar to above, we can show that then, xα ω β ω y ∈ L.

  Corollary 5.4.23.Let A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k (k ∈ N, k ≥ 2) be a SUM over a finite alphabet Σ in L(J * D) and

  a SUM over Σ of degree k. Let us take some p ∈ [[0, k]] verifying A p ∩ A i = ∅ for all i ∈ [[p + 1, k]] and a p ∈ A p when p > 0. Let us finally consider T some NSUMT over Σ that is a decomposition of L. We consider four different cases, one for each of the possible shapes of T .Case 1. T is a bent right NSUMT of the form left NSUMT. By Lemma 5.4.22,L(∆ 0 ) = A * 0 a 1 A * 1 a 2 • • • A * p -1 a p A * p and L(∆ 1 ) = A * p a p +1 A * p +1 a p +2 • • • A * k-1 a k A * k both belong to L(J * D). Now, if p ≤ p , it is easily seen that, by inductive hypothesis, A * 0 a 1 • • • A * p-1 a p a p+1 A * p+1 • • • a p A * pdoes also belong to L(J * D) and if p ≥ p , it is as easily seen that, by inductive hypothesis,

  a iq , b] Σ , where we write b/ ∈ A k instead of b ∈ Σ \ A k . As L(J * D) is an ne-variety of languages and A * 0 a 1 A * 1 a 2 • • • A * k-1 a k A * k as well as the languages [a i 1 , . . . , a iq , b] Σ for any b / ∈ A k belong to it, A * 0 a 1 • • • A * iq-1 a iq (A iq ∩ A k ) * • • • a k-1 (A k-1 ∩ A k ) * a k A *k does also belong to it.

Introduction 1 1 Languages and computation 9

  Alphabets, words and languages . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3 Models of computation and complexity classes . . . . . . . . . . . . . . . . 13 1.3.1 Turing machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.2 Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3.3 Branching programs . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4 The great quest: on the relationship between time and space and the power of non-determinism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finding small breaches in the walls, or how the field did evolve . . 21 v 1.4.3 This thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1 Some mathematical conventions . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 . . 19 1.4.1 Facing walls, or the embarrassing state of affairs in computational complexity theory . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.2

2 The Nečiporuk method and its limitations 2

  .1 Specific preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Boolean functions and subfunctions . . . . . . . . . . . . . . . . . . 2.1.2 Hard functions: Indirect Storage Access functions and Element Distinctness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Computational models . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Non-deterministic Branching Program Lower Bounds via Shannon Bounds 2.3 An abstract formulation of Nečiporuk's method . . . . . . . . . . . . . . . 2.3.1 Meta-results on Nečiporuk's method . . . . . . . . . . . . . . . . . 2.4 Upper Bounds for the Computation of ISA k, . . . . . . . . . . . . . . . . . 2.5 Non-deterministic and Parity Branching Programs revisited . . . . . . . . 2.6 Deterministic and Limited Non-deterministic Branching Programs . . . . . 2.7 Deterministic and Limited Non-deterministic Formulae . . . . . . . . . . . 2.8 Final insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Algebraic automata theory and computational complexity theory 3

  .1 Finite semigroup theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition by morphisms . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Regular languages and morphisms . . . . . . . . . . . . . . . . . . 3.2.2 Varieties of languages . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Wreath product principle . . . . . . . . . . . . . . . . . . . . . . . 3.3 Recognition by programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Definition and challenges . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Some general properties of programs . . . . . . . . . . . . . . . . . 3.4 Regular languages and programs . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 First results and importance of regular languages in the realm of programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Tame varieties of finite monoids . . . . . . . . . . . . . . . . . . . .

	vi

3.1.1 Basic definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Varieties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Idempotents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Green's relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Some first links with formal language theory . . . . . . . . . . . . . 3.1.6 C-varieties of stamps . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2

Corollary 2.2.7. For

  all n, s ∈ N, n ≥ 2 log 2 ( s 3 ) , N sem (n, s), ⊕ sem (n, s) > 2

				s 2 36 .
	Proof. Clearly N sem (n, s) is non-decreasing in n, so it suffices to prove the corollary for
	n = 2 log 2 ( s 3 ) . Then 3 • 2	n 2 ≤ s < 6 • 2	n 2 . There are precisely 2 2 n > 2	s 2 36 different Boolean
	functions on n inputs and, by Lemma 2.2.6, each may be computed by an NBP or ⊕BP
	of size at most s.

Theorem 2.2.8. Let F = {f n } n∈N be a family of Boolean functions. Let L : N → N be such that for each n ∈ N, the lower bound L(n) for NBP(f n ) or ⊕BP(f n ) has been obtained using the simple Nečiporuk lower bound method

  . Then, L(n) ∈ O n 3/2 log n . Proof. Let F = {f n } n∈Nbe a family of Boolean functions, where for each n ∈ N, f n depends on all the variables in

  non-empty and s i > |V i |, we have s i > 1. But as all four Boolean functions on one variable can be computed by an NBP of size 1, we have N sem (|V i | , 1) ≥ 4, so that we must have r V i (f ) > 4. We now have two cases depending on|V i |. If |V i | < log 2 log 2 r V i (f ) + 3 then,

	by Lemma 2.2.6, since NBPs of size 3 • 2	V i 2

Lemma 2.4.2. Let

  v 1 , . . . , v k , y 1 , . . . , y k , z 1 , . . . , z 2 k be Boolean variables, k ≥ 1. , . . . , z 2 k and, for every i ∈ [k], with 2 i leaves v i or ¬v i can compute z bin k (v 1 ,...,v k )+1 .

	1. A size 2 k -1 deterministic branching program can "read" v 1 , . . . , v k and route the
	2 k possible outcomes to 2 k distinct arcs;
	2. A size 3k deterministic branching program can test whether v i = y i holds for every
	i ∈ [k];
	3. A size 2 k+1 -2 deterministic branching program with 2 k distinguished states s w for
	w ∈ {0, 1} k can ascertain that (v 1 , . . . , v k ) = w, i.e., has the property that for each
	w, a computation started at s w accepts iff (v 1 , . . . , v k ) = w;
	4. A size 4k formula can test whether v i = y i holds for every i ∈ [k];
	5. A formula with leaves z 1

  sec /2 , w ] = 1 then guess the bits a 1 , . . . , a k of the primary pointer p ∈ [2 k ] and branch to the state (bin k (a 1 , . . . , a k ) + 1, s w ).

	• Ascertain that p was guessed correctly.
	(Apply Lemma 2.4.2.3, to the 2 k distinguished states p , to ascertain that (a 1 , . . . , a k )
	= (a 1 , . . . , a k ).)
	The first stage uses 2 k+ /2 -1 states by Lemma 2.4.2.1. The second stage needs the 2
	states s (w,w ) . The fourth stage uses 2 k times 2 /2 +1 -2 states by Lemma 2.4.2.3 (and also
	includes the 2 k+ /2 states (p , s w )). The last stage uses 2 k+1 -2 states by Lemma 2.4.2.3
	for a total < 2 k
	(For every w ∈ {0, 1} /2 and w ∈ {0, 1} /2 , the state s (w,w ) queries Data[w, w ]
	and connects via an arc labelled 1 to every state (p , s w ), p ∈ [2 k ].)
	• Ascertain that w was guessed correctly.
	(For each p ∈ [2 k ] separately, apply Lemma 2.4.2.3 to the distinguished states
	(p , s w ), w ∈ {0, 1} /2 , to ascertain that a computation from (p , s w ) reaches the
	state p iff (sec[p ] /2 +1 , . . . , sec[p ] ) = w .)

  ∈ [2 k ], a formula V p of size 4δ can be constructed that evaluates to 1 iff (sec[p] m+1 , . . . , sec[p] ) = (x n+1 , . . . , x n+δ ). The formula V can then be constructed using Lemma 2.4.2.5, taking z 1 , . . . , z 2

	.9)
	By Lemma 2.4.2.4, for every p

we can prove the following. Proposition 2.5.1. b NBP,⊕BP is a Nečiporuk bounding function for the NBP (respect- ively

  , ⊕BP) size complexity measure; i.e., b NBP,⊕BP ∈ N NBP , N ⊕BP .

		2.1 and Proposi-
	tion 2.2.4, Combining this with Lemmata 2.1.6 and 2.1.9, we can immediately derive asymptotic
	lower bounds on NBP(ED n ), NBP(ISA n ), ⊕BP(ED n ) and ⊕BP(ISA n ) using Nečipo-
	ruk's method and hence on N NBP ED , N NBP ISA , N ⊕BP ED	and N ⊕BP ISA .
	Proposition 2.5.2. NBP(ED n ), NBP(ISA n ), ⊕BP(ED n ), ⊕BP(ISA n ) ∈ Ω n 3/2 log n and
	hence we have that N NBP ED

  • • • A * iq-1 a iq A * k and whose right branch contains only full edges, by Lemma 5.4.7, we get a straight right NSUMT Γ 1 over Σ that is a decomposition of A * r a r+1 • • • A * iq-1 a iq A * k . Therefore, as by hypothesis we have a r / ∈ A ι for all ι ∈ [[r, k]] and a r / ∈ {a r+1 , . . . , a k }, we get that is a straight left NSUMT over Σ that is a decomposition of L . By inductive hypothesis, we also directly have that the Boolean combination ϕ(A * k ) of Zouave languages is both left-and right-convenient and verifies L(ϕ(A * k

	a r
	Γ 0	Γ 1

  Tesson and Thérien's results on the polynomial-length property for monoids from those varieties.

Université Paris-Saclay Espace Technologique / Immeuble Discovery Route de l'Orme aux Merisiers RD 128 / 91190 Saint-Aubin, France Université de Montréal 2900, boul. Édouard-Montpetit Montréal (Québec) H3T 1J4, Canada

If we consider theoretical computer science as being a branch of mathematics.

Note that there are somewhat tighter but more complicated upper bounds of

n/2+1 for NBP due to[START_REF] Lupanov | A method of circuit synthesis[END_REF] and a tight asymptotic upper bound of 2 (n+1)/2 for ⊕BP due to Nečiporuk[START_REF] Nečiporuk | On the complexity of schemes in some bases containing nontrivial elements with zero weights[END_REF], respectively; see[START_REF] Jukna | Boolean Function Complexity -Advances and Frontiers[END_REF].

.

The notion of a solvable group will only be mentioned once more in this thesis, further in this chapter. The definition can be found in standard group theory books.

We provide full proofs in this subsection, because our statements are different from those in[START_REF] Chaubard | Actions, wreath products of C-varieties and concatenation product[END_REF], where this more general principle is stated, but without proofs.

Except TC 0 , defined using circuits having arbitrary fan-in threshold gates, in addition to NOT and arbitrary fan-in AND and OR gates -although see[START_REF] Krebs | Characterizing TC 0 in terms of infinite groups[END_REF] for such a characterisation using the notion of finitely typed infinite monoids we briefly talked about in the beginning of this section.

"Small" is not well defined here and just means, informally, that those varieties are quite restricted, e.g. well within A, at the bottom of the infinite hierarchy of varieties of finite monoids it contains.

The way quasi-aperiodicity of some stamp η : Σ * → M from the free monoid (Σ * , •) generated by an alphabet Σ to some finite monoid (M, * ) is defined in[START_REF] Barrington | Regular languages in NC 1[END_REF] is as follows: for each t ∈ N, η(Σ t ) contains no set S such that (S, * | S ) 1 is a non-aperiodic monoid. The class of all stamps verifying this condition happens to be equal to QA, but it seems like, in general, it is not necessarily the case that the class of all stamps η : Σ * → M verifying that for each t ∈ N, η(Σ t ) contains no set S such that (S, * | S ) 1 does not belong to V is equal to QV. In fact, this first class does not even seem to always be an lm-varieties of stamps. The standard definition of quasi-V stamps we use in this thesis was apparently introduced by Straubing in[START_REF] Straubing | On logical descriptions of regular languages[END_REF], about 10 years after the publication ofBarrington et al.'s article.

Is is, in fact, included in the lowest levels of the so-called dot-depth hierarchy inside A (see[START_REF] Pin | The dot-depth hierarchy, 45 years later[END_REF]).

f ( Γ,m ,s,1 (M, * ) ) -1 (Σ * ) ⊆ SUM 2 f ( Γ,m,s,t ) -1 (Σ * ),and this is true for any m ∈ M .

To be entirely rigorous, this is not exactly what they proved; to get precisely this, we need to appeal to results of Straubing in[START_REF] Straubing | Finite semigroup varieties of the form V * D[END_REF] identifying J * D as the variety of finite semigroups generated by the syntactic semigroups of dot-depth one languages.

In honour of the Zouave statue of the Alma bridge in Paris, whose feet are a well-known popular threshold for the height of the river Seine such that, once reached, usually implies trouble for Parisians.

Remerciements

List of Acronyms and Abbreviations

e.g. Finally, we get the desired characterisation.

Theorem 4.1.9. For any alphabet Σ, a language L belongs to L(DA)(Σ * ) if and only if there exists k ∈ N such that L is a Boolean combination of languages in SUM k (Σ * ).

A parameterisation of DA

For each k ∈ N, we denote by SUL k the class of regular languages that are Boolean combinations of languages in SUM k ; it is a variety of languages as shown just below. For each k ∈ N, we denote by DA k the variety of finite monoids generated by the syntactic monoids of the languages in SUL k ; by Eilenberg's theorem (Theorem 3.2.10), we have that L(DA k ), the variety of languages whose syntactic monoid belongs to DA k , is exactly SUL k .

We emphasise the fact that we cannot restrict SUL k for k ∈ N to be the class of regular languages that are unions of languages in SUM k , because then, while b * aa * , b * ba * ∈ SUL 1 ({a, b} * ), we would have b * aa * ∩ b * ba * = b * baa * / ∈ SUL 1 ({a, b} * ), therefore SUL 1 wouldn't be a variety of languages.

Let us now show the following.

Proposition 4.1.10. For all k ∈ N, SUL k is a variety of languages.

Closure under Boolean operations and trivial languages containment is obvious by construction. Closure under quotients and inverses of monoid morphisms is respectively given by the following two lemmata and by the fact that both quotients and inverses of monoid morphisms commute with Boolean operations. Lemma 4.1.11. For all k ∈ N, for all L ∈ SUM k (Σ * ) where Σ is some alphabet and u ∈ Σ * , u -1 L and Lu -1 both are unions of languages in SUM k (Σ * ).

Proof. We prove it by induction on k.

Base case k = 0. Let L ∈ SUM 0 (Σ * ) where Σ is some alphabet and u ∈ Σ * . This means that L = A * for some A ⊆ Σ. We have two cases: either alph(u) A and then u -1 L = Lu -1 = ∅; or alph(u) ⊆ A and then u -1 L = Lu -1 = A * = L. So u -1 L and Lu -1 both are unions of languages in SUM 0 (Σ * ). The base case is hence proved.

Inductive step. Let k ∈ N >0 and assume that the lemma is true for all k ∈ N, k < k.

Let L ∈ SUM k (Σ * ) where Σ is some alphabet and u ∈ Σ * . This means that either L is in SUM k-1 (Σ * ) and hence u -1 L and Lu -1 both are unions of languages in SUM k (Σ * ) by monoids do not belong to DA.

Tameness of DA

The main result of this chapter is that DA is tame.

Theorem 4.2.1. DA is an sp-variety of finite monoids.

Combined with the fact that DA is local [START_REF] Almeida | A syntactical proof of locality of DA[END_REF], we obtain the following result by Proposition 3.4.9.

Theorem 4.2.2. P(DA) ∩ Reg = L(QDA).

We devote the rest of this section to proving Theorem 4.2.1. The result follows from the following main technical contribution. Before proving the proposition we first show that it implies that DA is an sp-variety of finite monoids. This implication is a consequence of the following lemma, which is a result inspired by an observation in [START_REF] Tesson | Diamonds are forever: the variety DA. Semigroups, algorithms[END_REF] stating that non-membership of a given finite monoid (M, * ) in DA implies non-aperiodicity of (M, * ) or division of it by (at least) one of two specific finite monoids. Lemma 4.2.4. Let (S, * ) be a finite semigroup such that (S, * ) 1 / ∈ DA. Then, one of (c+ab) * , (b+ab) * or b * ((ab * ) k ) * for some k ∈ N, k ≥ 2 is recognised by a monoid morphism µ : Σ * → S 1 from the appropriate free monoid (Σ * , •) to (S, * ) 1 such that µ(Σ + ) ⊆ S.

Proof. Let ω ∈ N >0 be the idempotent power of (S, * ) 1 . Aperiodic case. Assume first that (S, * ) 1 is aperiodic. Then, since (S, * ) 1 / ∈ DA, there exist x, y in S such that (xy) ω = (xy) ω x(xy) ω .

Set e = (xy) ω , f = (yx) ω , s = ex and t = ye. Our hypothesis says that exe = e. We now have two cases, depending on whether f yf = f or not.

Subcase f yf = f . Suppose f yf = f . In that case, let µ : {a, b, c} * → S 1 be the monoid morphism from the free monoid ({a, b, c} * , •) to (S, * ) 1 sending a to s, b to t and c to e and consider the language L = µ -1 ({1, e}). We are now going to show that no word of L can contain aa, bb, ac or cb as a factor.

If not this shows that there is an instruction (p j , f j ) with j ∈ [i -1], j ∈ I , p j = p i and f j (w p j ) = γ. But that would contradict the fact that γ cannot occur in K 1 .

Therefore, ξ P (w)

Base case. There are two subcases to consider.

Subcase k = 1. Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some language K in SUM 1 (M * ) \ SUM 0 (M * ).

We only treat the case where γ does not belong to A 1 , the other case is treated similarly by symmetry.

We use the same idea as in the inductive step.

Observe that when n = 0, we necessarily have P = ε, so that the lemma is trivially proven in that case. So we now assume n > 0.

For each p ∈ [n], each α ∈ M and a ∈ Σ consider within the sequence of instructions of P the first and last instruction of the form (p, f ) with f (a) = α, if they exist. We let I be the set of indices of these instructions for all a, α and p. Notice that the size of

We claim that Q = P [I], a subprogram of P , has the desired properties. We just showed it has at most the required length.

Let Q be a subprogram of P that has Q as a subprogram: it means that there exists some set

Take w ∈ Σ n . Assume now that ξ P (w) ∈ K. Let i be the position in ξ P (w) of label γ witnessing the membership in K. Let (p i , f i ) be the corresponding instruction of P . In particular we have that f i (w p i ) = γ and this is the γ witnessing the membership in [i+1,l]]] (w) ∈ K. Assume finally that ξ P [I ] (w) ∈ K. Let i be the index in I whose instruction provides the letter γ witnessing the fact that ξ P [I ] (w) ∈ K. This means that ξ

If there is an instruction (p j , f j ), with j ∈ [i-1] and f j (w p j ) / ∈ A 1 then either j ∈ I and we get a direct contradiction with the fact that ξ

or j / ∈ I and we get a smaller j ∈ I ⊆ I with the same property, contradicting again the fact that ξ P

Hence, for all j ∈ [i -1], f j (w p j ) ∈ A 1 . By symmetry we have that for all j ∈

Subcase k = 0. Let P be a program over (M, * ) on Σ n for n ∈ N of length l ∈ N and some language K in SUM 0 (M * ).

Then K = A * for some alphabet A ⊆ M . We again use the same idea as before.

Observe that when n = 0, we necessarily have P = ε, so that the lemma is trivially proven in that case. So we now assume n > 0.

For each p ∈ [n], each α ∈ M and a ∈ Σ consider within the sequence of instructions of P the first instruction of the form (p, f ) with f (a) = α, if it exists. We let I be the set of indices of these instructions for all a, α and p. Notice that the size of I is at most

We claim that Q = P [I], a subprogram of P , has the desired properties. We just showed it has at most the required length.

Let Q be a subprogram of P that has Q as a subprogram: it means that there exists some set

Take w ∈ Σ n . Assume now that ξ P (w) ∈ K. As ξ P [I ] (w) is a subword of ξ P (w), it follows directly that ξ P [I ] (w) ∈ A * = K.

Assume finally that ξ P [I ] (w) ∈ K. If there is an instruction (p j , f j ), with j ∈ [l] and f j (w p j ) / ∈ A then either j ∈ I and we get a direct contradiction with the fact that ξ P [I ] (w) ∈ A * = K, or j / ∈ I and we get a smaller j ∈ I ⊆ I with the same property, contradicting again the fact that ξ P

• n (k-2)/2 since k ≥ 3, so that P [I] has at most the required length.

Let Q be a subprogram of P that has Q as a subprogram: it means that there exists some set

Take w ∈ Σ n . Assume now that t is a subword of ξ P (w). It means that there exist r 1 , r 2 , . . . ,

• If m j < k and r m j = i j , then f i j (w p i j ) = f rm j (w pr m j ) = t m j and i j = r m j < r m j +1 < • • • < r M j < i j+1 , so t (m j +1,M j ) is a subword of ξ P [i j +1,i j+1 -1] (w). This implies, directly when m j = M j or by induction otherwise, that for any set J ⊆

• Otherwise, when

Therefore, using the convention that i 0 = 0 and i s+1 = l + 1, if we set, for each j ∈ [[0, s]], I j = {e -i j | e ∈ I , i j < e < i j+1 } as the subset of I of elements strictly between i j and be the language of all words over Σ having ca as a subword but not the subwords cca, caa and cb, that by construction is piecewise testable, i.e. belongs to L(J).

We are now going to build a program-reduction from

a word easily seen to belong to L =2n-2 . Since this is true for all w ∈ ((a + b) * ac + ) =n , it follows that ((a + b) n) ). Since this means that Ψ n (w) ∈ L =s(n) , we necessarily have n ≥ 2 as it must contain ca as a subword, so that

verifying that w i = c, w j = a and w i w j is a subword of Ψ n (w). This means that j ≥ i -1, and we will now show that, actually, j = i -1. Assume that j ≥ i + 2; by construction, this would mean that w i w j w j = caa is a subword of Ψ n (w), a contradiction to the fact it belongs to L. Assume otherwise that j = i + 1; by construction, this would either mean that w i w i-1 w i+1 w i is a subword of Ψ n (w), which would imply one of caa, cba and cca is a subword of Ψ n (w), or that w i+1 w i w i+2 w i+1 is a subword of Ψ n (w), which would imply one of caa, cba and cca is a subword of Ψ n (w), in both cases contradicting the fact Ψ n (w) belongs to L. Hence, we indeed have j = i -1, and in particular that i ≥ 2. Now, by construction, for each t ∈ [i -2], we have that w t w i w i-1 = w t ca is a subword of Ψ n (w) ∈ L, so that w t cannot be equal to c. Similarly, for each t ∈ [[i + 1, n]], we have that and hence x(uv

letters appear in the factor (uv) ω , so that we have

Symmetrically, we can prove that if (uv) ω y belongs to [u i 2 , . . . , u k ] Σ,l , then (uv) l• u i 2 y does also belong to it. We now distinguish between three different cases.

• x(uv

. By what we have shown just above, this means that x(uv) ω does not belong to [u 1 , . . . , u i 1 ] Σ,l either. Since w ∈ L, this necessarily means that κ 2 > 1 and that there exists

• (uv) l• u i 2 y does not belong to [u i 2 , . . . , u k ] Σ,l . Symmetrically to the previous case, we can show that w ∈ L.

we have that alph(u i ) ⊆ alph(uv). Indeed, assume there would exist i ∈ [[i 1 + 1, i 2 -1]] such that alph(u i ) alph(uv); this would mean that at least one letter of u i does appear in x or y but not in uv. So this would imply that either there exists κ ∈

Thus, putting all together, we get that w = x(uv) ω u(uv) ω y ∈ L.

Therefore, in any case we have x(uv) ω u(uv) ω y ∈ L.

Thus, we can show that, in fact, if we let

So by Lemma 5.4.11, if we let

otherwise (p q = 0 and L can't be decomposed as T ) ,

we have that

is the desired Boolean combination of Zouave languages.

Subcase 2. Assume there exists some q ∈ [j + 1] and some p ∈ [[p q + 1, i q ]] such that

where the edges between the nodes labelled a i 2 to a i j are all full, using the convention that Λ is simply the root A * k when j = 0. By Corollary 5.4.21 (because ∆ 0 can be replaced by ∆ 0 in T ), we get that both L(Λ) and L(Θ 0 ) also belong to L(J * D). Since Λ is a straight right NSUMT, Θ 0 is a straight left NSUMT and L(Λ) and L(Θ 0 ) both are SUMs over Σ of respective degrees less than k, by inductive hypothesis, the Boolean combination ϕ(Λ) of Zouave languages is right-convenient and verifies L(ϕ(Λ)) = L(Λ), and the Boolean combination ϕ(Θ 0 ) of Zouave languages is leftconvenient and verifies L(ϕ(Θ 0 )) = L(Θ 0 ). Note that as p ∈

, we can define another SUMT T that is a decomposition of L in the following way: Therefore, by Lemma 5.4.11,

is the desired Boolean combination of Zouave languages.

Subcase 3. Assume now that for all q ∈ [j + 1], there exists ι ∈

Denote by ( ) this condition, which is the negation of the disjunction of the conditions for the two first cases.

Let q ∈ [j + 1] be the biggest integer in [j + 1] such that p q > i q-1 or A pq A k , 1 if it does no exist. When q = j + 1, by condition ( ), since there does not exist any

• Assume q = j + 1. Because q < q , we have p j+1 = i j and A p j+1 ⊆ A k by maximality of q. By definition of p j+1 , this entails

Additionally, by condition ( ), we necessarily have {a p j+1 +1 , . . . , a i j+1 } = {a i j +1 , . . . , a k } ⊆ A k .

• Assume q < j + 1. Because q < q , we have p q = i q -1 and A p q ⊆ A k by maximality of q. By definition of p q , this entails

Additionally, by condition ( ), since there does not exist any ι ∈ [[i q , k -1]] such that A ι A k and {a i q +1 , . . . , a k } ⊆ A k (by induction), we necessarily have {a p q +1 , . . . , a i q } ∪ {a i q +1 , . . . , a k } = {a i q -1 +1 , . . . , a k } ⊆ A k .

Hence A ι ⊆ A k for all ι ∈ [[i q , k -1]] and {a iq+1 , . . . , a k } ⊆ A k , so that we necessarily have {a pq+1 , . . . , a iq } ∪ {a iq+1 , . . . , a k } = {a pq+1 , . . . , a k } ⊆ A k and (A pq = ∅ or A pq ∩ A k = ∅) by condition ( ). When A pq ∩ A k = ∅, Lemma 5.4.22 tells us that: when 0 < k -1, we have A k ⊆ {d, a k } and hence

When 0 < k -1 and L can also be decomposed as a straight left NSUMT, then it necessarily means that a k / ∈ A k and that its root is this last letter of the monomial, because

We can then show that, if we let

when 0 < k -1 and L can't be decomposed as a straight left NSUMT

So, by Lemma 5.4.11 and since, when

when 0 < k -1 and L can't be decomposed as a straight left NSUMT

we have that

Let w ∈ L. This means there exists a unique decomposition

Thus, we can show that, in fact, we have

So by Lemma 5.4.11, observing that

Assume that the red edge is dashed while the blue one is full. We have that for any w

As L(J * D) is an ne-variety of languages and both L and (Σ \ {a i }) * belong to it (by virtue of Lemma 5.4.19), L(∆ 0 ) and L(∆ 1 ) do also belong to it.

When the red edge is full and the blue one is dashed, everything goes through in the symmetric way.

Corollary 5.4.21. Let L be a SUM over an alphabet Σ in L(J * D) and T a SUMT over Σ that is a decomposition of it. Then, for any SUMT ∆ over Σ that is a subtree of T , L(∆) is also a SUM over Σ in L(J * D).

Proof sketch. Given a non-empty subtree ∆ of T (that is a SUMT over Σ), simply apply Lemma 5.4.20 repeatedly following the unique path from the root ot T to the root of ∆.

The fundamental lemma used in the proof of Proposition 5.4.2, intuitively presented at the end of Subsection 5.4.1, exactly characterises, given a SUM and an NSUMT that is a decomposition of it, what conditions this NSUMT should verify so as for the SUM to belong to L(J * D). We now state it formally and eventually prove it.

Lemma 5.4.22. Let

and only if:

• T only consists of a root;

• when T is a straight right NSUMT of the form and

We also let L 0 = L(∆ 0 ) and L 1 = L(∆ 1 ). Our goal now is to prove that L ∈ L(J * D) if and only if L 0 , L 1 ∈ L(J * D).

Suppose first that L ∈ L(J * D). We have that for any w ∈ Σ * , w ∈ L 0 if and only if

As L(J * D) is an ne-variety of languages and L belongs to it, L 0 and L 1 do also belong to it.

Suppose now that L 0 , L 1 ∈ L(J * D). We shall prove that L belongs to L(J * D) using the equational characterisation of J * D. Let η L , η L 0 and η L 1 be the syntactic morphisms of L, L 0 and L 1 respectively and ∼ L , ∼ L 0 and ∼ L 1 the syntactic congruences of L, L 0 and L 1 respectively. Let ω L , ω L 0 and ω L 1 be the idempotent powers of M(L), M(L 0 ) and M(L 1 ) respectively (which are the syntactic monoids of L, L 0 and L 1 respectively). Let e, s, f, t, u, v ∈ Σ + such that η L (e) and η L (f ) are idempotents. Then

where ω ∈ N >0 is any multiple of both ω L 0 and ω L 1 . We shall fix ω more precisely later on. We set ω = ω L ω , e = e ω and f = f ω . Note that then, η L 0 (e ) and η L 0 (f ) as well as η L 1 (e ) and η L 1 (f ) are idempotents and ω is a multiple of both ω L 0 and ω L 1 . Let

Therefore, all conditions listed in the lemma's statement are verified.

Sufficiency of the conditions. Now suppose that L ∈ L(J * D) and for all p ∈ [[0, k -1]], using the convention that i 0 = 0 and i j+1 = k, A p ∩ A k = ∅ implies that {a p+1 , . . . , a k } A k or, if we take q ∈ [j + 1] to be the unique integer in [j + 1] verifying i q-1 ≤ p < i q , the following conditions are verified:

We shall prove that L belongs to L(J * D) using the equational characterisation of J * D. Let e, s, f, t, u, v ∈ Σ + such that η L (e) and η L (f ) are idempotents. Then

where ω ∈ N >0 is any multiple of ω L . We shall fix ω more precisely later on.

We set ω = ω L ω , e = e ω and f = f ω . Let α, β, γ ∈ Σ + such that α = e sf te , β = e uf ve and γ = e sf ve . We are now going to prove that α ω β ω ∼ L α ω γβ ω . Let x, y ∈ Σ * such that w = xα ω β ω y ∈ L. We also let w = xα ω γβ ω y; we want to prove that w does also belong to L. We do this, as before in the present proof, through a careful analysis of how w and w can be decomposed according to

as a subword. We now distinguish between four different cases; one of them is really tricky.

where ∆ j is a straight left NSUMT not restricted to a sole root, which means the former is a bent right NSUMT. Hence, by Lemma 5.4.22 again, we have, too, that

We then just have to apply Lemma 5.4.22 repeatedly in that way to prove the lemma for all q ∈ [j].

The next lemma in turn shows that under some conditions, we can even "cut off" a given right part of the right branch of a straight right NSUMT, but keeping the initial rightmost leaf, and still stay in L(J * D). We use this result once in one of the subsubcases of the third subcase of the second case in the proof of Proposition 5.4.2.

Lemma 5.4.24. Let

some decomposition of it where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N >0 ) are SUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. Let q ∈ [j] such that {a iq+1 , . . . , a k } ⊆

As L ∈ L(J * D), by Corollary 5.4.23 when q > 1 and Lemma 5.4.20 otherwise (q = 1), we get that

belongs to L(J * D) as well. Now, for all p ∈ [[0, i q -1]], using the convention that i 0 = 0, when A p ∩ A k = ∅ and {a p+1 , . . . , a iq } ⊆ A k , if we take q ∈ [q] to be the unique integer in [q] verifying i q -1 ≤ p < i q , since {a iq+1 , . . . , a k } ⊆ A k , using Lemma 5.4.22 gives us in particular that the following conditions are verified:

• for all ι ∈ [[q , q -1]], there exists

Putting all together, by Lemma 5.4.22 again, we can conclude that

The two following lemmata show that, under different assumptions, in a given SUM

we can replace an alphabet A p by ∅ and still stay in L(J * D), the essential difference between the two of them being that in the first one we assume that a p ∈ A p when p > 0 and in the second one that a p / ∈ A p when p > 0, which requires different additional hypotheses for the conclusion to hold. Each of them is used once in the first subcase of the second case in the proof of Proposition 5.4.2.

Lemma 5.4.25. Let

Proof. Let us fix an alphabet Σ.

The proof goes by induction on k.

does belong to L(J * D) as well. Using Lemma 5.4.22, we can then conclude that

Case 2. T is a bent left NSUMT. This case is treated symmetrically to the previous one.

Case 3. T is a straight right NSUMT of the form

where ∆ 0 , ∆ 1 , . . . , ∆ j-1 , ∆ j (j ∈ N) are straight left NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. We use the convention that i 0 = 0 and i j+1 = k. Lemma 5.4.22 tells us that

Otherwise, when p < k, by inductive hypothesis, it is readily seen that

belongs to L(J * D). Let q ∈ [j +1] be the unique integer in [j +1] verifying i q-1 ≤ p < i q .

When p > 0, as a p ∈ A p and A p ∩A k = ∅, we have a p / ∈ A k . Hence, for all p ∈ [[0, p-1]], we have A p ∩ A k = ∅ or {a p +1 , . . . , a k } A k . Obviously, ∅ ∩ A k = ∅ and, by Lemma 5.4.22, for all p ∈ [[p + 1, k -1]], A p ∩ A k = ∅ implies that {a p +1 , . . . , a k } A k or, if we take q ∈ [j + 1] to be the unique integer in [j + 1] verifying i q -1 ≤ p < i q , the following conditions are verified:

• for all ι ∈ [[q , j]], there exists B ι ⊆ Σ such that ∆ ι = B * ι and A k ⊆ B ι ∪ {a i ι+1 };

We observe that, for each p ∈ [[p + 1, k -1]], all these conditions are still verified for L in which A p has been replaced by ∅, because they do not imply anything on A p since the associated q is at least as big as q. Therefore, by Lemma 5.4.22, we can conclude that

Case 4. T is a straight left NSUMT of the form

where ∆ 1 , ∆ 2 , . . . , ∆ j , ∆ j+1 (j ∈ N) are straight right NSUMTs over Σ and the edges between the nodes labelled a i 1 to a i j are all full. We use the convention that i 0 = 1 and i j+1 = k + 1.

Lemma 5.4.22 tells us that L(∆ 1 )a

Conclusion

In this thesis, we essentially made two contributions to the strand of research in computational complexity theory aiming for non-uniform complexity measure lower bounds within AC 1 : 1. a formal, measure-independent, treatment and study of Nečiporuk's lower bound method;

2. a better understanding of the computational power of programs over monoids taken from small varieties of finite monoids.

Section 2.8 of Chapter 2 provides concluding remarks concerning our study of Nečiporuk's method, to which Chapter 2 is dedicated.

Concerning programs over monoids, in Section 3.4 of Chapter 3, we introduced a new notion of tameness for varieties of finite monoids that strengthens a similar notion introduced by Péladeau [START_REF] Péladeau | Classes de circuits booléens et variétés de monoïdes[END_REF]. While the latter was equivalent, for a given variety of finite monoids V, to an optimal separation of P(V) from all other classes of languages P(W) defined by p-recognition over a variety of finite monoids W not contained in V, it did not necessarily imply a characterisation of the class of regular languages in P(V). Our notion of tameness ensures additionally that P(V) ∩ Reg ⊆ L(QV), and we even know that equality holds when V is local. Thus, this notion serves as a tool to better understand the fundamental link between regular languages and programs over monoids, an understanding that provably holds the key to answering most open questions about the internal structure of NC 1 .

A fundamental example of a tame variety of finite monoids is A. Its tameness can be proven using the celebrated result of Furst, Saxe and Sipser, and, independently, Ajtai, that MOD m is not in AC 0 for all m ∈ N, m ≥ 2; in fact, the tameness of A is even equivalent to this result. However, reproving this result using new finite-semigrouptheoretic techniques directly in the framework of p-recognition by finite aperiodic monoids remains one of the major unresolved challenges when it comes to the program-over-monoid formalism.

We managed to use such techniques in Chapter 4 to prove tameness of DA, a much smaller variety of finite monoids well within A. As a corollary, we obtained that P(DA)∩ Reg = L(QDA). This proof of tameness in that restricted setting may or may not help to prove the same for the unrestricted case of A, but at least it suggests a clear (though probably difficult) path towards this goal. For F a class of regular languages, we denote by B(F) the Boolean closure of F, i.e. the inclusion-wise smallest class of regular languages containing F and verifying that for each alphabet Σ, F(Σ * ) is closed under Boolean operations. We now define a hierarchy of classes of regular languages V 0 , V 1/2 , V 1 , V 1+1/2 , V 2 , . . . in the following way:

• V 0 is such that V 0 (Σ * ) = {∅, Σ * } for each alphabet Σ;

• for any n ∈ N >0 , V n+1/2 is such that

for each alphabet Σ, and V n+1 = B V n+1/2 .

The so-called full levels V k for k ∈ N happen to be varieties of star-free languages and verify SF = k∈N V k . When we consider the hierarchy of varieties of finite monoids V 0 , V 1 , V 2 , . . . respectively associated to V 0 , V 1 , V 2 , . . . through Eilenberg's correspondence, we get that A = k∈N V k . This hierarchy of classes of regular languages, a slightly twisted version of the Straubing-Thérien hierarchy (analogous and linked to the dot-depth hierarchy, see [START_REF] Pin | The dot-depth hierarchy, 45 years later[END_REF]) where the level 1 is a bit restricted, was introduced by Barrington and Thérien who showed that, for all k ∈ N, p-recognition by monoids from V k corresponds to the restriction of AC 0 to Boolean combinations of languages decided by sequences of AC 0 -type circuits of depth at most k (see [START_REF] Barrington | Finite monoids and the fine structure of NC 1[END_REF]).

In light of all the properties of that hierarchy of varieties of finite monoids and knowing that DA is included in its lowest levels, we therefore think it makes particular sense to attack the question of the tameness of A by looking at the question of the tameness of V k for increasing k ∈ N. We observe that V 1 = J 1 , which is not tame by Lemma 3.4.13, but we guess that V k is tame for all k ∈ N, k ≥ 2.

one path to follow would be to progressively prove, for growing k ∈ N, k ≥ 2, that V k is tame, if true.

• More generally, carrying on with the exhaustive study of exactly which varieties of finite monoids are tame would definitely be interesting, because of the tight link between this question and many of the questions about the internal structure of NC 1 . As this thesis focused on small varieties of finite aperiodic monoids, one place to continue would be to consider small varieties of finite non-aperiodic monoids (or even groups).

• Some questions about the general properties of tameness as we defined it still remain and could be investigated. For instance, for local and tame varieties V of finite monoids, we have shown that the regular languages recognised by programs over V are exactly those in L(QV). It is not clear whether locality is necessary, but we don't have any example of a tame variety V of finite monoids for which L(QV) is not included into P(V).

• One could imagine that throwing in randomness as well as non-determinism in the program-over-monoid formalism could give rise to interesting and tractable questions concerning derandomisation and the power of non-determinism for small complexity classes inside NC 1 .

• Benjamin Rossman recently started to develop a wealth of new techniques to prove small-depth circuit lower bounds (see e.g. [START_REF] Li | On the AC 0 complexity of subgraph isomorphism[END_REF]). It is unclear whether those could help in the realm of programs over monoids, or even if those could be generalised in some direction (in terms of languages or models for which we can prove lower bounds using the technique), but it could be worth putting some effort into trying to see if it is the case or not.