



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、程序的公理化證明趙建華南京大學計算機系簡介 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語句 復合語句 順序: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ī)則 在證明了一個斷言之后,我們可以弱化其后置條件,或者強化其前置條件。P=P,P S QP S QP S Q,Q = QP S Q順序組合規(guī)則 在證明一個順序組合語句的時候,我們可以先分別證明兩個子語句的性質,然后將其合并得到整個組合語句的性質。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語句的含義我們可以知道結論成立。while規(guī)則(部分正確性)Pp S PPwhile p do S P P被稱為while語句的不變式。 在while語句的執(zhí)行過程中,這個性質總是成立。 而while語句會執(zhí)行到p
4、不成立為止。 因此,當while語句退出循環(huán)時,狀態(tài)必然滿足Pp。 這個性質不保證whilewhile語句會退出循環(huán)while規(guī)則(完全正確性) 如果能夠找到一個函數(shù)f f的取值和變量取值有關,且 Pp f0 且對任意的常數(shù)f0,f=f0 S ff0, 那么循環(huán)必然終止 for(int i = 0; ix2 doy1:=y1+1;y2:=y2-x2end 要證明如下結論:當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 練習 考慮輾轉相除法求解GCD的算法的正確性證明 考慮圖論中最短路徑的Floyd算法的正確性。Hoare Logic不能處理指針/數(shù)組 反例1: true mm2 := 3 mm2 = 3 當原來m2=2時, 賦值之后,m2等于3,mm2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年地鐵隧道二維位移自動監(jiān)測系統(tǒng)項目建議書
- 以學生為中心的教育心理學課堂實踐
- 智慧城市安防升級保障公共安全技術合作新篇章
- 提升學生自主學習動力的教育心理學方法論
- 數(shù)字化校園教育園區(qū)的智能升級
- 商業(yè)教育中技術應用的新趨勢
- 教育心理學在個人自學策略中的應用
- 教育大數(shù)據(jù)下的學生個性化發(fā)展研究
- 2025屆河北省秦皇島市盧龍中學物理高二下期末學業(yè)質量監(jiān)測模擬試題含解析
- 學習動力與學業(yè)成就的關系研究
- 新標準英語小學五年級下各模塊習題
- 中華護理學會成人腸內營養(yǎng)支持護理團標解讀
- 2022-2023年人教版八年級化學上冊期末測試卷(及參考答案)
- DLT 5175-2021 火力發(fā)電廠熱工開關量和模擬量控制系統(tǒng)設計規(guī)程-PDF解密
- 乙狀結腸癌術后護理
- 全國中醫(yī)優(yōu)才計劃
- 排風工程全過程BIM建模與協(xié)同設計
- 提升員工服務能力的實用培訓方案
- 數(shù)字化系列研究之財務數(shù)智化篇:大型集團企業(yè)財務管理的數(shù)智化
- 鍋爐安裝知識講座
- 30題產(chǎn)業(yè)研究員崗位常見面試問題含HR問題考察點及參考回答
評論
0/150
提交評論