تفاوت بین صحت کامل و درستی جزئی چیست؟


پاسخ 1:

یک عبارت صحیح کامل نیز یک عبارت صحیح جزئی است. صحت جزئی ضعیف تر است زیرا برای رسیدن به نتیجه به کمک اضافی "S خاتمه می یابد": R در حالت نهایی اعمال می شود.

برای مشخصات صحت جزئی {Q} S {R} می توانید اطلاعات زیر را بدست آورید: اگر یک شرط شروع وجود دارد که Q ، S را برآورده می کند یا ممکن است پایان یابد. اگر S به پایان برسد ، پس از اجرای S ، به حالت نهایی می رسید که R را برآورده می کند. اگر اینگونه نباشد ، R غیرقابل استفاده است زیرا هیچ وضعیت نهایی وجود ندارد.

به عنوان مثال:

x == 10} در طی (y! = 0): y = y - 1 x = 0 {x == 0}

این جمله ای با دقت جزئی است. اگر y با عدد مساوی یا بیشتر از 0 شروع شود ، S پایان یافته و سپس x 0 است. اگر y با یک عدد منفی شروع می شود ، S برای همیشه تکرار می شود و از آنجا که این کار به پایان نمی رسد ، به وضعیتی نمی رسید. "پس از اعدام S."

در حقیقت ، اگر S یک حلقه مرده باشد ، R می تواند هر چیزی باشد. به عنوان مثال برای هر Q و R:

{Q} در (درست): y = y - 1 {R}

همیشه نشانه جزئی از صحت است.

اگر Q به اندازه کافی قوی نباشد ، شما نمی توانید تکمیل S را تضمین کنید ، چه رسد به توجیه دولت پس از اجرای S. در این حالت ، می توانید یک حالت را به صورت دستی اضافه کنید: S متوقف می شود. استدلال را می توان با Q و آن ادامه داد.

برای مشخصات صحیح کامل {Q} S {R} ، Q به اندازه کافی قوی است که خاتمه S را تضمین می کند ، بنابراین می توانید نتیجه بگیرید که S خاتمه یافته است و حالت نهایی R رضایت دارد.

به عنوان مثال:

x == 10} در طول (x! = 0): x = x - 1 {x == 0

یک بیانیه صحت کامل است

به هر حال: من مطمئن نیستم كه جواب آن صحیح است زیرا این سوال با صحت سیاسی مشخص شده است. در حالی که تعریف در سوال همان است که در علم کامپیوتر به نظر می رسد.