%% This is a LaTeX document. Hey, Emacs, -*- latex -*- , get it? \documentclass[12pt,a4paper]{article} \usepackage[francais]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage{ucs} \usepackage{times} % A tribute to the worthy AMS: \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} % \usepackage{mathrsfs} \usepackage{wasysym} \usepackage{url} % \usepackage{graphics} \usepackage[usenames,dvipsnames]{xcolor} \usepackage{tikz} \usetikzlibrary{arrows,automata,positioning} \usepackage[hyperindex=false]{hyperref} % \theoremstyle{definition} \newtheorem{comcnt}{Tout} \newcommand\thingy{% \refstepcounter{comcnt}\smallbreak\noindent\textbf{\thecomcnt.} } \newcommand\exercice{% \refstepcounter{comcnt}\bigbreak\noindent\textbf{Exercice~\thecomcnt.}} \renewcommand{\qedsymbol}{\smiley} % \newcommand{\liff}{\mathrel{\Longleftrightarrow}\relax} % \DeclareUnicodeCharacter{00A0}{~} \DeclareUnicodeCharacter{03B5}{$\varepsilon$} % \DeclareMathSymbol{\tiret}{\mathord}{operators}{"7C} \DeclareMathSymbol{\traitdunion}{\mathord}{operators}{"2D} % % \DeclareFontFamily{U}{manual}{} \DeclareFontShape{U}{manual}{m}{n}{ <-> manfnt }{} \newcommand{\manfntsymbol}[1]{% {\fontencoding{U}\fontfamily{manual}\selectfont\symbol{#1}}} \newcommand{\dbend}{\manfntsymbol{127}}% Z-shaped \newcommand{\danger}{\noindent\hangindent\parindent\hangafter=-2% \hbox to0pt{\hskip-\hangindent\dbend\hfill}} % \newcommand{\spaceout}{\hskip1emplus2emminus.5em} \newif\ifcorrige \corrigetrue \newenvironment{corrige}% {\ifcorrige\relax\else\setbox0=\vbox\bgroup\fi% \smallbreak\noindent{\underbar{\textit{Corrigé.}}\quad}} {{\hbox{}\nobreak\hfill\checkmark}% \ifcorrige\relax\else\egroup\fi\par} % % % NOTE: compile dot files with % dot2tex --figonly -f tikz --tikzedgelabels --graphstyle=automaton file.dot > file.tex \tikzstyle{automaton}=[>=stealth',initial text={},thick,every loop/.style={min distance=7mm,looseness=5}] \tikzstyle{state}=[] \tikzstyle{final}=[accepting by arrow] % % % \begin{document} \ifcorrige \title{TD langages algébriques — Corrigé} \else \title{TD langages algébriques} \fi \author{David A. Madore} \maketitle \centerline{\textbf{INF105}} {\footnotesize \immediate\write18{sh ./vc > vcline.tex} \begin{center} Git: \input{vcline.tex} \end{center} \immediate\write18{echo ' (stale)' >> vcline.tex} \par} \pretolerance=8000 \tolerance=50000 % % % \exercice Soit $\Sigma = \{a,b\}$. Montrer que le langage $L := \{ww : w\in\Sigma^*\}$ constitué des mots de la forme $ww$ (par exemple, $\varepsilon$, $aa$, $abab$, $abaaba$ ou encore $aabbaabb$) n'est pas algébrique. On pourra pour considérer son intersection avec le langage $L_0$ dénoté par l'expression rationnelle $a{*}b{*}a{*}b{*}$ et appliquer le lemme de pompage. \begin{corrige} Supposons par l'absurde que $L$ soit algébrique : alors son intersection avec le langage rationnel $L_0 = \{a^m b^n a^{m'} b^{n'} : m,n,m',n' \in \mathbb{N}\}$ est encore algébrique. Or $L \cap L_0 = \{a^m b^n a^m b^n : m,n \in \mathbb{N}\}$. On va maintenant utiliser le lemme de pompage pour arriver à une contradiction. Appliquons le lemme de pompage pour les langages algébriques au langage $L \cap L_0 = \{a^m b^n a^m b^n : m,n \in \mathbb{N}\}$ considéré : appelons $k$ l'entier dont le lemme de pompage garantit l'existence. Considérons le mot $t := a^k b^k a^k b^k$ : dans la suite de cette démonstration, on appellera « bloc » de $t$ un des quatre facteurs $a^k$, $b^k$, $a^k$ et $b^k$. D'après la propriété de $k$ garantie par le lemme de pompage, il doit exister une factorisation $t = uvwxy$ pour laquelle on a (i) $|vx|\geq 1$, (ii) $|vwx|\leq k$ et (iii) $uv^iwx^iy \in L \cap L_0$ pour tout $i\geq 0$. Chacun de $v$ et de $x$ doit être contenu dans un seul bloc, i.e., doit être de la forme $a^\ell$ ou $b^\ell$, sinon sa répétition ($v^i$ ou $x^i$ pour $i\geq 2$, qui appartient à $L_0$ d'après (iii)) ferait apparaître plus d'alternations entre $a$ et $b$ que le langage $L_0$ ne le permet. Par ailleurs, la propriété (ii) assure que le facteur $vwx$ ne peut rencontrer qu'un ou deux blocs de $t$ (pas plus). Autrement dit, $v$ et $x$ sont contenus dans deux blocs de $t$ qui sont identiques ou bien consécutifs\footnote{La formulation est choisie pour avoir un sens même si $v$ ou $x$ est le mot vide (ce qui est possible \textit{a priori}).}. D'après la propriété (i), au moins l'un de $v$ et de $x$ n'est pas le mot vide. Si ce facteur non trivial est dans le premier bloc $a^k$, l'autre ne peut pas être dans l'autre bloc $a^k$ d'après ce qui vient d'être dit : donc $uv^iwx^iy$ est de la forme $a^{k'} b^n a^k b^k$ avec $k'>k$ si $i>1$, qui n'appartient pas à $L\cap L_0$, une contradiction. De même, le facteur non trivial est dans le premier bloc $b^k$, l'autre ne peut pas être dans l'autre bloc $b^k$ : donc $uv^iwx^iy$ est de la forme $a^m b^{k'} a^{m'} b^k$ avec $k'>k$ si $i>1$, qui n'appartient pas à $L\cap L_0$, de nouveau une contradiction. Les deux autres cas sont analogues. \end{corrige} % % % \end{document}