summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--notes-inf105.tex56
1 files changed, 31 insertions, 25 deletions
diff --git a/notes-inf105.tex b/notes-inf105.tex
index ef982a0..8dd9af9 100644
--- a/notes-inf105.tex
+++ b/notes-inf105.tex
@@ -611,7 +611,7 @@ une chaîne de caractères et renvoyant un booléen.
\thingy\label{union-and-intersection-of-languages} Si $L_1$ et $L_2$
sont deux langages sur un même alphabet $\Sigma$ (autrement dit,
$L_1,L_2 \subseteq \Sigma^*$), on peut former les langages
-\defin[union (de langages)]{union} $L_1\cup L_2$ et
+\index{réunion (de langages)|see{union}}\defin[union (de langages)]{union} $L_1\cup L_2$ et
\defin[intersection (de langages)]{intersection} $L_1\cap L_2$ qui
sont simplement les opérations ensemblistes usuelles (entre parties
de $\Sigma^*$).
@@ -2455,7 +2455,7 @@ traite des opérations rationnelles.
\begin{prop}\label{dfa-complement}
Si $L$ est un langage reconnaissable sur un alphabet $\Sigma$, alors
-le complémentaire $\Sigma^*\setminus L$ de $L$ est reconnaissable ; de
+le \index{complémentaire (langage)}complémentaire $\Sigma^*\setminus L$ de $L$ est reconnaissable ; de
plus, un DFA reconnaissant l'un se déduit algorithmiquement d'un DFA
reconnaissant l'autre.
\end{prop}
@@ -2484,7 +2484,8 @@ même chose que l'inexistence d'un chemin aboutissant à un état final.)
\begin{prop}\label{dfa-union-and-intersection}
Si $L_1,L_2$ sont des langages reconnaissables (sur un même
-alphabet $\Sigma$), alors la réunion $L_1\cup L_2$ et l'intersection
+alphabet $\Sigma$), alors la \index{union (de langages)}réunion
+$L_1\cup L_2$ et \index{intersection (de langages)}l'intersection
$L_1\cap L_2$ sont reconnaissables ; de plus, un DFA reconnaissant
l'un comme l'autre se déduit algorithmiquement de DFA reconnaissant
$L_1$ et $L_2$.
@@ -2665,9 +2666,9 @@ Donnons maintenant une autre preuve de ce fait, à base de NFA :
\begin{prop}\label{nfa-union}
Si $L_1,L_2$ sont des langages reconnaissables (sur un même
-alphabet $\Sigma$), alors la réunion $L_1 \cup L_2$ est
-reconnaissable ; de plus, un NFA la reconnaissant se déduit
-algorithmiquement de NFA reconnaissant $L_1$ et $L_2$.
+alphabet $\Sigma$), alors la \index{union (de langages)}réunion $L_1
+\cup L_2$ est reconnaissable ; de plus, un NFA la reconnaissant se
+déduit algorithmiquement de NFA reconnaissant $L_1$ et $L_2$.
\end{prop}
\begin{proof}
Par hypothèse, il existe des NFA reconnaissant $L_1$ et $L_2$ :
@@ -2770,9 +2771,10 @@ bien $L(A') = L_1 \cup L_2$.
\begin{prop}\label{nfa-concatenation}
Si $L_1,L_2$ sont des langages reconnaissables (sur un même
-alphabet $\Sigma$), alors la concaténation $L_1 L_2$ est
-reconnaissable ; de plus, un NFA la reconnaissant se déduit
-algorithmiquement de NFA reconnaissant $L_1$ et $L_2$.
+alphabet $\Sigma$), alors la \index{concaténation (de
+ langages)}concaténation $L_1 L_2$ est reconnaissable ; de plus, un
+NFA la reconnaissant se déduit algorithmiquement de NFA reconnaissant
+$L_1$ et $L_2$.
\end{prop}
\begin{proof}
Par hypothèse, il existe des NFA reconnaissant $L_1$ et $L_2$ :
@@ -2872,8 +2874,9 @@ final dans $A_1$ suivi d'un chemin de $q_2$ à un état final dans $A_2$
\begin{prop}\label{nfa-star}
Si $L$ est un langage reconnaissable (sur un alphabet $\Sigma$), alors
-l'étoile de Kleene $L^*$ est reconnaissable ; de plus, un NFA la
-reconnaissant se déduit algorithmiquement de NFA reconnaissant $L$.
+\index{étoile de Kleene}l'étoile de Kleene $L^*$ est reconnaissable ;
+de plus, un NFA la reconnaissant se déduit algorithmiquement de NFA
+reconnaissant $L$.
\end{prop}
\begin{proof}
Par hypothèse, il existe un NFA reconnaissant $L$ :
@@ -4567,7 +4570,8 @@ des lettres d'un alphabet $\Sigma$ abstrait.
\subsection{Définition, notations et premier exemple}\label{subsection-context-free-grammars}
-\thingy\label{definition-context-free-grammar} Une \defin{grammaire
+\thingy\label{definition-context-free-grammar} Une \index{hors
+ contexte (grammaire)|see{grammaire hors contexte}}\defin{grammaire
hors contexte} (on dit parfois aussi « sans contexte » ; en anglais,
« context-free grammar » ou \index{CFG|see{grammaire hors
contexte}}« CFG » ; ou encore grammaire de \textbf{type 2}) sur un
@@ -4857,20 +4861,21 @@ Les grammaires régulières sont également appelées grammaires de
\begin{prop}\label{cfg-union-concatenation-and-star}
Si $L_1,L_2$ sont des langages algébriques (sur un même
-alphabet $\Sigma$), alors la réunion $L_1 \cup L_2$ est algébrique ;
-de plus, une grammaire hors contexte l'engendrant se déduit
-algorithmiquement de grammaires hors contexte engendrant $L_1$
-et $L_2$.
+alphabet $\Sigma$), alors la \index{union (de langages)}réunion $L_1
+\cup L_2$ est algébrique ; de plus, une grammaire hors contexte
+l'engendrant se déduit algorithmiquement de grammaires hors contexte
+engendrant $L_1$ et $L_2$.
Si $L_1,L_2$ sont des langages algébriques (sur un même
-alphabet $\Sigma$), alors la concaténation $L_1 L_2$ est algébrique ;
-de plus, une grammaire hors contexte l'engendrant se déduit
-algorithmiquement de grammaires hors contexte engendrant $L_1$
-et $L_2$.
-
-Si $L$ est un langage algébrique, alors l'étoile de Kleene $L^*$ est
-algébrique ; de plus, une grammaire hors contexte l'engendrant se
-déduit algorithmiquement d'une grammaire hors contexte engendrant $L$.
+alphabet $\Sigma$), alors la \index{concaténation (de
+ langages)}concaténation $L_1 L_2$ est algébrique ; de plus, une
+grammaire hors contexte l'engendrant se déduit algorithmiquement de
+grammaires hors contexte engendrant $L_1$ et $L_2$.
+
+Si $L$ est un langage algébrique, alors \index{étoile de
+ Kleene}l'étoile de Kleene $L^*$ est algébrique ; de plus, une
+grammaire hors contexte l'engendrant se déduit algorithmiquement d'une
+grammaire hors contexte engendrant $L$.
\end{prop}
\begin{proof}
Pour la réunion : supposons que $G_1$ et $G_2$ engendrent $L_1$ et
@@ -6174,7 +6179,8 @@ alphabet fini), en calculabilité, il est possible, dès que cela est
commode, de remplacer ceux-ci par des entiers naturels.
Il suffit pour cela de choisir un « codage », parfois appelé
-\defin{codage de Gödel} permettant de représenter un élément de
+\index{Gödel (codage de)|see{codage de Gödel}}\defin{codage de Gödel}
+permettant de représenter un élément de
$\Sigma^*$ par un entier naturel : la chose importante est que la
conversion d'un mot en entier ou d'un entier en mot soit calculable
par un algorithme (même très inefficace), si bien que toute