if语句完全正确的证明

我需要证明的程序是

if(x>y){
   z=x;
}else{
   z=y;
}

我需要证明

if语句完全正确的证明

(这里的P应该是上面的程序)是有效的,我能做的是证明其部分正确,但是如何证明其整体正确?

这是我的部分正确性的证明:

    {T}
    {(x>y -> x=max(x,y) ) ∧ (\neg(x>y) -> y=max(x,y) ) }  
    if (x>y)
        {T∧x>y}   If-statement
        {x=max(x,y)}   Implied
   z=x
        {z=max(x,y)}  Assignment
   else
        {T∧¬(x>y)}  If-statement
        {y=max(x,y)}  Implied
    z=y
        {z=max(x,y)}  Assignment
    fi  
        {z=max(x,y)}  If-statement
cycannon 回答:if语句完全正确的证明

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3029727.html

大家都在问