MPRI, Fondations mathématiques de la théorie des automates Olivier Carton, Jean-Éric Pin Partiel du 1er décembre 2010. Durée: 2h, notes de cours autorisées ⋆⋆⋆ Avertissement : On attachera une grande importance à la clarté, à la précision et à la concision de la rédaction. Partie 1. Calcul d’un monoı̈de syntactique. Soit A = {a, b, c}. On considère l’automate A représenté ci-dessous: b, c b a, c a 1 a 2 3 b Question 1. Donner une expression rationnelle pour le langage L reconnu par A. Question 2. Calculer le monoı̈de syntactique M de L. On donnera la liste de ses éléments (vous devriez trouver 8 éléments, en comptant l’élément neutre) et les relations permettant de le définir. Question 3. Calculer l’image P de L dans M par le morphisme syntactique. Question 4. Déterminer l’idéal minimal et les idempotents de M . Question 5. Déterminer la structure en D-classes de M (on dessinera les diagrammes boı̂tes à œufs). Le monoı̈de M est-il commutatif? R-trivial? L-trivial? apériodique? Question 6. Montrez que L est sans-étoile et donnez une expression sans étoile pour L. Question 7. Donner une formule ϕ de la logique FO[<] telle que L = L(ϕ). Même question avec une formule utilisant seulement deux variables. Est-ce possible avec seulement une variable? Justifiez votre réponse. Partie 2. Constantes Soit M un monoı̈de et P une partie de M . On dit qu’un élément s de M est une constante pour P si pour tout s1 , s2 , s3 , s4 ∈ M , s1 ss2 , s3 ss4 ∈ P entraı̂ne s1 ss4 ∈ P On note C(P ) l’ensemble des constantes pour P . Dans la suite du problème, on fixe un langage reconnaissable L de A∗ , on note η : A∗ → M son morphisme syntactique et on pose P = η(L). 1 Question 8. Montrer que si s ∈ P et si s est une constante pour P , alors la condition usv ∈ P entraı̂ne us, sv ∈ P . Question 9. Montrer qu’un mot u de A∗ est une constante pour L si et seulement si η(u) est une constante pour P . Question 10. Soit A = (Q, A, · , q0 , F ) l’automate minimal (déterministe, émondé mais pas nécessairement complet) de L. Le rang d’un mot u est l’entier rg(u) = |{q· u | q ∈ Q et q· u est défini}|. Montrer qu’un mot u est une constante pour L si et seulement si il est de rang 6 1. Question 11. Déterminer les constantes pour P dans le cas où L est le langage considéré dans la première partie du problème. On dit qu’un langage L de A∗ est dense si on peut prolonger n’importe quel mot de A∗ en un mot de L, autrement dit, si pour tout mot u de A∗ , on a A∗ uA∗ ∩ L 6= ∅. Question 12. Montrez que C(P ) est un idéal de M . Montrer que cet idéal est apériodique. Question 13. Montrer que si L n’est pas dense, alors M a un zéro. Montrer que si s est une constante pour P , alors sM s ⊆ {s, 0}. Question 14. Montrer que si L est dense et si s est une constante pour P , alors sM s = {s}. 2 MPRI, Fondations mathématiques de la théorie des automates Olivier Carton, Jean-Éric Pin December 1st, 2010. Duration: 2h. ⋆⋆⋆ Warning : Clearness, accuracy and concision of the writing will be rewarded. Part 1. Computation of a syntactic monoid. Let A = {a, b, c}. Let A be the automaton represented in the picture below: b, c b a, c a 1 a 2 3 b Question 1. Give a rational (= regular) expression for the language L accepted by A. Question 2. Compute the syntactic monoid M of L. Give the list of its elements (you should find 8 elements, including the identity) and of its defining relations. Question 3. Compute the image of L in M under the syntactic morphism. Question 4. Compute the minimal ideal and the idempotents of M . Question 5. Compute the D-class structure of M (draw the egg-box pictures). Is the monoid M comutative? R-trivial? L-trivial? aperiodic? Question 6. Show that L star-free and give a star-free expression for L. Question 7. Give a formula ϕ of the logic FO[<] such that L = L(ϕ). Same question with a formula with only two variables. Is it possible with only one variable? Justify your answer. Part 2. Constants Let M be a monoid and let P be a subset of M . An element s of M is said to be a constant for P if for all s1 , s2 , s3 , s4 ∈ M , s1 ss2 , s3 ss4 ∈ P implies s1 ss4 ∈ P We denote by C(P ) the set of all constants for P . In the remainder of this problem, we fix a recognisable language L of A∗ , we denote by η : A∗ → M its syntactic morphism and we set P = η(L). 3 Question 8. Show that if s ∈ P and if s is a constant for P , then the condition usv ∈ P implies us, sv ∈ P . Question 9. Show that a word u of A∗ is a constant for L if and only if η(u) is a constant for P . Question 10. Let A = (Q, A, · , q0 , F ) be the minimal automaton (deterministic, trim but not necessarily complete) of L. The rank of a word u is the nonnegative integer rg(u) = |{q· u | q ∈ Q et q· u is defined}|. Show that a word u is a constant for L if and only if its rank is 6 1. Question 11. Give the constants for P when L is the language of the first part of the problem. A language L of A∗ is said to be dense if one can extend any word of A∗ into a word of L, that is, if for all word u of A∗ , one has A∗ uA∗ ∩ L 6= ∅. Question 12. Show that C(P ) is an idéal of M . Show that this ideal is aperiodic. Question 13. Show that if L is nondense, then M has a zero. Show that if s is a constant for P , then sM s ⊆ {s, 0}. Question 14. Show that if L is dense and if s is a constant for P , then sM s = {s}. 4 Corrigé Partie 1. Calcul d’un monoı̈de syntactique. Question 1. Une expression rationnelle pour L is b∗ a(b + c)∗ a(a + c + b(b + c)∗a)∗ . Une expression beaucoup plus simple est b∗ aA∗ ac∗ . Question 2. Le monoı̈de syntactique M de L est donné par le tableau suivant: 1 1 2 1 0 3 2 0 0 ∗1 a ∗b ∗c ∗ a2 ∗ ab ∗ bc ∗ ca 2 2 3 2 2 3 2 2 3 3 3 3 2 3 3 2 2 3 dans lequel les idempotents sont indiqués par une étoile. Les relations définissant M sont ac = a ba = a bb = b cb = bc abc = ab bca = ca caa = ca cab = bc cc = c a3 = a 2 a2 b = ab Question 3. L’image de L est obtenu en sélectionnant les éléments x de M tels que 1· x = 3. Ici P = {a2 }. Question 4. L’idéal minimal est {a2 , ab, bc, ca} et les idempotents sont E(M ) = {1, b, c, a2 , ab, bc, ca} Question 5. La structure en D-classes est la suivante: ∗ ∗ b 1 ∗ a ∗ ∗ a2 ca ∗ ∗ c ab bc Ce monoı̈de n’est ni commutatif, ni R-trivial, ni L-trivial, mais il est apériodique. Question 6. Comme M est apériodique, le langage L est sans-étoile. Une expression sans étoile pour L s’obtient d’abord que A∗ = ∅c , puis que si B est un sous-ensemble de B, P en observant ∗ ∗ ∗ ∗ B = A − b∈A−B A bA . Si on part de l’expression b∗ aA∗ ac∗ donnée plus haut, on obtient ainsi une expression sans étoile. 5 Question 7. Il suffit de traduire l’expression b∗ aA∗ ac∗ en formule. Il suffit de dire qu’il existe deux positions x < y qui portent la lettre a, qu’il n’y a que des b avant la position x et que des c après la position y. Ce qui donne ϕ = ∃x ∃y (x < y) ∧ ax ∧ ay ∧ ∀z (z < x → bz) ∧ (z > y → cz) On peut économiser une variable en prenant ψ = (∃x ∃y (x < y) ∧ ax ∧ ay) ∧ ∀y (y < x → bz) ∧ ∀x (x > y → cz) Si on ne dispose que d’une seule variable, on ne peut définir que des langages commutatifs. Or le langage L n’est pas commutatif. Partie 2. Constantes Question 8. Soit s ∈ P tel que s soit une constante pour P et supposons que usv ∈ P entraı̂ne us, sv ∈ P . En appliquant la définition d’une constante avec s1 = u, s2 = v et s3 = s4 = 1, on obtient us ∈ P et en l’appliquant avec s1 = s2 = 1, s3 = u et s4 = v, on trouve sv ∈ P . Question 9. Soit u un mot de A∗ et soit s = η(u). Supposons que u sont une constante pour L et soient s1 , s2 , s3 , s4 ∈ M . Comme η est surjective, on peut trouver des mots u1 , u2 , u3 , u4 tels que η(ui ) = si pour 1 6 i 6 4. Supposons que s1 ss2 , s3 ss4 ∈ P . On a L = η −1 (P ), η(u1 uu2 ) = s1 ss2 et η(u3 uu4 ) = s3 ss4 et donc u1 uu2 , u3 uu4 ∈ L et u1 uu4 ∈ L puisque u est une constante de L. Donc s1 ss3 , qui est égal à η(u1 uu4 ), appartient à P . Par conséquent, s est une constante pour P . Réciproquement, si s est une constante pour P et si u1 , u2 , u3 , u4 sont des mots de A∗ tels que u1 uu2 , u3 uu4 ∈ L, on a, en posant si = η(ui ) (1 6 i 6 4), s1 ss2 , s3 ss4 ∈ η(L) = P et donc s1 ss4 ∈ P , d’où finalement u1 uu4 ∈ L. Question 10. Rappelons que les états de A s’identifient aux langages non vides de la forme −1 u−1 L (u ∈ A∗ ). Soit u une constante pour L et soient q1 = u−1 1 L et q3 = u3 L deux états de A. Supposons que les états q2 = q1 · u et q4 = q3 · u soient définis et soient u2 ∈ q2 et u4 ∈ q4 . Comme q2 = q1 · u = (u1 u)−1 L, on a u1 uu2 ∈ L et de même u3 uu4 ∈ L. Comme u est une constante pour L, il en résulte u1 uu4 ∈ L et donc u4 ∈ q2 . On montrerait de la même façon que u4 ∈ q2 entraine u4 ∈ q4 et donc q2 = q4 . Supposons maintenant que u soit de rang 6 1. Soient u1 , u2 , u3 , u4 des mots de A∗ tels que u1 uu2 , u3 uu4 ∈ L. Posons q1 = u1−1 L et q3 = u3−1 L. On a alors u2 ∈ q1 · u et u4 ∈ q3 · u et donc q1 · u = q3 · u. Il en résulte que u1 uu4 ∈ L et donc u est une constante pour L. Question 11. Si on reprend l’exemple de la première partie, l’ensemble des constantes pour P s’obtient en prenant les mots de rang 6 1 dans l’automate: ce sont donc exactement les éléments de l’idéal minimal de M . Question 12. Revenons au cas général. La formule rg(uv) 6 max{rg(u), rg(v)} montre que C(L) est un idéal. Dans le cas d’un monoı̈de quelconque M , c’est également évident. Prenons une constante s et des éléments x, y de M . Si s1 (xsy)s2 , s3 (xsy)s4 ∈ P , on a (s1 x)s(ys4 ) ∈ P puisque s est une constante et donc xsy est une constante. Par conséquent, C(P ) est un idéal de M . Cet idéal est apériodique car les constantes sont des éléments de rang 6 1 dans M . Question 13. Si L n’est pas dense, il existe un mot u incomplétable dans L, i.e. tel que A∗ uA∗ ∩ L = ∅. L’élément η(u) est alors un zéro de M . En effet, si s, t ∈ A∗ , le mot sut est incomplétable dans L et donc sut ∼L u et η(sut) = η(u). Par conséquent, η(u) est un zéro de M . Soit s une constante pour P et soit u ∈ M . Supposons que sus 6= 0. Il existe alors des éléments x, y ∈ M tels que xsusy ∈ P . En prenant s1 = x, s2 = usy, s3 = xsu et s4 = y, on en déduit 6 xsy ∈ P . Réciproquement, supposons que xsy ∈ P . Comme sus 6= 0, il existe r, t ∈ M tels que rsust ∈ P . On en déduit xsust ∈ P puis xsusy ∈ P . On en déduit que s ∼P sus et donc sus = s puisque M est le monoı̈de syntactique de P . Par conséquent sM s ⊆ {s, 0}. Question 14. Même raisonnement, mais il n’y a pas de zéro. 7