d’un sous-ensemble de sommets tels que toute arête soit adjacente à un
des sommets de l’ensemble.
Les éléments de Aet Bdisposent d’(au moins) une représentation finie sus-
ceptible d’être lue ou produite par une machine ou un programme. Cette re-
présentation n’est rien d’autre qu’un mot d’un certain alphabet. Par exemple,
les noeuds d’un graphe peuvent être numérotés à partir de 1. Dans ce cas en
prenant comme alphabet N∪{;,−}, le mot 3; 1−2; 1−3représente le graphe des
trois sommets 1,2,3et de deux arêtes, l’une joignant 1à2et l’autre joignant 1
à3.
Notre objectif est bien entendu de résoudre des problèmes à l’aide de pro-
grammes. Suivant la thèse de Church, nous ne préciserons pas le langage de
programmation utilisé à partir du moment où il possède les constructions mini-
males : si alors sinon, tant que, pour, etc.
Définition 3 (Problème décidable et langage récursif) Un problème fde
Adans {V,F}est décidable s’il existe un programme qui prend en entrée un élé-
ment quelconque ade Aet se termine en produisant (affichant, imprimant)
f(a).
Un langage d’alphabet Σest récursif s’il existe un programme qui prend en
entrée un mot de Σ∗et renvoie Vssi le mot appartient au langage considéré.
La décidabilité d’un problème est souhaitable mais on se contente d’une
notion plus faible lorsque ceci est impossible.
Définition 4 (Semi-décidabilité et langage récursivement énumérable)
Un problème fde Adans {V,F}est semi-décidable s’il existe un programme qui
énumère les éléments ade Atels que f(a) = V.
Un langage d’alphabet Σest récursivement énumérable s’il existe un pro-
gramme qui énumère les mots de ce langage.
Lemme 1 Un problème décidable est semi-décidable. Ce qui est équivalent à
dire qu’un langage récursif est récursivement énumérable.
Preuve
Le programme consiste à énumérer les mots de Σ∗ce qui est toujours possible
d’après nos hypothèses. Par exemple, on exécute une boucle infinie telle qu’au
ni`eme tour, on produit les mots de longueur ≤nutilisant les npremières lettres
de l’alphabet qui n’ont pas encore été produits. Pour chaque mot de Σ∗ainsi
produit on l’affiche s’il appartient au langage (à l’aide de la procédure associée
à la récursivité du langage).
c.q.f.d. ♦♦♦
Lemme 2 Soit Lun langage et Lson complémentaire. Si Let Lsont récursi-
vement énumérables alors Let Lsont récursifs.
Autrement dit, si un problème (de décision) et son problème complémentaire
sont semi-décidables alors ils sont décidables.
Preuve
Pour décider si w∈L, le programme consiste à alterner les pas d’exécution des
deux programmes qui énumérent les mots de Let de L. Lorsque wapparaît sur