每个操作语义都不同,问题没有指定上下文,所以我只能猜测答案。
我会解析
if b then c; w else skip
如
if b then {c; w} else skip
,也就是问题的第二种解释。推导似乎是关于这种情况
b
是假的,所以
c
没有提到因为如果
b
是假的,
c
没有执行。代替,
skip
被提及是因为它被执行了。