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

Simplification

C[[if A=0 then diverge; Z:=3]](C[[Z:=1]]s1)
= C[[if A=0 then diverge; Z:=3]]s2
= (lambdas.C[[Z:=3]](C[[if A=0 then diverge]]s)s2
= (lambdas.C[[Z:=3]]((lambdas.B[[A=0]]s ->
    C[[diverge]]s [] s) s))s2
= C[[Z:=3]]((lambdas.B[[A=0]]s ->
    C[[diverge]]s [] s)s2)
= C[[Z:=3]](B[[A=0]]s2 -> C[[diverge]]s2 [] s2)

B[[A=0]]s2
= (lambda s.E[[A]]s equals E[[0]]s)s2
= E[[A]]s2 equals E[[0]]s2
= (access [[A]] s2) equals zero

access [[A]] s2
= s2 [[A]]
= ( [ [[Z]] |-> one ][ [[A]] |-> two ] newstore ) [[A]]
= ([ [[A]] |-> two ] newstore) [[A]]
= two


Author: Wolfgang Schreiner
Last Modification: October 14, 1997

previous up next