Vous êtes sur la page 1sur 5

Sémantique des Langages Informatique

TP 2
Muhammad Azeem Arshad
Avril 2020

Les numéros de sections correspondent aux exercices et leur sous parties respectives.

1
1.1
i) Soit la propriété à résoudre
n
[
P (x) = L1 ∪ ... ∪ Ln = Lk ∈ Rat(Σ)
k=1

ii) Cas de base. Le cas de base revient en effet à utiliser le cas de base

L1 , L2
P (x) =
L1 ∪ L2 ∈ Rat(Σ)

iii) Cas inductif P(x). En supposant que l’hypothèse est vrai pour n,

L1 , ..., Ln ∈ Rat(Σ)
[ n
Lk ∈ Rat(Σ)
k=1 , L ∈ Rat(Σ)
n
[
Lk ∪ L ∈ Rat(Σ)
k=1
n+1
[
Lk ∈ Rat(Σ)
k=1


1.2
i) Soit la propriété à résoudre
n
[
P (x) = L1 · ... · Ln = Lk ∈ Rat(Σ)
k=1

ii) Cas de base. Le cas de base revient en effet à utiliser le cas de base

L1 , L2
P (x) =
L1 · L2 ∈ Rat(Σ)

1
iii) Cas inductif P(x). En supposant que l’hypothèse est vrai pour n, prouvons pour le cas n+1 en utilisant
la définition n◦ (4), c’est-à-dire celle de la concaténation, afin de pouvoir concaténer le (n + 1)ème L.

L1 , ..., Ln
,
L1 · ... · Ln ∈ Rat(Σ) L ∈ Rat(Σ)
(L1 · ... · Ln ) · L ∈ Rat(Σ)
L1 · ... · Ln+1 ∈ Rat(Σ)

1.3
Nous pouvons déduire que

P (x) = An ∈ Rat(Σ)

grâce notamment à ce que nous avons pu prouver dans la 2ème partie de cet exercice, à savoir que

n
[
P (x) = L1 · ... · Ln = Lk ∈ Rat(Σ)
k=1

On commence par poser le cas de base, c’est-à-dire A0 qui contient les mots de longueur 0, donc A0 = {},
qui est par définition dans Rat(Σ).

On suppose vrai pour n et finalement pour montrer le cas n+1, on utilise ce que nous avons prouvé dans la
2ème partie pour la concaténation pour n Langages, nous l’utilisons sur n symboles.
Cela nous permet de déduire que la concaténation de n symboles pour former des mots dans le langage An ,
reste dans Rat(Σ). Donc An ∈ Rat(Σ).

1.4
Rappelons qu’un langage fini, Lf est un langage avec un nombre fini de mots, de cardinalité fini, c’est-à-dire
LF < inf. Nous voulons donc prouver que tout langage fini est rationnel, c-à-d

P (x) = LF ∈ Rat(Σ)

Pour le déduire, nous savons qu’un langage fini a un nombre fini de mots, ce qui implique que ces mots ont
de taille fini, ce que l’on a pu prouver dans la 3ème partie.
En utilisant ce que nous avons prouvé dans la partie 2

n
[
P (x) = L1 · ... · Ln = Lk ∈ Rat(Σ)
k=1

On déduit que l’union des mots constituant LF reste rationnel.


Donc, on prouve bien que LF ∈ Rat(Σ).

2
2
Soit le mot

u = a1 , ..., an ∈ Σ∗
et le miroir de ce mot
ũ = an , ..., a1 ∈ Σ∗
On définit Miroir(L) comme

M iroir(L) = {ũ|u ∈ L}

2.1
En reprenant les régles d’inférences pré-définies au dessus, nous pouvons créer les les règles d’inférences
suivantes :

i)
∅ ∈ M iroir(L)

a∈Σ
ii)
{a} ∈ M iroir(L)

L1 , L2 ∈ L
iii)
L1 ∪ L2 ∈ M iroir(L)

L1 · L2 ∈ L
iv)
L2 · L1 ∈ M iroir(L)

2.2
i) Soit la propriété P (x) suivante à résoudre

P (x) = ∀L ∈ Rat(Σ), M (L) ∈ Rat(Σ)


ii) Cas de base de P (x).

L0 = ∅

,
L0 ∈ Rat(Σ) ∅inRat(Σ)
0
L ∈ Rat(Σ)
iii) Cas inductif de P (x). On suppose Ln ∈ Rat(Σ) vrai par hypothèse et on montre que Ln ∈ Rat(Σ).

L1 · L2 ∈ L
n+1 n n ,
M iroir(L ) = M iroir(L · L ) = L · L L2 · L1 ∈ M iroir(L) L1 , L2
, n , ,
Ln · L ∈ M iroir(L) L ∈ Rat(Σ L ∈ Rat(Σ L1 · L2 ∈ Rat(Σ)
Ln · L ∈ Rat(Σ)
Donc M (L)est bien dans Rat(Σ).

3
3
3.1
i) Nous voulons prouver que

P (x) = L≥0 ∈ Rat(Σ)

ii) Cas de base de P(x).

L0 =  par def inition,


{} ∈ Σ
donc L0 ∈ Rat(Σ) car
{} ∈ Rat(Σ)

iii) Cas inductif P(x).

{ ∈ Σ}
,
L ∈ Rat(Σ) {} ∈ Rat(Σ) L1 , L2 ∈ Rat(Σ)
,
L0 , L1 ∈ Rat(Σ) L1 · L2 ∈ Rat(Σ)
L0 · L ∈ Rat(Σ)
L≥0 = L ∈ Rat(Σ)

3.2
On suppose par hypothèse que

∀p ≤ n, L≥p ∈ Rat(Σ)

i) Définissons d’abord la propriété à démontrer :

P (x) = ∀L, L≥n ∈ R(Σ)

ii) Cas base de P (x). Montrons que Ln ∈ Rat(Σ). Donc,

L1 , L2
, ,
Ln−1 ∈ Rat(Σ) L ∈ Rat(Σ) L1 · L2 ∈ Rat(Σ)
Ln−1 · L = Ln ∈ Rat(Σ)

iii) Cas inductif P (x).


Il nous suffit de désormais montrer que L>n ∈ Rat(Σ). Nous savons grâce à la première partie que
L≥0 ∈ Rat(Σ) et nous savons qu’en concaténant ce dernier avec Ln , on obtient L≥n . Avec cela et utilisant
le cas de base, on obtient

, ,
L≥n = L≥0 · Ln L≥0 ∈ Rat(Σ) Ln ∈ Rat(Σ)
L≥n ∈ Rat(Σ)

4
3.3
Afin de démontrer la même propriété sans induction et grâce aux règles d’inférences de départ, nous pour-
rions utiliser la propriété 6 de différences.

On sait que L est rationnel car L≥0 est rationnel. On sait aussi que

L≤n−1 = Ln−1 ∪ Ln−2 ∪ ... ∪ L0 ∈ Rat(Σ)

Donc, on peut prouver que L≥n ∈ Rat(Σ) en enlevant les langages avec les mots de taille ≤ (n − 1).

On peut donc, qu’en sachant que [ L ∈ Rat(Σ) ] et que [ L≤n−1 ∈ Rat(Σ) ], prendre la difference :

L \ L≤n−1 ∈ Rat(Σ)

et on se retrouverait avec ce que nous cherchons, c’est-à-dire

L≥n ∈ Rat(Σ)

Vous aimerez peut-être aussi