-------------------- x β dom(Ο)
Ο(x) β reach(Ο, Ο)
π β reach(Ο, Ο) Ο(π) = π'
-------------------- x β dom(Ο) -----------------------------
Ο(x) β reach(Ο, Ο) π' β reach(Ο, Ο)
π β reach(Ο, Ο) Ο(π) = π'
-------------------- x β dom(Ο) -----------------------------
Ο(x) β reach(Ο, Ο) π' β reach(Ο, Ο)
π β reach(Ο, Ο) Ο(π) = (a-pair (πβ, πβ))
----------------------------------------------
{πβ, πβ} β reach(Ο, Ο)
π β reach(Ο, Ο) Ο(π) = π'
-------------------- x β dom(Ο) -----------------------------
Ο(x) β reach(Ο, Ο) π' β reach(Ο, Ο)
π β reach(Ο, Ο) Ο(π) = (a-pair (πβ, πβ))
----------------------------------------------
{πβ, πβ} β reach(Ο, Ο)
π β reach(Ο, Ο) Ο(π) = (proc-val (procedure x πΈ Ο'))
--------------------------------------------------------------
reach(Ο', Ο) β reach(Ο, Ο)
begin
πΈβ;
πΈβ
end
begin
πΈβ;
πΈβ
end
let x = newRef(1) in P; deref(x)