公理语义-Mann子目标Hoare讲解
程序设计形式语义学 2 公理语义 试图通过在程序逻辑的范围内给出证明规则来确定程序设计构造的含义。该方法的代表人物是R.W.Floyd和C.A.R.Hoare。 从一开始,公理语义强调的是正确性证明。 2.5 程序正确性证明-Manna的子目标断言法 美国斯坦福大学的Z.Manna教授在Floyd的不变式断言法的基础上,提出了部分正确性证明的子目标法。 子目标法与不变式法的主要区别在于: 在断言设置中,不变式法的断言描述程序处理过程中的中间变量与初始值之间的关系,而子目标断言中描述的是中间变量与终值间的关系 其归纳推理方向不同。不变式断言法沿程序执行方向正向推理,而子目标法沿程序执行的反方向逆向归纳推理。 2.5 程序正确性证明-Manna的子目标断言法 1. 建立输入、输出和循环不变式断言 设x,y的初始值为x0,y0,可分别建立输入断言I、输出断言O、子目标断言如下: I(x): x0 ≥ 0 ∧ y0 ≥ 0 ∧ (x0 ≠ 0 ∨ y0 ≠ 0 ) O(x,z): z = gcd(x0,y0) 子目标断言q(x,y,yf): x ≥ 0 ∧ y ≥ 0 ∧ (x ≠ 0 ∨ y ≠ 0 ) = yf = gcd(x,y) 2.5 程序正确性证明-Manna的子目标断言法 2. 建立验证条件(采用逆向方法) 首先证明当控制最后一次通过L时,即控制转出循环时,子目标断言成立。为此,由x=0退出本循环,要证明验证条件1: C1(x,y): x=0 = q(x,y,yf) 即: x=0 = [x ≥ 0 ∧ y ≥ 0 ∧ (x ≠ 0 ∨ y ≠ 0 ) = yf = gcd(x,y) 其次,证明如果再通过循环后,子目标断言再L处成立,那么,再通过循环之前,断言也成立。为此,要证明下面两个验证条件。 由x ≠ 0 ∧ yx 可推出验证条件2, 即: C2(x,y): x ≠ 0 ∧ yx ∧ q(y,x,yf) = q(x,y,yf) 由x ≠ 0 ∧ y ≥ x 可推出验证条件3, 即:C3(x,y): x ≠ 0 ∧ y ≥ x ∧ q(x,y-x,yf) = q(x,y,yf) 最后,证明如果输入断言为真,且当控制第一次通过L时子目标断言为真,则输出断言为真。当第一次到达L点时,可推出验证条件4, 即:C4(x,y): x0 ≥ 0 ∧ y0 ≥ 0 ∧ (x0 ≠ 0 ∨ y0 ≠ 0 ) ∧ q(x0,y0,yf) = yf = gcd(x0,y0) 2.5 程序正确性证明-Manna的子目标断言法 3. 证明验证条件 验证条件1: C1(x,y): x=0 = q(x,y,yf) q(0,yf,yf) 即: x=0 = [0 ≥ 0 ∧ yf ≥ 0 ∧ (0 ≠ 0 ∨ yf ≠ 0 ) = yf = gcd(0, yf)] 。 验证条件2: C2(x,y): x ≠ 0 ∧ yx ∧ q(y,x,yf) = q(x,y,yf) 即: x ≠ 0 ∧ yx ∧ [y ≥ 0 ∧ x ≥ 0 ∧ (y ≠ 0 ∨ x ≠ 0 ) = yf = gcd(y, x)] = [x ≥ 0 ∧ y ≥ 0 ∧ (x ≠ 0 ∨ y ≠ 0 ) = yf = gcd(x,y)] 验证条件3, C3(x,y): x ≠ 0 ∧ y ≥ x ∧ q(x,y-x,yf) = q(x,y,yf) 即: x ≠ 0∧y ≥ x∧[x≥0∧y-x≥ 0∧(x ≠ 0 ∨ y-x ≠ 0 )=yf=gcd(x,y-x)] = [x ≥ 0 ∧ y ≥ 0 ∧ (x ≠ 0 ∨ y ≠ 0 ) = yf = gcd(x,y)] 验证条件4, C4(x,y): x0 ≥ 0 ∧ y0 ≥ 0 ∧ (x0 ≠ 0 ∨ y0 ≠ 0 ) ∧ q(x0,y0,yf) = yf = gcd(x0,y0)] 2.5 程序正确性证明-Hoare的公理化方法 1969年,Hoare在Floyd的不变式断言法基础上,提出了一种证明程序部分正确性的Hoare公理化方法。根据结构化定理,他提出了顺序语句、条件语句、WHILE循环语句三种基本语句证明规则,试图建立一个不变式演绎系统,以达到程序证明自动化之目的。 2.5 程序正确性证明-Hoare的公理化方法 定义2.8 不变式语句 称{P}S {Q}是不变式语句。其含义是:如果执行S之前P为真,并且S执行终止,Q为真,称不变式语句
您可能关注的文档
- 公文写作与处理(一)修改后讲解.ppt
- 公文写作与行文规范讲解.ppt
- 公文写作和处理知识讲座(三)讲解.ppt
- 公文基础及写作讲解.ppt
- 公文处理工作基本规范讲解.ppt
- 公文格式与规范处理ppt讲解.ppt
- 公有制的主体地位讲解.ppt
- 公民应履行的义务讲解.ppt
- 公民的声音讲解.ppt
- 公牛开关产品培训:常见问题解答讲解.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 2025年陕西省汉中市某中学小升初入学分班考试英语考试真题含答案.docx VIP
- DB31T 1236-2020 未成年人司法社会工作服务规范.docx VIP
- 宣贯培训(2026年)《DLT 2772—2024火力发电厂输煤廊道巡检装置技术规范》.pptx VIP
- 2026年北京中考白皮书.pdf VIP
- 2025届苏锡常镇高三(一模)数学试题及参考答案.pdf VIP
- 《人工智能辅助的翻译技术》课件.ppt VIP
- 沉浸式非遗体验—宋代点茶.pptx VIP
- PET Complete精品教学课件 unit 3 having fun.pptx
- 年产2万吨马铃薯全粉项目可行性研究报告.docx
- 《计算机网络基础》课件——OSI参考模型.pptx VIP
原创力文档

文档评论(0)