Programmation, langages, compilation 3
S´emantique
E. Lozes
Exercice 1 – D´efinitions r´ecursives et points fixes
1. Pour chacune des fonctions CAML suivantes, d´efinir sa fonctionnelle
τ: (NN)(NN) et chercher les points fixes :
a)let rec f x =if x > 100 then x10 b)let rec f x =if xmod 2 = 0 then x+ 1
else f(f(x+ 11)) else f(f(x1))
c)let rec f x =match xwith d)let rec f x =match xwith
01|22|xf(x+ 1) f(x1) 1 1|2nf(n)|2n+ 1 f(3n+ 2)
2. Soit (D, ,W,) un ω-c.p.o, autrement dit est un ordre partiel, est le
plus petit ´el´ement, et W: (xn)nNWnxnefinit la borne sup de toute
suite croissante (xn)nN.
(a) montrer que D → D admet une structure naturelle de ω-c.p.o.
(b) τ:D → D est dite continue si elle est croissante et τ(Wnxn) =
Wnτ(xn). Montrer que l’ensemble des points fixes de τadmet un
plus petit ´el´ement, not´e µ(τ).
3. Application : on note Nle ω-d.c.p.o. de domaine N∪ {⊥} ordonn´e par
< n pour tout n, et n, m sont incomparables. Chercher les plus petits
points fixes des fonctionnelles pr´ec´edentes. Moraliser.
Exercice 2 – Point fixe de Tarsky
Soit (X, V,W) un treillis complet, et f:XXune fonction croissante :
1. Montrer que V{x:f(x)x}efinit le plus petit point fixe de f(resp.
W{x:xf(x)}le plus grand).
2. Montrer que l’ensemble des points fixes de fest un treillis complet.
Exercice 3 – S´emantique op´erationnelle et d´enotationnelle de TOY
On consid`ere le langage TOY :
c::= a|skip |c;c|if bthen celse c|while bdo c
1
o`u ad´esigne une action sur un environnement de type Σ (“la m´emoire”). On
se donne la s´emantique d´enotationnelle [a] : Σ Σ (modification d’un ´etat
m´emoire) et [b] : Σ → {0,1}evaluation d’expression dans un ´etat m´emoire).
1. Rappeler ce qu’est la s´emantique op´erationnelle (grands pas ou petits pas)
et en proposer une pour ce langage.
2. Rappeler ce qu’est la s´emantique d´enotationnelle et en proposer une pour
ce langage.
Exercice 4 – Preuves en logique de Hoare
On se place dans la logique de Hoare, constitu´ee des assertions {P re}c{P ost}
signifiant : σ, σ |=P re et [c](σ)6=⊥ ⇒ [c](σ)|=P ost.
On rappelle les r`egles de d´eduction suivantes :
{bI}c{I}
{I}while bdo cbI} {A{x:= e}} x:= e{A}
|=A0A{A0}c{B0} |=BB0
{A}c{B}
1. Rappeler la r`egle du “ ;”.
2. Etablir la preuve de {n0}Cube {z=n3}o`u Cube est le programme :
x :=0 ;y :=0 ;z :=0 ;while not (x=n) do z :=z+3y+3x+1 ;y :=y+2x+1 ;
x :=x+1
3. Etablir la preuve de {n0}Sqrt {x2n < (x+ 1)2}o`u Sqrt est le
programme :
x :=0 ;y :=1 ;z :=1 ;while (y n) do x :=x+1 ;z :=z+2 ;y :=y+z
4. Montrer que la logique de Hoare est ind´ecidable.
Exercice 5 – Topologie de Scott
1. Soit (X, O) un espace topologique. On pose :
xOysi O∈ O, x OyO
Montrer que Oest un ordre ssi Xerifie l’axiome T0:
x, y XO∈ O. x OyOx=y
Dans ce cas, on appelle Ol’ordre de sp´ecialisation. Quel est cet ordre si
Xest epar´e ?
2. Soit (X, ,W) un ensemble ordonn´e tel que la borne sup Wnxnde toute
suite croissante soit d´efinie (on appelle une telle structure un ω-d.c.p.o).
Une partie OXest un ouvert de Scott si elle v´erifie :
x, y X. x yet xOyO
et
(xn)XNcroissante,WnxnO⇒ ∃n. xnO
2
(a) Quelle est la topologie de Scott sur R?
(b) On consid`ere un ω-d.c.p.o quelconque (X, ). Montrer que Ox=
{yX|y6≤ x}est un ouvert de Scott ; en d´eduire que est l’ordre
de sp´ecialisation de la topologie de Scott.
(c) Montrer que les fonctions Scott continues sont croissantes et qu’elles
v´erifient de plus f(Wnxn) = Wnf(xn).
Exercice 6 – Une topologie sans points
On ´etudie ici une autre correspondance entre ordres et topologie. On appelle
frame une structure (X, ,,W) telle que aWB=WbBab.
1. V´erifier que l’ensemble des ouverts d’un espace topologique Xest une
frame (spatialisation).
2. Respectivement, si Oest une frame, montrer que l’on peut donner une
structure d’espace topologique aux morphismes de frame p:O → {>,⊥}
(localisation).
3. On pose Spat :Topo Frame et Loc :Frame Topo. Que vaut
Im(Spat) ? Montrer que TopoT1Im(Loc)TopoT0.
Exercice 7 – Plus faible pr´econdition
On se place dans la s´emantique axiomatique de TOY. On note
w(c, A) = {σ: [c](σ)|=A}
la plus faible pr´econdition de (c, A). On dit que Acaract´erise l’ensemble d’´etats
wsi σ|=Aσw.
1. Donner une formule qui caract´erise w(x:= e, A).
2. On admet que le langage d’assertion est expressif, i.e. pour tout (c, A), il
existe Fc,A qui caract´erise w(c, A). Montrer que {Fc,A}c{A}est prouvable
pour tout Aet c. En d´eduire que ce syst`eme est complet.
3. Montrer qu’il n’existe pas de syst`eme de preuve v´erifiable qui soit complet
pour la logique de Hoare. En d´eduire qu’il n’y a pas de syst`eme de preuve
complet pour les assertions valides (i.e. les At.q. σ|=Apour tout σ).
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !