Go backward to Simplification Go up to Top Go forward to Program Denotation |
let s1 = ( [ [[A]] |-> two] newstore)
s2 = [ [[Z]] |-> one ]s1
s' = C[[Z:=1; if A=0 then
diverge; Z:=3]]s1
in access [[Z]] s'
= let s1 = ( [ [[A]] |-> two] newstore)
s2 = [ [[Z]] |-> one ]s1
s' = [ [[Z]] |-> three ]s2
in access [[Z]] s'
access [[Z]] s'
= access [[Z]] [ [[Z]] |-> three ]s2
= [ [[Z]] |-> three ]s2 [[Z]]
= three