previous up next
Go backward to Program Denotation
Go up to Top
Go forward to Simplification II
RISC-Linz logo

Simplification II

P[[Z:=1; if A=0 then diverge; Z:=3.]](zero)
= let s3 = [ [[A]] |-> zero ]newstore
    s' = C[[Z:=1; if A=0 then diverge; Z:=3]]s3
    in access [[Z]] s'
= let s3 = [ [[A]] |-> zero ]newstore
    s4 = [ [[Z]] |-> one ]s3
    s' = C[[if A=0 then diverge; Z:=3]]s4
    in access [[Z]] s'
= let s3 = [ [[A]] |-> zero ]newstore
    s4 = [ [[Z]] |-> one ]s3
    s5 = C[[if A=0 then diverge]]s4
    s' = C[[Z:=3]]s5
    in access [[Z]] s'

C[[if A=0 then diverge]]s4
= B[[A=0]]s4 -> C[[diverge]]s4 [] s4
= true -> C[[diverge]]s4 [] s4
= C[[diverge]]s4
= (lambdas._|_)s4
= _|_


Author: Wolfgang Schreiner
Last Modification: October 14, 1997

previous up next