E是逻辑变量(T / F),P和Q是程序
(P)
If E then R
Else
S
(Q)
bool c = E
bool d = not E
While c do
Begin
R
c = d
End
While d do
Begin
S
d = c
End
我们知道,相同的输入意味着相同的输出,所以它们是弱等价的,但执行时间数(R)呢?我不确定R是(R,S)还是E?
答案 0 :(得分:0)
就目前而言,根据相同的起始条件,两种变体在两种变体中都满足R和S的意义上是等同的。
但是第二种变体也设置了两个变量c和d,显然它们稍后会以某种方式使用,对于其他变量,它们在循环中的设置中没有用处。因此,第二个变体具有额外的独立后果(c和d被定义并设置为false)。
如果S和R可以取消整个算法,则该附加部分变得不独立。