DM : Programmation 1
DM Programmation I
Younesse Kaddar
Q 1
Soit $u, v∈ {\cal I}$.
-
Cas 1 : $u = \bot$ et $v = \bot$
clairement : $u∨v = \bot$
-
Cas 2 : $u = \bot$ et $v ≠ \bot$
clairement : $u∨v = v$
-
Cas 3 : $u ≝ (a,b) ≠ \bot$ et $v ≝ (c, d) ≠ \bot$ (où $a, b, c, d ∈ ℤ∪\lbrace ±∞ \rbrace$) :
Alors $u∨v = (\min(a,c), \max(b, d))$, car
- cet élément est clairement un majorant
-
tout majorant $(e, f)$ de $u = (a, b)$ et $v = (c, d)$ vérifie :
- $u, v ≤ (e, f) ⟹ a, c ≤ e ⟹ \min(a,c) ≤ e$
- $u, v ≤ (e, f) ⟹ b, d ≤ f ⟹ \max(b, d)≤ f$
Donc $(\min(a,c), \max(b, d))≤(e,f)$, et $(\min(a,c), \max(b, d))$ est bien le plus petit des majorants.
Q 2
a).
${\cal I}$ est un trellis complet, donc un DCPO, d’où
${\cal I}^n$ reste un DCPO
car un produit cartésien de DCPO est un DCPO pour l’ordre produit (d’après le cours), et on conclut par une récurrence immédiate.
b).
Lemme : Un produit cartésien fini $𝒯 ≝ 𝒯_1 × ⋯ × 𝒯_n$ de treillis complets reste un treillis complet.
Soit $A ⊆ 𝒯_1 × ⋯ × 𝒯_n$.
Pour tout $i∈⟦1, n⟧$, pour tout $n$-uplet $a ≝ (a_1, ⋯, a_n)∈ A$, on pose
\[𝜋_i(a) ≝ a_i\](la projection sur la $i$-ème composante des $n$-uplets de $A$)
Montrons que
\[𝒯 ∋ 𝒜 ≝ \Big(\underbrace{\sup_{a∈A} 𝜋_1(a)}_{∈ 𝒯_1},\, \, ⋯, \, \, \underbrace{\sup_{a∈A} 𝜋_n(a)}_{∈ 𝒯_n}\Big) = \sup_𝒯 A\](en utilisant le fait que les $𝒯_i$ sont des treillis complets)
En effet :
-
$𝒜$ majore $A$ :
Pour tout $a ≝ (a_1, ⋯, a_n)∈ A$, pout tout $i∈⟦1, n⟧$,
\[a_i ≤ \sup_{a∈A} 𝜋_i(a)\]Donc $a ≤ 𝒜$ pour l’ordre produit.
-
$𝒜$ est le plus petit des majorants :
Pour tout majorant $m ≝ (m_1, ⋯, m_n)$ de $A$, pout tout $i∈⟦1, n⟧$,
\[\begin{align*} &∀a ∈ A,\, \, a ≤ m \\ ⟹&∀a ∈ A,\, \, 𝜋_i(a) ≤ m_i \\ ⟹&\, \, \sup_{a∈A} 𝜋_i(a) ≤ m_i \end{align*}\]Donc $𝒜 ≤ m$ pour l’ordre produit.
En utilisant le lemme avec $𝒯_1 = ⋯ = 𝒯_n = {\cal I}$, on conclut que
${\cal I}^n$ est un trellis complet.
Q 3
On applique le théorème de Knaster-Tarski à la fonction
\[F' ≝ \begin{cases} {\cal I}^n ⟶ {\cal I}^n \\ η\mapsto η_0 ∨ F(η) \end{cases}\]Notons que
- ${\cal I}^n$ est un trellis complet, d’après Q2.
- $F’$ est bien à valeurs dans ${\cal I}^n$, puisque $F$ l’est, $𝜂_0∈{\cal I}^n$, et ${\cal I}^n$ est un trellis.
- $F’$ est bien monotone, puisque $F$ l’est.
Montrons que son plus petit point fixe $lfp(F’)$ :
-
est un point fixe de $F$ :
En effet :
$lfp(F’) = F’(lfp(F’)) ≝ 𝜂_0 ∨ F(lfp(F’))$, donc $lfp(F’)≥F(lfp(F’))$, et comme $F$ est inflationnaire, il vient que
\[lfp(F') = F(lfp(F'))\] -
est plus grand que $𝜂_0$ :
En effet : cela résulte de
\[𝜂_0 ≤ 𝜂_0 ∨ F(lfp(F')) = F'(lfp(F')) = lfp(F')\] -
est le plus petit point fixe de $F$ supérieur à $𝜂_0$.
En effet : Soit $𝜂$ un point fixe de $F$ supérieur à $𝜂_0$.
Comme
\[\begin{align*} 𝜂 &= F(𝜂) \\ &= 𝜂_0 ∨ F(𝜂) &&\text{car $𝜂_0 ≤ 𝜂 = F(𝜂)$} \\ &= F'(𝜂) \end{align*}\]$𝜂$ est un point fixe de $F’(𝜂)$, et donc par définition de $lfp(F’)$ :
\[lfp(F') ≤ 𝜂\]
Donc $F$ a bien un plus petit point fixe supérieur à $𝜂_0$.
Q 4
NB : On supposera qu’à chaque fois que, dans l’énoncé, il est noté que
\[Q⟦e⟧_η ≝ k ∈ ℤ\](pour une expression $e$ et un environnement quotient $𝜂$) cela signfie, par convention, que :
\[Q⟦e⟧_η = (k-1, k+1)\]On adoptera aussi cette convention.
$F_{e,c} : {\cal I}^n ⟶ {\cal I}^n$ est monotone
En effet :
Si $𝜂, 𝜂’∈{\cal I}^n$ sont tels que $𝜂≤𝜂’$.
-
Cas 1 : Si $Q⟦e⟧η, Q⟦e⟧{η’} ∈ \lbrace ⊥, 0 \rbrace$
alors \(F_{e,c}(𝜂) = 𝜂 ≤ 𝜂' = F_{e,c}(𝜂')\)
-
Cas 2 : Si $Q⟦e⟧η, Q⟦e⟧{η’} ∉ \lbrace ⊥, 0 \rbrace$
alors
-
$F_{e,c}(𝜂) = 𝜂∨Q⟦c⟧_𝜂$
-
$F_{e,c}(𝜂’) = 𝜂’∨Q⟦c⟧_{𝜂’}$
Or :
-
$𝜂≤𝜂’$ par hypothèse
-
\(Q⟦c⟧_{𝜂} ≤ Q⟦c⟧_{𝜂'}\) par monotonie de $Q⟦c⟧_\bullet$
Donc l’ensemble des majorants de \(\lbrace 𝜂', Q⟦c⟧_{𝜂'}\rbrace\) est inclus dans l’ensemble des majorants de $\lbrace 𝜂, Q⟦c⟧_{𝜂}\rbrace$, et comme la borne sup est le plus petit d’entre eux :
\[F_{e,c}(𝜂) = 𝜂∨Q⟦c⟧_𝜂 ≤ 𝜂'∨Q⟦c⟧_{𝜂'} = F_{e,c}(𝜂')\]-
Cas 3 : Si \(Q⟦e⟧_{𝜂} ∈ \lbrace ⊥, 0 \rbrace ∌ Q⟦e⟧_{𝜂'}\)
alors
-
$F_{e,c}(𝜂) = 𝜂$
-
$F_{e,c}(𝜂’) = 𝜂’∨Q⟦c⟧_{𝜂’}$
Or :
-
$F_{e,c}(𝜂) = 𝜂≤𝜂’$ par hypothèse
- \[𝜂'≤𝜂'∨Q⟦c⟧_{𝜂'} = F_{e,c}(𝜂')\]
Donc par transitivité :
\[F_{e,c}(𝜂) = 𝜂 ≤ 𝜂'∨Q⟦c⟧_{𝜂'} = F_{e,c}(𝜂')\] -
-
Cas 4 : Si \(Q⟦e⟧_{𝜂} ∉ \lbrace ⊥, 0 \rbrace ∋ Q⟦e⟧_{𝜂'}\)
-
Sous-Cas 1 : Si $Q⟦e⟧_{𝜂’} = \bot$
alors \(Q⟦e⟧_{𝜂} ≤ Q⟦e⟧_{𝜂'} = \bot\) par monotonie, et
\[Q⟦e⟧_{𝜂} = \bot\]ce qui est absurde (par hypothèse).
-
Sous-Cas 2 : Si $Q⟦e⟧_{𝜂’} = 0$
alors \(Q⟦e⟧_{𝜂} ≤ Q⟦e⟧_{𝜂'} = 0\) par monotonie, d’où
- $Q⟦e⟧_{𝜂} = 0$
OU
- $Q⟦e⟧_{𝜂} = \bot$
ce qui est absurde (par hypothèse).
Donc ce cas ne se présente pas.
-
-
Dans tous les cas :
\[F_{e,c}(𝜂) ≤ F_{e,c}(𝜂')\]et le résultat est acquis.
$F_{e,c} : {\cal I}^n ⟶ {\cal I}^n$ est inflationnaire.
Soit $𝜂 ∈{\cal I}^n$.
-
Cas 1 : Si $Q⟦e⟧_η ∈ \lbrace ⊥, 0 \rbrace$
alors $𝜂 ≤ 𝜂 = F_{e,c}(𝜂)$ par réflexivité.
-
Cas 2 : Si $Q⟦e⟧_η ∉ \lbrace ⊥, 0 \rbrace$
alors \(𝜂 ≤ 𝜂∨Q⟦c⟧_𝜂 = F_{e,c}(𝜂)\) car la borne sup est un majorant.
Dans tous les cas :
\[𝜂 ≤ F_{e,c}(𝜂)\]et le résultat est acquis.
Q 5
Si $F$ une fonction inflationnaire d’un treillis complet $L$ dans lui-même, et si $η ≤ η’$, alors
\[lfp_η(F) ≤ lfp_{𝜂'}(F)\]
En effet :
Il suffit de constater que l’ensemble $FP_{𝜂’}$ des points fixes supérieurs à $𝜂’$ est, par transitivité, inclus dans l’ensemble $FP_{𝜂}$ des points fixes supérieurs à $𝜂$.
Comme $lfp_η(F)$ minore $FP_{𝜂} \supset FP_{𝜂’}$, $lfp_η(F)$ est un minorant de $FP_{𝜂’}$, et
\[lfp_η(F) ≤ lfp_{𝜂'}(F)\]puisque $lfp_{𝜂’}(F)$ est le plus grand des minorants de $FP_{𝜂’}$.
Q 6
La fonction $+ : {\cal I} × {\cal I} ⟶ {\cal I}$ est Scott-continue.
-
Elle est monotone :
Si $(u, u’), (v, v’)∈{\cal I}^2$ sont tels que $(u, u’) ≤ (v, v’)$ :
-
Cas 1 : Si $u = \bot$ ou $u’ = \bot$,
alors $u+ u’ = \bot ≤ v+v’$
-
Cas 1 : Si $v = \bot$ ou $v’ = \bot$,
alors comme $u ≤ v$ et $u’ ≤ v’$ : il vient que $u = \bot$ ou $u’ = \bot$, et on se ramène au cas précédent.
-
Cas 3 : Si $(u, u’) ≝ ((a,b), (a’,b’)), (v, v’) ≝ ((c,d), (c’,d’))$ (où $a, a’, b, b’, c, c’, d, d’ ∈ ℤ∪\lbrace ±∞ \rbrace$),
alors
-
$a≥c$ et $a’≥c’$
- donc $a+a’≥c+c’$
-
$b≤ d$ et $b’≤ d’$
- donc $b+b’≤d+d’$
d’où $u+ u’ = (a+a’, b+b’)≤ (c+c’, d+d’) = v+v’$
-
-
2.
Pour toute famille dirigée \((v_i, w_i)_{i∈I}\) de couples d’éléments de ${\cal I}$, \(\sup_{i∈I} (v_i + w_i) = (\sup_{i∈I} v_i) + (\sup_{i∈I} w_i)\).
Soit $(v_i, w_i)_{i∈I}$ une telle famille dirigée.
Notons que l’inégalité
\[\sup_{i∈I} (v_i + w_i) ≤ (\sup_{i∈I} v_i) + (\sup_{i∈I} w_i)\]est acquise par monotonie de $+$ et puisque :
\[\begin{align*} &∀i∈I, v_i + w_i ≤ (\sup_{i∈I} v_i) + (\sup_{i∈I} w_i) &&\text{(monotonie de $+$)}\\ ⟺& \, \, \sup_{i∈I} (v_i + w_i) ≤ (\sup_{i∈I} v_i) + (\sup_{i∈I} w_i) \end{align*}\]Montrons l’autre inégalité.
-
Cas 1 : $∀i∈I, v_i = \bot$ ou $∀i∈I, w_i = \bot$ :
alors $\sup_{i∈I} v_i = \bot$ ou $\sup_{i∈I} w_i = \bot$, et on a bien
\[\sup_{i∈I} (v_i + w_i) ≥ \bot = (\sup_{i∈I} v_i) + (\sup_{i∈I} w_i)\] -
Cas 2 : $∃i∈I, v_i ≠ \bot$ et $∃j∈I, w_j ≠ \bot$ :
alors en écrivant les $v_i ≠\bot$ (resp. $w_i≠\bot$) sous la forme $(a_i, b_i)$ (resp. $(c_i, d_i)$), et en utilisant le lemme de l’énoncé :
- \[\sup_{i∈I} v_i = (\underbrace{\inf_{i∈I,v_i ≠⊥} a_i}_{≝ 𝛼}, \, \, \underbrace{\sup_{i∈I,v_i ≠⊥} b_i}_{≝ 𝛽})\]
- \[\sup_{i∈I} w_i = (\underbrace{\inf_{i∈I,w_i ≠⊥} c_i}_{≝ 𝛾},\, \, \underbrace{\sup_{i∈I,w_i ≠⊥} d_i}_{≝ 𝛿})\]
et
\[(\sup_{i∈I} v_i) + (\sup_{i∈I} w_i) = (𝛼+𝛾, 𝛽+𝛿)\]Par ailleurs, comme la famille est dirigée : $∀i,j ∈I, ∃k∈I;$
\[\begin{cases} (v_k, w_k) ≥ (v_i, w_i) ⟺ v_k ≥ v_i ∧ w_k ≥ w_i\\ (v_k, w_k) ≥ (v_j, w_j) ⟺ v_k ≥ v_j ∧ w_k ≥ w_j \end{cases}\]donc $∀i,j ∈I, ∃k∈I;$
\[(v_k, w_k) ≥ (v_i, w_j)\]donc par monotonie de $+$ : $∀i,j ∈I, ∃k∈I;$
\[\sup_{l∈I} (v_l + w_l) ≥ v_k + w_k ≥ v_i + w_j\]et $∀i, j∈I; v_i ≝ (a_i, b_i) ≠ \bot ∧ w_j ≝ (c_j, d_j) ≠ \bot$,
\[\sup_{l∈I} (v_l + w_l) ≥ v_i + w_j = (a_i+c_j, b_i+d_j) ≥ (𝛼+𝛾, b_i+d_j)\]Il vient alors que $∀i∈I; v_i ≝ (a_i, b_i) ≠ \bot$,
\[\sup_{l∈I} (v_l + w_l) ≥ (𝛼+𝛾, b_i +𝛿)\]et enfin :
\[\sup_{l∈I} (v_l + w_l) ≥ (𝛼+𝛾, 𝛽 +𝛿) = (\sup_{i∈I} v_i) + (\sup_{i∈I} w_i)\]
Donc $+$ est bien Scott-continue.
Q 7
La fonction $- : {\cal I} ⟶ {\cal I}$ est Scott-continue.
-
Elle est monotone :
Si $u, v ∈{\cal I}$ sont tels que $u ≤ v$ :
-
Cas 1 : Si $u = \bot$,
alors clairement $-u = \bot ≤ -v$
-
Cas 1 : Si $v = \bot$,
alors comme $u ≤ v$ : il vient que $u = \bot$ et on se ramène au cas précédent.
-
Cas 3 : Si $u ≝ (a,b), v ≝ (c,d)$ (où $a, b, c, d ∈ ℤ∪\lbrace ±∞ \rbrace$),
alors
-
$a≥c$
- donc $-a≤-c$
-
$b≤ d$
- donc $-d≤-b$
d’où $-u = (-b, -a)≤ (-d, -c) = -v$
-
-
2.
Pour toute famille dirigée \((v_i)_{i∈I}\) d’éléments de \({\cal I}$, $-\sup_{i∈I} (v_i) = \sup_{i∈I} (-v_i)\).
Soit $(v_i)_{i∈I}$ une telle famille dirigée.
De même qu’auparavant, l’inégalité
\[-\sup_{i∈I} (v_i) ≥ \sup_{i∈I} (-v_i)\]est acquise par monotonie de $-$.
Montrons l’autre inégalité.
-
Cas 1 : $∀i∈I, v_i = \bot$ :
alors $\sup_{i∈I} v_i = \bot$, et on a bien
\[\sup_{i∈I} (-v_i) ≥ \bot = -(\sup_{i∈I} v_i)\] -
Cas 2 : $∃i∈I, v_i ≠ \bot$ :
alors en écrivant les $v_i ≠\bot$ sous la forme $(a_i, b_i)$, et en utilisant le lemme de l’énoncé :
\[\sup_{i∈I} v_i = (\underbrace{\inf_{i∈I,v_i ≠⊥} a_i}_{≝ 𝛼}, \, \, \underbrace{\sup_{i∈I,v_i ≠⊥} b_i}_{≝ 𝛽})\]Par ailleurs, $∀i∈I; v_i ≝ (a_i, b_i) ≠ \bot$,
\[\sup_{l∈I} (- v_l) ≥ -v_i = (-b_i, -a_i) ≥ (-𝛽, -a_i)\]donc $∀i∈I; v_i ≝ (a_i, b_i) ≠ \bot$,
\[\sup_{l∈I} (-v_l) ≥ (-𝛽, -a_i)\]d’où l’opposé de la deuxième composante de $\sup_{l∈I} (-v_l)$ est inférieur à $a_i$ pour tout $i∈I$, et est donc inférieur à $𝛼$.
Il vient alors que la deuxième composante de $\sup_{l∈I} (-v_l)$ est supérieure à $-𝛼$, d’où enfin :
\[\sup_{l∈I} (-v_l) ≥ (-𝛽, -𝛼) = -(\sup_{i∈I} v_i)\]
Donc $-$ est bien Scott-continue.
Q 8
Si $F : {\cal I}^n ⟶ {\cal I}^n$ est une fonction inflationnaire et Scott-continue, alors la fonction $g_F : {\cal I}^n ⟶ {\cal I}^n, 𝜂 \mapsto lfp_η(F)$ est encore Scott-continue.
- La monotonie de $g_F$ a été montrée en Q 5.
2.
Pour toute famille dirigée \((𝜂_{i})_{i∈I}\) d’éléments de ${\cal I}^n$, \(lfp_{\sup_{i∈I} 𝜂_i}(F) = \sup_{i∈I} lfp_{𝜂_{i}}(F)\).
Soit $(𝜂_{i})_{i∈I}$ une telle famille dirigée.
De même qu’auparavant, l’inégalité
\[lfp_{\sup_{i∈I} 𝜂_{i}}(F) ≥ \sup_{i∈I} \, lfp_{𝜂_{i}}(F)\]est acquise par monotonie de $g_F$.
Montrons l’autre inégalité : $lfp_{\sup_{i∈I} 𝜂_{i}}(F) ≤ \sup_{i∈I} \, lfp_{𝜂_{i}}(F)$.
Méthode 1
\[\begin{align*} \sup_{i∈I} \, lfp_{𝜂_{i}}(F) &= \sup_{i∈I} \,F(lfp_{𝜂_{i}}(F)) \\ &= F(\sup_{i∈I} \,lfp_{𝜂_{i}}(F)) &&\text{(⊛)} \\ &≥ lfp_{\sup_{i∈I} 𝜂_{i}}(F) &&\text{(⊛⊛)} \end{align*}\]-
$⊛$ : par Scott-continuité de $F$, et car la famille $(lfp_{𝜂_{i}}(F))_{i∈I}$ reste dirigée.
-
en effet : pour tous $i, j∈I$, il existe $k$ tel que $𝜂_{k} ≥ 𝜂_{i}, 𝜂_{j}$. Donc
\[lfp_{𝜂_{k}}(F) ≥ lfp_{𝜂_{i}}(F), lfp_{𝜂_{j}}(F)\]par monotonie de $g_F$.
-
-
$⊛⊛$ : $\sup_{i∈I} \, lfp_{𝜂_{i}}(F)$ est un point fixe de $F$ (voir l’égalité qui précède) supérieur à tous à les $lfp_{𝜂_{i}}(F)$ (pour tout $i∈I$), donc (par transitivité) à tous les $𝜂_{i}$ (pour tout $i∈I$), donc à $\sup_{i∈I} 𝜂_{i}$. Par définition de $lfp_{\sup_{i∈I} 𝜂_{i}}(F)$, la minoration s’ensuit.
Méthode 2
NB : J’ai trouvé la méthode 1 après avoir rédigé la méthode 2 : je n’ai pu me résoudre à effacer cette dernière, que je laisse ici à titre alternatif.
Lemme : Si $f: {\cal I}^n ⟶ {\cal I}^n$ est Scott-continue : pour tout $𝜂∈ {\cal I}^n$, la fonction $𝜂’ \mapsto 𝜂 ∨ f(𝜂’)$ reste Scott-continue.
En effet :
- sa monotonie est héritée de celle de $f$
-
toute famille dirigée \((𝜂'_{i})_{i∈I}\) vérifie :
\[\sup_{i∈I} (𝜂 ∨ f(𝜂'_i)) = 𝜂 ∨ \sup_{i∈I} f(𝜂'_i)\]car
- \[∀i∈I, 𝜂 ∨ f(𝜂'_i) ≤ 𝜂 ∨ \sup_{i∈I} f(𝜂'_i) \\ ⟹ \sup_{i∈I} (𝜂 ∨ f(𝜂'_i)) ≤ 𝜂 ∨ \sup_{i∈I} f(𝜂'_i)\]
-
\[\sup_{i∈I} (𝜂 ∨ f(𝜂'_i)) ≥𝜂$ et $\sup_{i∈I} (𝜂 ∨ f(𝜂'_i)) ≥ \sup_{i∈I} f(𝜂'_i)$, donc $\sup_{i∈I} (𝜂 ∨ f(𝜂'_i)) ≥ 𝜂 ∨ \sup_{i∈I} f(𝜂'_i)\]
Par suite :
\[\sup_{i∈I} (𝜂 ∨ f(𝜂'_i)) = 𝜂 ∨ \sup_{i∈I} f(𝜂'_i) \\ = 𝜂 ∨ f(\sup_{i∈I} 𝜂'_i)\]par Scott-continuité de $f$, et la Scott continuité de $𝜂’ \mapsto 𝜂 ∨ f(𝜂’)$ est acquise.
On a vu en Q3 que :
\[∀𝜂∈{\cal I}^n, lfp_𝜂(F) = lfp(𝜂' \mapsto 𝜂∨F(𝜂'))\]Donc en appliquant le théorème du point fixe de Kleene à la fonction Scott-continue $𝜂’ \mapsto (\sup_{i∈I} 𝜂_i)∨F(𝜂’)$ (d’après le lemme):
\[lfp_{\sup_{i∈I} 𝜂_{i}}(F) = \sup_{m∈ℕ} ((\sup_{i∈I} 𝜂_i)∨F)^m(\bot_n)\]en notant
- $\bot_n$ le $n$-uplet $(\bot, ⋯, \bot)∈{\cal I}^n$.
- $(\sup_{i∈I} 𝜂_i)∨F$ la fonction $𝜂’ \mapsto (\sup_{i∈I} 𝜂_i)∨F(𝜂’)$
On veut donc montrer que :
\[\begin{align*} &\, \, lfp_{\sup_{i∈I} 𝜂_{i}}(F) &≤ \sup_{i∈I} \, lfp_{𝜂_{i}}(F) \\ ⟺&\, \, \sup_{m∈ℕ} ((\sup_{i∈I} 𝜂_i)∨F)^m(\bot_n) &≤ \underbrace{\sup_{i∈I} \sup_{m∈ℕ} (𝜂_i∨F)^m(\bot_n)}_{ = \sup_{m∈ℕ} \sup_{i∈I} (𝜂_i∨F)^m(\bot_n)} \end{align*}\]et il suffit pour cela de montrer que, pour tout entier $m$ :
\[((\sup_{i∈I} 𝜂_i)∨F)^m(\bot_n) ≤ \sup_{i∈I} (𝜂_i∨F)^m(\bot_n)\]Or : $∀ i_1, ⋯, i_m ∈ I$,
\[\prod\limits_{r=1}^m (𝜂_{i_r}∨F) (\bot_n) = (𝜂_{i_1}∨F) \circ ⋯ \circ (𝜂_{i_m}∨F) (\bot_n) ≤ (𝜂_{k}∨F)^m(\bot_n) \\ ≤ ((\sup_{j∈I} 𝜂_j)∨F)^m(\bot_n)\]où
-
$𝜂_{i_1}, ⋯, 𝜂_{i_m} ≤ 𝜂_k$ : un tel majorant existe car la famille est dirigée
- c’est la définition pour $m=2$, et on conclut par une récurrence immédiate pour $m≥2$, en utilisant la transitivité de $≤$.
-
on a utilisé la monotonie (pour l’ordre point à point) de $𝜂’ \mapsto 𝜂’ ∨ F$ (qui découle de la monotonie de $F$) et le fait qu’une composée de fonctions montones reste monotone :
- $(𝜂_{i_1}∨F) \Big((𝜂_{i_2}∨F) ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)
≤ (𝜂_{k}∨F)\Big((𝜂_{i_2}∨F) \circ ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)$ -
$(𝜂_{k}∨F) \circ (𝜂_{i_2}∨F)\Big( (𝜂_{i_3}∨F) ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)
≤ (𝜂_{k}∨F) \circ (𝜂_{k}∨F) \Big((𝜂_{i_3}∨F) \circ ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)$-
car $(𝜂_{i_2}∨F)\Big( (𝜂_{i_3}∨F) ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)
≤ (𝜂_{k}∨F) \Big((𝜂_{i_3}∨F) \circ ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)$et $(𝜂_{k}∨F)$ est monotone
-
- on conclut par une récurrence immédiate, par monotonie de $𝜂’ \mapsto 𝜂’ ∨ F$ et de $(𝜂_{k}∨F)^l$ pour tout $l∈⟦1, m⟧$ (par composition de fonctions monotones).
- $(𝜂_{i_1}∨F) \Big((𝜂_{i_2}∨F) ⋯ \circ (𝜂_{i_m}∨F) (\bot_n)\Big)
Or : $∀ i_1, ⋯, i_m ∈ I$,
\[\prod\limits_{r=1}^m (𝜂_{i_r}∨F) (\bot_n) ≤ ((\sup_{j∈I} 𝜂_j)∨F)^m(\bot_n)\]implique que
\[((\sup_{i∈I} 𝜂_i)∨F)^m(\bot_n) = \prod\limits_{r=1}^m (\sup_{i_r∈I} 𝜂_{i_r}∨F) (\bot_n)≤ \sup_{i∈I} (𝜂_i∨F)^m(\bot_n)\]car :
-
Pour tous $x, y∈{\cal I}^n$ : $∀i∈I, (𝜂_i∨F)(x) ≤ y ⟹ ((\sup_{i∈I} 𝜂_i)∨F)(x) ≤ y$
-
En effet :
$∀i∈I, (𝜂_i∨F)(x) = 𝜂_i ∨ F(x) ≤ y$ implique que $y$ majore les $𝜂_i$, donc $y≥\sup_{i∈I} 𝜂_i$, et comme $y ≥ F(x)$, le résultat s’ensuit.
-
-
on conclut par une récurrence immédiate en utilisant le résultat précédent et la monotonie de $(\sup_{i∈I} 𝜂_i) ∨ F$.
Donc le résultat est acquis.
Q 9
La fonction $filt: {\cal E}’ ⟶ \lbrace ρ ∈ {\cal E}’ \vert ⟦e⟧_ρ ≠ 0 \rbrace$ est Scott-continue.
-
Elle est monotone :
Si ${\cal E}, {\cal E}’ ∈ℙ(Env)$ sont tels que ${\cal E} ⊆ {\cal E}’$ : il est clair que
\[filt({\cal E}) ≝ \lbrace ρ ∈ {\cal E} ⊆ {\cal E}' \vert ⟦e⟧_ρ ≠ 0 \rbrace ⊆ \lbrace ρ ∈ {\cal E}' \vert ⟦e⟧_ρ ≠ 0 \rbrace ≝ filt({\cal E}')\]
2.
Pour toute famille dirigée \(({\cal E}_{i})_{i∈I}\) d’éléments de $ℙ(Env)$,
\[filt({\sup_{i∈I} {\cal E}_i}) = filt(\bigcup\limits_{i∈I} {\cal E}_i) =\sup_{i∈I} filt({\cal E}_i)\]
Soit $(𝜂_{i})_{i∈I}$ une telle famille dirigée.
L’inégalité
\[filt({\sup_{i∈I} {\cal E}_i}) ≥ \sup_{i∈I} filt({\cal E}_i)\]est acquise par monotonie.
Montrons que :
\[filt({\sup_{i∈I} {\cal E}_i}) = filt(\bigcup\limits_{i∈I} {\cal E}_i) \\ = \lbrace ρ ∈ \bigcup\limits_{i∈I} {\cal E}_i \, \, \vert ⟦e⟧_ρ ≠ 0 \rbrace ≤ \sup_{i∈I} filt({\cal E}_i) \\ = \sup_{i∈I} \lbrace ρ ∈ {\cal E}_i \, \, \vert ⟦e⟧_ρ ≠ 0 \rbrace \\ = \bigcup\limits_{i∈I} \lbrace ρ ∈ {\cal E}_i \, \, \vert ⟦e⟧_ρ ≠ 0 \rbrace\]C’est clair, car pour tout $ρ ∈ \bigcup\limits_{i∈I} {\cal E}_i$ tel que $⟦e⟧_ρ ≠ 0$, il existe $i∈I$ tel que
\[𝜌∈{\cal E}_i\]donc
\[𝜌∈\lbrace ρ' ∈ {\cal E}_i \, \, \vert ⟦e⟧_{ρ'} ≠ 0 \rbrace\]et
\[𝜌∈\bigcup\limits_{j∈I} \lbrace ρ' ∈ {\cal E}_j \, \, \vert ⟦e⟧_{ρ'} ≠ 0 \rbrace\]Ainsi, on a montré que
\[\lbrace ρ ∈ \bigcup\limits_{i∈I} {\cal E}_i \, \, \vert ⟦e⟧_ρ ≠ 0 \rbrace ⊆ \bigcup\limits_{i∈I} \lbrace ρ ∈ {\cal E}_i \, \, \vert ⟦e⟧_ρ ≠ 0 \rbrace\]Q 10
On note $f$ la fonction Scott-continue ${\cal E}’ \mapsto {\cal E}∪𝛷_{e,c}({\cal E}’)$.
Lemme : $∀m∈ℕ$,
\[{\cal E}_m = f^{m+1}(∅)\]
En effet : par récurrence sur $m∈ℕ$ :
-
Initialisation : pour $m=0$, le résultat est acquis :
\[{\cal E}_0 = {\cal E} = {\cal E} ∪ ∅ \\ = {\cal E} ∪ 𝛷_{e,c}(∅) = f(∅)\]car $X⟦c⟧∅ = ∅$ (aucun environnement n’est accessible depuis $c$ et $∅$ car il n’existe aucun environnement dans $∅$).
-
Hérédité : pour $m≥1$ :
\[\begin{align*} {\cal E}_m &= {\cal E} ∪ {\cal E}_m &&\text{(car $({\cal E}_m)_{m∈ℕ}$ croît, et ${\cal E}⊆{\cal E}_m$ ($m≥1$))}\\ &={\cal E} ∪ {\cal E}_{m-1} ∪ X⟦c⟧\lbrace ρ∈{\cal E}_{m-1} \, \, \vert \, \, e⟦𝜌⟧≠0\rbrace) \\ &= f({\cal E}_{m-1}) \\ &= f^{m+1}(∅) &&\text{(par hypothèse de récurrence)} \\ \end{align*}\]Le résultat est donc acquis.
Donc
\[\begin{align*} X⟦\textsf{while $e$ do $c$}⟧{\cal E} &= \bigcup\limits_{m≥0} {\cal E}_m \\ &= \bigcup\limits_{m≥1} f^m(∅) &&\text{(d'après le lemme)} \\ &= \bigcup\limits_{m≥0} f^m(∅) \\ &= \sup_{m≥0} f^m(∅) \\ &= lfp(f) &&\text{(par le théorème du point fixe de Kleene ($f$ est Scott-continue))} \\ &= lfp({\cal E}' \mapsto {\cal E}∨𝛷_{e,c}({\cal E}')) \\ &= lfp_{ {\cal E} }(𝛷_{e,c}) &&\text{(d'après Q3)} \end{align*}\]ce qui conclut.
Q 11
NB : les intervalles considérés sont des intervalles entiers.
Pour tout $v∈{\cal I}$, pour tout $E∈ℙ(ℤ)$,
\[α(E)≤v ⟺ E⊆γ(v)\]
En effet : Soient $v∈{\cal I}$, $E∈ℙ(ℤ)$.
-
Cas 1 : $v=\bot$
\[α(E)≤v=\bot ⟺ α(E)=\bot \\ ⟺ E = ∅ ⟺ E⊆γ(v)=∅\] -
Cas 2 : $v ≝ (a, b)$ (où $a,b ∈ ℤ ∪ \lbrace ±∞ \rbrace$ et $a + 1 < b$) :
-
$⟹$ :
Si $α(E) = (\inf E − 1, \sup E + 1)≤v =(a,b)$, alors
- $\inf E ≥ a+1$
- $\sup E ≤ b-1$
et on a bien
\[E⊆ [\inf E, \sup E] ⊆ ]a, b[ = γ(v)\] -
$⟸$ :
Si $E⊆γ(v) = ]a, b[$ , alors
- Comme $∀e∈E, e≥a+1$, il vient que $\inf E ≥ a+1$
- Comme $∀e∈E, e≤b-1$, il vient que $\sup E ≤ b-1$
et on a bien
\[α(E) = (\inf E − 1, \sup E + 1)≤v =(a,b)\]
-
Q 12
Soit $c$ une commande.
On suppose que pour tout environnement quotient $η’$ et tout ensemble ${\cal E}’∈ℙ(Env)$ que $η’$ représente correctement, $Q⟦c⟧{𝜂’}$ représente correctement $X⟦c⟧{\cal E’}$.
Pour tous $𝜂∈{\cal I}^n$ et ${\cal E}∈ℙ(Env)$, si $η$ représente correctement ${\cal E}$, alors $Q⟦\textsf{while } e \textsf{ do } c⟧𝜂$ représente correctement $X⟦\textsf{while } e \textsf{ do } c⟧{\cal E}$.
En effet :
Soit $𝜂∈{\cal I}^n$ représentant correctement ${\cal E}∈ℙ(Env)$, i.e $𝛼(\lbrace ρ(x) \vert ρ ∈ {\cal E} \rbrace) ≤ η(x)$, ce qui équivaut à $\lbrace ρ(x) \vert ρ ∈ {\cal E} \rbrace ⊆ 𝛾(η(x))$ pour toute variable $x$.
Montrons que : pour toute variable $x$,
\[\lbrace ρ(x) \vert ρ ∈ lfp_{\cal E} (Φ_{e,c}) \rbrace ⊆ 𝛾(lfp_η(F_{e,c})(x))\]Lemme 1 : Soit $X$ est un DCPO pointé, $f: X ⟶ X$ une fonction inflationnaire Scott-continue, $x∈X$ :
\[lfp_x(f) ≝ \sup_{m∈ℕ} f^m(x)\]
$(f^m(x))_m$ est une chaîne, et est donc dirigée.
Posons
\[y ≝ \sup_{m∈ℕ} f^m(x)\]Alors :
\[\begin{align*} f(y) &= f(\sup_{m∈ℕ} f^m(x)) \\ &= \sup_{m∈ℕ} f^{m+1}(x) &&\text{(par Scott-continuité de $f$)}\\ &= \sup_{m∈ℕ} f^{m}(x) &&\text{(car $f$ est inflationnaire ($f(x)≥x$))} \end{align*}\]Donc :
\(y = f(y)\) et $y$ est un point fixe.
Montrons que c’est le plus petit point fixe supérieur à $x$ :
Si $z$ est un autre point fixe supérieur à $x$ :
\[\begin{align*} &\, \, x ≤ z \\ ⟹&\, \, f(x) ≤ f(z)=z &&\text{(par monotonie de $f$)}\\ ⟹&\, \, ∀m∈ℕ, f^m(x) ≤ z &&\text{(par une récurrence immédiate)}\\ ⟹&\, \, y ≤ z \end{align*}\]En appliquant le lemme précédent, il vient que :
- $lfp_η(F_{e,c}) = \sup_{m∈ℕ}F_{e,c}^m(η)$
- $lfp_{\cal E}(Φ_{e,c}) = \bigcup\limits_{m≥0} Φ_{e,c}^m({\cal E})$
Scolie 1 : Pour tous environnements quotients $𝜂’, 𝜂’’$ et tous ensembles ${\cal E}’, {\cal E}’‘∈ℙ(Env)$ représentés correctement respectivement par $𝜂’, 𝜂’’$ : $𝜂’ ∨ 𝜂’’$ représente correctement ${\cal E}’ ∪ {\cal E}’’$
En effet :
pour toute variable $x$, il suffit de remarquer que :
\[\begin{cases} \lbrace ρ(x) \vert ρ ∈ {\cal E}' \rbrace ⊆ 𝛾(𝜂'(x)) \\ \lbrace ρ(x) \vert ρ ∈ {\cal E}'' \rbrace ⊆ 𝛾(𝜂''(x)) \end{cases} ⟹ \lbrace ρ(x) \vert ρ ∈ {\cal E}'∪{\cal E}'' \rbrace ⊆ 𝛾(𝜂'(x)) ∪ 𝛾(𝜂''(x)) ⊆ 𝛾((𝜂' ∨ 𝜂'')(x))\]la dernière inclusion venant du fait que :
- $𝛾(𝜂’(x)) ⊆ 𝛾((𝜂’ ∨ 𝜂’’)(x))$ et $𝛾(𝜂’‘(x)) ⊆ 𝛾((𝜂’ ∨ 𝜂’’)(x))$ car $𝛾$ est monotone
- ce qui impique que $𝛾(𝜂’(x)) ∪ 𝛾(𝜂’‘(x)) ⊆ 𝛾((𝜂’ ∨ 𝜂’’)(x))$
Scolie 2 : Pour tout environnement quotient $η’$ et tout ensemble ${\cal E}’∈ℙ(Env)$ que $η’$ représente correctement :
$F_{e,c}(η’)$ représente correctement $Φ_{e,c}({\cal E}’)$
En effet :
-
Cas 1 : Si $Q⟦e⟧η’ =⊥$ ou $Q⟦e⟧η’ = 𝛼(\lbrace 0 \rbrace)$ :
alors
- $Φ_{e,c}({\cal E}’) = {\cal E}’ ∪ X⟦c⟧ \lbrace ρ ∈ {\cal E}’ \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace$
- $F_{e,c}(η’) = η’$
mais comme $Q⟦e⟧η’$ représente correctement $\lbrace ⟦e⟧𝜌 \, \vert \, 𝜌∈{\cal E}’ \rbrace$, il vient que :
\[\lbrace ⟦e⟧𝜌 \, \vert \, 𝜌∈{\cal E}' \rbrace ⊆ 𝛾(Q⟦e⟧η') ⊆ \lbrace 0 \rbrace\]Donc $\lbrace ρ ∈ {\cal E}’ \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace = ∅$, et :
\[X⟦c⟧ \lbrace ρ ∈ {\cal E}' \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace = X⟦c⟧∅ = ∅\](cf. l’initialisation du lemme de Q10)
Par suite :
\[Φ_{e,c}({\cal E}') = {\cal E}'\]et le résultat est acquis (par hypothèse).
-
Cas 2 : Sinon, si $Q⟦e⟧η’ ≠ ⊥$ et $Q⟦e⟧η’ ≠ 𝛼(\lbrace 0 \rbrace)$ :
alors
- $Φ_{e,c}({\cal E}’) = {\cal E}’ ∪ X⟦c⟧ \lbrace ρ ∈ {\cal E}’ \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace$
- $F_{e,c}(η’) = η’ ∨ Q⟦c⟧η’$
et :
\[\lbrace ⟦e⟧𝜌 \, \vert \, 𝜌∈{\cal E}' \rbrace ⊆ 𝛾(Q⟦e⟧η') ≠ ∅, \lbrace 0 \rbrace\](car $𝛼\circ 𝛾 = id$)
D’où :
\[∅≠\lbrace ρ ∈ {\cal E}' \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace ⊆ {\cal E}'\]et pour toute variable $x$ :
\[\lbrace ρ(x) \vert ρ ∈ \lbrace ρ ∈ {\cal E}' \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace \rbrace ⊆ \lbrace ρ(x) \vert ρ ∈ {\cal E}' \rbrace ⊆ 𝛾(𝜂'(x))\]donc $𝜂’$ représente correctement $\lbrace ρ ∈ {\cal E}’ \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace$, donc $Q⟦c⟧{𝜂’}$ représente correctement $X⟦c⟧\lbrace ρ ∈ {\cal E}’ \, \vert \, \, e⟦ρ⟧ ≠ 0 \rbrace$ (d’après le résultat admis rappelé au début).
On conclut avec la scolie 1 : $F_{e,c}(η’)$ représente correctement $Φ_{e,c}({\cal E}’)$.
Lemme 2 : Pour tout $m∈ℕ$, $F_{e,c}^m(η)$ représente correctement $Φ_{e,c}^m({\cal E})$
En effet : par récurrence sur $m∈ℕ$ :
-
Initialisation : pour $m=0$, le résultat est acquis.
-
Hérédité : pour $m≥1$ :
On utilise la scolie 2 avec $F_{e,c}^{m-1}(η)$ qui, par hypothèse de récurrence, représente correctement $Φ_{e,c}^{m-1}({\cal E})$, pour en déduire que $F_{e,c}^m(η)$ représente correctement $Φ_{e,c}^m({\cal E})$.
On montre ainsi, par une récurrence immédiate avec la scolie 2 et le lemme 2, que :
Pour tout $N∈ℕ$,
$\sup_{0≤m≤N} F_{e,c}^m(η)$ représente correctement $\bigcup\limits_{m=0}^N Φ_{e,c}^m({\cal E})$
Donc pour tout $N∈ℕ$, pour toute variable $x$ :
\[\lbrace ρ(x) \vert ρ ∈ \bigcup\limits_{m=0}^N Φ_{e,c}^m({\cal E}) \rbrace ⊆ 𝛾\bigg(\sup_{0≤m≤N} F_{e,c}^m(η)(x)\bigg) ⊆ 𝛾\bigg(\sup_{m∈ℕ}F_{e,c}^m(η)(x)\bigg) = 𝛾\big(lfp_η(F_{e,c})(x)\big)\]par monotonie de $𝛾$, et :
$lfp_η(F_{e,c})$ représente correctement $\bigcup\limits_{m=0}^N Φ_{e,c}^m({\cal E})$ pour tout $N∈ℕ$.
Par l’absurde :
Si $lfp_η(F_{e,c})$ ne représentait pas correctement $lfp_{\cal E}(Φ_{e,c}) = \bigcup\limits_{m≥0} Φ_{e,c}^m({\cal E})$ : il existerait une variable $x$ et un environnement (réel) $𝜌∈\bigcup\limits_{m≥0} Φ_{e,c}^m({\cal E})$ tels que $𝜌(x)∈\Big(\lbrace ρ’(x) \vert ρ’ ∈ \bigcup\limits_{m≥0} Φ_{e,c}^m({\cal E}) \rbrace \Big)\big\backslash 𝛾(lfp_η(F_{e,c})(x))$.
Or, il existerait un $N∈ℕ$ tel que $𝜌∈Φ_{e,c}^N({\cal E})⊆\bigcup\limits_{m=0}^N Φ_{e,c}^m({\cal E})$, d’où
\[𝜌(x)∈\Big(\lbrace ρ'(x) \vert ρ' ∈ \bigcup\limits_{m=0}^N Φ_{e,c}^m({\cal E}) \rbrace \Big)\big\backslash 𝛾(lfp_η(F_{e,c})(x))\]ce qui est absurde, car $\lbrace ρ’(x) \vert ρ’ ∈ \bigcup\limits_{m=0}^N Φ_{e,c}^m({\cal E}) \rbrace ⊆ 𝛾(lfp_η(F_{e,c})(x))$.
Ainsi :
$lfp_η(F_{e,c}) = \sup_{m∈ℕ}F_{e,c}^m(η)$ représente correctement $lfp_{\cal E}(Φ_{e,c}) = \bigcup\limits_{m≥0} Φ_{e,c}^m({\cal E})$.
Q 13
La démonstration se fait par induction structurelle sur la commande (ou : par récurrence sur la structure de la commande).
En Q12, on avait $c’=\textsf{while } e \textsf{ do } c$, et on a utilisé l’hypothèse d’induction, supposée acquise, sur $c$, pour en déduire le résultat pour $c’$.
Q 14 / 15
Pour tous $𝜂∈{\cal I}^n$ et ${\cal E}∈ℙ(Env)$, si $η$ représente correctement ${\cal E}$, alors $Q⟦x:=e⟧𝜂 = η ∨ η[x → Q⟦e⟧η]$ représente correctement $X⟦x:=e⟧{\cal E} = {\cal E}∪\lbrace ρ[x → ⟦e⟧ρ] \, \, \vert \, \, ρ∈{\cal E} \rbrace$.
En effet :
Il suffira, en utilisant la scolie 2 de Q12, de montrer que $η[x \mapsto Q⟦e⟧η]$ représente correctement $\lbrace ρ[x \mapsto ⟦e⟧ρ] \, \, \vert \, \, ρ∈{\cal E} \rbrace$.
i.e pour toute variable $y$,
\[\lbrace ρ'(y) \vert ρ' ∈ \lbrace ρ[x \mapsto ⟦e⟧ρ] \, \, \vert \, \, ρ∈{\cal E} \rbrace \rbrace ⊆ 𝛾\Big(η[x \mapsto Q⟦e⟧η](y)\Big)\]Soit $y$ une variable.
On sait par ailleurs que $Q⟦e⟧η$ représente correctement $\lbrace ⟦e⟧ρ \, \, \vert \, \, ρ ∈ {\cal E}\rbrace$, i.e :
\[\lbrace ⟦e⟧ρ \, \, \vert \, \, ρ ∈ {\cal E}\rbrace ⊆ 𝛾(Q⟦e⟧η) \hspace{1em}⊛\]Soit $ρ’ ∈ \lbrace ρ[x \mapsto ⟦e⟧ρ] \, \, \vert \, \, ρ∈{\cal E} \rbrace$.
Montrons que \(ρ'(y)∈𝛾\Big(η[x \mapsto Q⟦e⟧η](y)\Big)\)
-
Cas 1 : Si $y≠x$
alors
\[𝜌'(y)∈ \lbrace ρ(y) \, \, \vert \, \, ρ∈{\cal E} \rbrace ⊆ 𝛾\big(\underbrace{𝜂(y)}_{= η[x \mapsto Q⟦e⟧η](y)}\big) = 𝛾\Big(η[x \mapsto Q⟦e⟧η](y)\Big)\](car $𝜂$ représente correctement ${\cal E}$).
-
Cas 2 : Si $y=x$
alors
\[𝜌'(y) = 𝜌'(x) = ⟦e⟧𝜌' ∈ \lbrace ⟦e⟧ρ \, \, \vert \, \, ρ ∈ {\cal E}\rbrace ⊆ 𝛾(\underbrace{Q⟦e⟧η}_{= η[x \mapsto Q⟦e⟧η](y)})\](d’après $⊛$).
Donc le résultat est acquis.
Q 16
NB : on utilisera les notations usuelles pour dénoter la relation binaire “stricte” $>$ obtenue à partir de $≥$ : $> \, ≝ \, \, ≥ \text{ et } ≠$
Soit $x$ une variable telle que $∅≠𝛾(𝜂(x))⊆ℤ$ (donc si $𝜂(x) ≝(a,b)$ : $a, b ∈ℤ$)
Avec \(\textsf{while } \underbrace{1}_{≝ e} \textsf{ do } \underbrace{x:=x+1}_{≝ c}\) :
comme
\[F_{e,c}(η) ≝ \begin{cases} η \text{ si } Q⟦e⟧η =⊥ \text{ ou } Q⟦e⟧η = 0 \\ η ∨ Q⟦c⟧η \text{ sinon.} \end{cases}\]ici :
\[\begin{align*} F_{e,c}(η) &= η ∨ Q⟦x:=x+1⟧η \\ &= η ∨ η[x \mapsto Q⟦x+1⟧η] \\ &= η ∨ η[x \mapsto η(x)+(0,2)] \\ \end{align*}\]Or
\[η[x \mapsto η(x)+(0,2)] > η\](pour l’ordre point à point : il y a seulement à remarquer que $η(x)+(0,2) > η(x)$)
donc
\[F_{e,c}(η) = η[x \mapsto η(x)+(0,2)] > η\]En rétiréant avec $𝜂_1 ≝ F_{e,c}(η)$, on montre de la même manière que :
\[F_{e,c}(η_1) = η_1[x \mapsto η_1(x)+(0,2)] > η_1\]et par une récurrence immédiate :
\[∀m∈ℕ^\ast, 𝜂_m ≝ F_{e,c}(η_{m-1}) = η_{m-1}[x \mapsto η_{m-1}(x)+(0,2)] > η_{m-1}\]Donc la suite $(𝜂_m)_{m∈ℕ}$ n’est pas stationnaire, et la procédure décrite ne termine pas.
Q 17
Cette fois :
\[F'_{e,c}(η') = \begin{cases} η' \text{ si } Q⟦e⟧η' =⊥ \text{ ou } Q⟦e⟧η' = 0 \\ η' \nabla Q⟦c⟧η' \text{ sinon.} \end{cases}\]On remarque que : pour tout environnement quotient $𝜂’$, $F’_{e,c}(𝜂’)≥𝜂’$ (car $η’ \nabla Q⟦c⟧η’ ≥ 𝜂’$).
Donc pour tout $m∈ℕ^\ast$ :
- Cas 1 : \(𝜂_m = F'_{e,c}(η_{m-1}) = η_{m-1} (\text{ si } Q⟦e⟧{𝜂_{m-1}}∈\lbrace \bot, (-1, 1) \rbrace \text{ ou } Q⟦c⟧{𝜂_{m-1}}≤𝜂_{m-1}\))
OU
- Cas 2 : \(𝜂_m = F'_{e,c}(η_{m-1}) > η_{m-1}\)
Dans le dernier cas, il existe une variable $x$ telle que $𝜂_m(x)$ est de la forme
- $(a,b)$ si $𝜂_{m-1}(x) = \bot$
- $(-∞,b)$ ou $(a, +∞)$ sinon
d’où il existe $i∈⟦0,2⟧$ indices $p_1 > ⋯ > p_i >m$ tels que
\(∀j∈⟦1, i⟧, 𝜂_{p_j}(x)> 𝜂_{p_j-1}(x)\) (si $i≥1$, $𝜂_{p_1}(x)$ vaut alors $(-∞, +∞)$, d’où $(𝜂_q(x))_{q≥p_1}$ est constante de valeur $(-∞, +∞)$)
Donc
la suite $(𝜂_m)_{m∈ℕ}$ ne peut croître strictement qu’un nombre fini de fois.$\hspace{1em}⊛$
(au plus $3n$ fois, pour être précis)
On remarque par ailleurs que
si $∃m∈ℕ; 𝜂_{m+1} = 𝜂_m$, alors $∀p≥m, 𝜂_p = 𝜂_m$ $\hspace{1em}⊛⊛$
(car \(𝜂_{m+2} = F'_{e,c}(𝜂_{m+1}) = F'_{e,c}(𝜂_m) = 𝜂_{m+1} = 𝜂_m\), et on conclut par une récurrence immédiate sur $q≥1$ que \(∀q≥1, 𝜂_{m+q} = 𝜂_m\))
Avec $⊛$ et $⊛⊛$, on conclut que donc que la suite croissante $(𝜂_m)_{m∈ℕ}$ est stationnaire, et la procédure décrite termine.
Montrons que $Q⟦c⟧η$ représente toujours correctement $X⟦c⟧{\cal E}$ pour toute commande $c$.
On remarque que, pour tout environnement quotient $𝜂$ et pour toute commande $c$ :
\[𝜂 ∨ Q⟦c⟧η ≤ 𝜂 \nabla Q⟦c⟧η\]-
en effet : pour toute variable $x$ :
- Si $Q⟦c⟧η(x)≤𝜂(x)$, alors $(𝜂 \nabla Q⟦c⟧η)(x) = (𝜂 ∨ Q⟦c⟧η)(x) = 𝜂(x)$
-
Sinon :
- si $𝜂(x) = \bot$ : $(𝜂 \nabla Q⟦c⟧η)(x) = (𝜂 ∨ Q⟦c⟧η)(x) = Q⟦c⟧η(x)$
-
si $𝜂(x) ≝ (a,b), Q⟦c⟧η(x)≝ (c, d)$ (où $a, b, c, d ∈ ℤ∪\lbrace ±∞ \rbrace$) :
\[(𝜂 ∨ Q⟦c⟧η)(x) = (\min(a, c),\max(b, d))\]et en posant
- $𝛼 ≝ \begin{cases}
\min(a, c) \text{ si } \min(a, c)=a
-∞ \text{ sinon}\end{cases}$ - $𝛽 ≝ \begin{cases}
\max(b, d) \text{ si } \max(b, d)=b
+∞ \text{ sinon}\end{cases}$
- $𝛼 ≝ \begin{cases}
\min(a, c) \text{ si } \min(a, c)=a
Il s’ensuit que :
\[F_{e,c} ≤ F'_{e,c}\](pour l’ordre point à point)
Il vient que, pour toute commande $c$, $Q⟦c⟧η$
- est soit resté inchangé
-
a soit augmenté au sens large
-
c’est le cas pour les commandes de la forme $\textsf{while } e \textsf{ do } c’$, car \(F_{e,c'} ≤ F'_{e,c'}\) et par monotonie (pour l’ordre point à point) de la fonction $𝛹_{𝜂’} : f \mapsto lfp_{𝜂’}(f)$ pour tout environnement quotient $𝜂’$
-
en effet: la monotonie de $𝛹_{𝜂’} : f \mapsto lfp_{𝜂’}(f)$ vient du lemme 1 de Q12 :
si $f≤g$,
\[lfp_{𝜂'}(f) = \sup_{m∈ℕ} \underbrace{f^m(𝜂')}_{≤ g^m(𝜂')} ≤ \sup_{m∈ℕ} g^m(𝜂') = lfp_{𝜂'}(g)\]
-
-
Scolie : Si $η’’$ et $𝜂’$ sont des environnements tels que
- $𝜂’≤𝜂’’$
- $𝜂’$ représente correctement un ensemble ${\cal E}’$ d’environnements (réels)
alors $𝜂’’$ représente correctement ${\cal E}’$.
En effet :
pour toute variable $x$, il suffit de remarquer que :
\[\begin{cases} \lbrace ρ(x) \vert ρ ∈ {\cal E}' \rbrace ⊆ 𝛾(𝜂'(x)) \\ 𝛾(𝜂'(x)) ⊆ 𝛾(𝜂''(x)) \text{ (par monotonie de $𝛾$)} \end{cases} ⟹ \lbrace ρ(x) \vert ρ ∈ {\cal E}' \rbrace ⊆ 𝛾(𝜂''(x))\]Donc d’après la scolie :
$Q⟦c⟧η$ représente toujours correctement $X⟦c⟧{\cal E}$ pour toute commande $c$.
Leave a comment