网站大量收购独家精品文档,联系QQ:2885784924

第8篇 程序的形式推导技术.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
谓词转换器 wp (S,R) :表示一个状态的集合,从其中的任何一个状态出发,执行S后必定会终止,终止时满足R,是最弱的前置断言。 要证 {Q}S{R},即证:Q =wp (S,R) 最弱前置谓词的几个性质公理 性质1:排奇律 wp (S, F)=F 要从某个状态集的任何一个状态出发执行S后必定会终止,终止时满足F,即使F为真,这样的状态是找不到的,因此对应的状态集为空。 最弱前置谓词的几个性质公理 性质2:合取分配律 wp (S,Q) wp (S,R)=wp (S, Q R) 证明: 设任何一个状态P wp (S,Q) wp (S,R) 表示从P出发经S执行后必终止,终止时满足Q;同时从P出发经S执行后必终止,终止时满足R,也即满足Q R。 所以,P wp (S, Q R) 那么,wp (S,Q) wp (S,R) wp (S, Q R) 反之也可证明,wp (S, Q R) wp (S,Q) wp (S,R) 最弱前置谓词的几个性质公理 性质3: 析取分配律 wp (S,Q) wp (S,R)=wp (S, Q R) 证明: 设任何一个状态P wp (S,Q) wp (S,R) 表示从P出发经S执行后必终止,终止时满足Q;或者从P出发经S执行后必终止,终止时满足R,也即满足Q R。 所以,P wp (S, Q R) 那么,wp (S,Q) wp (S,R) wp (S, Q R) 反之也可证明,wp (S, Q R) wp (S,Q) wp (S,R) 最弱前置谓词的几个性质公理 性质4:单调律 如果Q R,则wp (S,Q) wp (S,R) 假设任何一个状态P表示从P  wp (S, R)出发,经S执行后必终止,终止时满足 R 。又因为,Q R,所以终止时也满足Q 。所以,P wp (S,Q), 所以 wp (S,Q) wp (S, R) 求解最弱前置谓词的规则 1、skip、abort、复合语句 wp(skip,R) =R (相当于空语句) wp(abort,R)=F (执行过程中夭折的语句) wp(S1;S2,R)=wp(S1, wp(S2,R))(相当于顺序复合语句) 例如 wp(skip;skip,R)=wp(skip,wp(skip,R))=R 求解最弱前置谓词的规则 2、 赋值语句 (1) 单个简单变量的赋值语句 (2) 多个简单变量的赋值语句 (3) 单个数组元素的赋值 (4) 多重赋值语句 (1)单个简单变量的赋值语句 对单个简单变量的赋值语句 S::= I:=E 其语义为: wp(“I:=E”,R)=domain(E) cand RIE domain(E) 表示能获得正常表达式E结果的条件。 当条件显然时,可略去此项。 RIE表示表达式E去替换R中所有自由出现的变量I。 B1 cand B2 表示从左到右的次序计算,B1为F时, 则不必计算B2,其结果全为F。B1为T时,则其结果 为B2的结果。B1无定义时,其结果也无定义。 同步练习 1.wp(“x:=x+1”,x0)=(x+10)= (x-1) 2.wp(“x:=5”,x=5)=(5=5)=T 3.wp(“x:=5”,x≠5)=(5≠5)=F 4.wp(“x:=A÷B”,P(x))=(B≠0) cand P(A÷B) 5.wp(“x:=x *x”, x4=10) =((x*x)4=10)= (x8=10) 6.设数组B的下标域为0:100,则: wp(“x:=B[I]”,x=B[I])=(0≤I≤100) cand B[I]=B[I]= (0≤I≤100) 7.wp(“t:=x;x:=y;y:=t”,x=X∧y=Y) =wp(“t:=x;x:=y”,wp(“y:=t”,x=X∧y=Y) =wp(“t:=x;x:=y”,x=X∧t=Y) = wp(“t:=x”,wp(“x:=y”,x=X∧t=Y) =wp(“t:=x”,y=X∧t=Y)= (y=X∧x=Y) (2)多个简单变量的赋值语句 多个简单变量赋值语句为 S::=X:=E 其中 X为n(n1)个互不相同的变量x1,x2,…,xn E为n个表达式e1,e2,…,en 其语义是: wp(“X:=E”,R)=do

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档