



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序的公理化證明趙建華南京大學(xué)計(jì)算機(jī)系簡介 C.A.R. Hoare提出的公理系統(tǒng) 斷言中包含了邏輯公式和代碼 組合式證明 先證明程序的各個部分,然后把這些證明組合起來,得到更大代碼的證明。 本證明系統(tǒng)基于某個一階推理系統(tǒng).斷言的形式 Hoare三元式P S Q S :代碼 P(pre-condition,前置條件) Q (post-condition,后置條件) P和Q是一階邏輯公式 三元式指出了一個部分正確性 如果S從一個滿足P的狀態(tài)開始執(zhí)行,且S 能夠正常執(zhí)行完畢,那么最后的狀態(tài)滿足Q。程序的抽象語法 基本語句 賦值語句:v:=e skip語句 復(fù)合語句 順序:S;S 選擇:if p t
2、hen S else S fi 循環(huán):while p do S公理:賦值語句Qe/v v:=e Q 如果語句v:=e執(zhí)行之前的狀態(tài)滿足 Qe/v,那么v:=e執(zhí)行之后的狀態(tài)滿足Q。Qe/v表示將公式Q中的v替換成為e后得到的公式。 例如:x+1=10 x:=x+1x=10公理:skip語句 skip語句不改變狀態(tài)。P skip Ppre,post規(guī)則 在證明了一個斷言之后,我們可以弱化其后置條件,或者強(qiáng)化其前置條件。P=P,P S QP S QP S Q,Q = QP S Q順序組合規(guī)則 在證明一個順序組合語句的時候,我們可以先分別證明兩個子語句的性質(zhì),然后將其合并得到整個組合語句的性質(zhì)。P
3、S1 Q, QS2RP S1;S2 Rif-then-else規(guī)則Pp S1 Q ,Pp S2 Q P if p then S1 else S2 Q if語句的語義是:如果p成立,則執(zhí)行S1,否則執(zhí)行S2。 前提條件表明 如果開始狀態(tài)滿足Pp那么執(zhí)行了S1 之后滿足Q。 如果開始狀態(tài)滿足P p,那么執(zhí)行S之后仍然滿足Q。 如果開始狀態(tài)滿足P,那么它要么滿足Pp,要么滿足P p。從if語句的含義我們可以知道結(jié)論成立。while規(guī)則(部分正確性)Pp S PPwhile p do S P P被稱為while語句的不變式。 在while語句的執(zhí)行過程中,這個性質(zhì)總是成立。 而while語句會執(zhí)行到p
4、不成立為止。 因此,當(dāng)while語句退出循環(huán)時,狀態(tài)必然滿足Pp。 這個性質(zhì)不保證whilewhile語句會退出循環(huán)while規(guī)則(完全正確性) 如果能夠找到一個函數(shù)f f的取值和變量取值有關(guān),且 Pp f0 且對任意的常數(shù)f0,f=f0 S ff0, 那么循環(huán)必然終止 for(int i = 0; ix2 doy1:=y1+1;y2:=y2-x2end 要證明如下結(jié)論:當(dāng)x1=0, x2=0成立時,最終得到的y1是x1/x2的整數(shù)商部分,y2是x1/x2的余數(shù)部分即:Precondition: x1=0 x2=0Postcondition:x1=y1*x2+y2 y2=0 y2=0 x20y1=0;x1=0 x20 y1=0y2=x1;x1=y1*x2+y2 y2=0while y2=x2 dox1=y1*x2+y2 y2=x2y1:=y1+1;x1=y1*x2+y2-x2 y2=x2 y2:=y2-x2x1=y1*x2+y2 y2=0 endx1=y1*x2+y2 y2=0 y2x2 練習(xí) 考慮輾轉(zhuǎn)相除法求解GCD的算法的正確性證明 考慮圖論中最短路徑的Floyd算法的正確性。Hoare Logic不能處理指針/數(shù)組 反例1: true mm2 := 3 mm2 = 3 當(dāng)原來m2=2時, 賦值之后,m2等于3,mm2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國自行車輪胎(BC)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國自然災(zāi)害保險行業(yè)市場深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030中國膝磨機(jī)行業(yè)運(yùn)行動態(tài)及投資趨勢展望報(bào)告
- 2025至2030中國胸花飾品行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評估報(bào)告
- 2025至2030中國聚甘油脂肪酸脂行業(yè)市場占有率及投資前景評估規(guī)劃報(bào)告
- 2025至2030中國翻新的鋼桶行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 健身房內(nèi)部空間設(shè)計(jì)與規(guī)劃
- 2025至2030中國綠色超級米行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國維生素C膠行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國組裝托盤行業(yè)市場占有率及投資前景評估規(guī)劃報(bào)告
- 日語被動態(tài)練習(xí)
- 金屬廢棄物生物冶金提取與利用
- 廣西燃?xì)獍踩珯z查標(biāo)準(zhǔn) DBJ T45-1472-2023(2023年7月1日實(shí)施)
- 2023-2024學(xué)年第二學(xué)期期末學(xué)業(yè)質(zhì)量檢測八年級語文試卷
- 統(tǒng)編版(2024)一年級語文上冊拼音1《a o e》精美課件
- 雙氧水罐罐區(qū)安全設(shè)計(jì)規(guī)范
- 2024-2029全球及中國福利管理系統(tǒng)行業(yè)市場發(fā)展分析及前景趨勢與投資發(fā)展研究報(bào)告
- 新標(biāo)準(zhǔn)英語小學(xué)五年級下各模塊習(xí)題
- 開票稅點(diǎn)自動計(jì)算器
- 中華護(hù)理學(xué)會成人腸內(nèi)營養(yǎng)支持護(hù)理團(tuán)標(biāo)解讀
- DLT 5175-2021 火力發(fā)電廠熱工開關(guān)量和模擬量控制系統(tǒng)設(shè)計(jì)規(guī)程-PDF解密
評論
0/150
提交評論