To'liq to'g'rilik va qisman to'g'rilik o'rtasidagi farq nima?


javob bering 1:

To'liq to'g'riligi to'g'risidagi bayonot qisman to'g'riligini tasdiqlash hamdir. Qisman to'g'riligi zaifroq, chunki xulosaga kelish uchun 'S terminates' qo'shimcha yordamiga muhtoj: R oxirgi holatda qo'llaniladi.

Qisman aniqlik spetsifikatsiyasi uchun {Q} S {R} siz quyidagi ma'lumotlarni olishingiz mumkin: Agar Q, S talablariga javob beradigan boshlang'ich shart bo'lsa yoki tugamasa. Agar S tugasa, S ni bajargandan so'ng, R ni bajaradigan yakuniy holatga kelasiz. Agar yo'q bo'lsa, R tugashi mumkin emas, chunki oxirgi holat yo'q.

Masalan:

(x! = 0) davomida {x == 10}: y = y - 1 x = 0 {x == 0}

Bu qisman aniqlik bayonoti. Agar y 0 ga teng yoki undan katta raqam bilan boshlangan bo'lsa, S tugallanadi va x 0 bo'ladi. Agar y manfiy sondan boshlansa, S abadiy takrorlanadi va u tugamaganligi sababli siz holatga etolmaysiz. "S. qatl etilganidan keyin"

Aslida, R har qanday narsa bo'lishi mumkin, agar S o'lik halqa bo'lsa. Masalan, har bir Q va R uchun:

{Q} (haqiqiy) davomida: y = y - 1 {R}

har doim ham to'g'riligining qisman belgisidir.

Agar Q yetarli darajada kuchli bo'lmasa, S tugatilishini kafolatlay olmaysiz, S tugallangandan keyin holatni asoslab berolmaysiz. Bunday holda siz shartni qo'lda qo'shishingiz mumkin: S abortlar. Bahsni Q va u bilan davom ettirish mumkin.

To'liq aniqlik spetsifikatsiyasi uchun {Q} S {R}, S tugatilishini kafolatlaydigan etarlicha kuchli bo'lib, S tugallanishi va R ning yakuniy holati qoniqarli degan xulosaga kelishingiz mumkin.

Masalan:

(x! = 0) davomida {x == 10}: x = x - 1 {x == 0}

to'liq aniqlik bayonoti.

Aytgancha: Javob to'g'ri yoki aniq emasligiga amin emasman, chunki savol siyosiy to'g'rilik bilan belgilangan. Bu savolning ta'rifi kompyuter fanidagi kabi ko'rinadi.