- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章命令式程序的语义课件
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.4 指称语义 命令的语法翻译 C?x := M? = ?s: state. ?update s x (V?M?s)? C?P1; P2? = C?P2? ? C?P1? C?if B then P1 else P2? = ?s: state. if V?B?s then C?P1?s else C?P2?s C?while B do P od? = fix(?f : state ? state?. ?s: state. if V?B?s then (f ? C?P?)s else ?s?) 程序P在环境?下的含义 ?P?? = A??C?P??? ?P?? s = ( ?P??) s 5.4 指称语义 例 一个简单的程序skip ? x := cont x C?skip?? = ?s: state.?update s x (V?cont x?s)? = ?s: state.?update s x (lookup s x)? = ?s: state. ?s? ?skip?? s = (A??C?skip???)(s) = (A???s: state. ?s???)(s) = ?s? 5.4 指称语义 指称语义可用来证明简单程序之间的等价 证明 while B do P od = if B then (P; while B do P od) else skip C?while B do P od?= fix (?f : state ? state?. ?s: state. if V?B?s then (f ? C?P?)s else ?s? ) = ?s: state. if V?B?s then (C?while B do P od? ? C?P?)s else ?s? = C?if B then (P; while B do P od) else skip? 5.4 指称语义 6.4.3 操作语义和指称语义的等价 引理5.1 令?是环境并且s?Astate不是底元。对任何类型为loc、val或bool的表达式M,以及Aloc、Aval或Abool中的a,有 ?M, s?? ?eval a 当且仅当 ?M?? s = a 对M的结构进行归纳来证明该引理 ?x, s?? ?eval ?(x) = ?x?? s ?cont x, s?? ?eval lookupA s ?(x) = ?cont x?? s ?f M1 … Mk , s?? ?eval fA(a1, …, ak) = ?f M1 … Mk?? s 5.4 指称语义 引理5.2 令F是函数 F ? ?f : state ? state?. ?s: state. if Bs then f ? (Ps) else ?s? 这是把while循环翻译到?state, fix, ?所得的形式,其中 B: state?bool并且P : state?state? 令s:state是区别于?state的状态。对任何自然数n,若 (Fn ? s) = ?s??,则存在某个m ? n,使得?s?? = P?m s, Bs? = false,且对所有的k?m,有P?k s = ?sk?且Bsk =true 注:对P : state?state?,用P?k s表示把P的k次严格 合成作用到s,也就是P?k s ? P ? (P ? … (Ps) … ) 5.4 指称语义 定理5.3 令?是一个环境,并且s, s?? Astate是任意的“非底元”状态。对任何程序P有 ?P, s?? ?exec s?当且仅当 ?P?? s = ?s?? 5.5 Kernel程序的前后断言 5.5.1 一阶逻辑和部分正确性证明 证明Kernel程序的性质 用类型化?项上的一般证明系统 使用更适合于Kernel程序语法的逻辑 后一种方式的优点 不需要学习类型化?演算和最小不动点概念 程序正确与否的大部分直观理由都关联到程序的结构 如果证明系统以一种自然的方式反映程序设计语言的结构,它可能对程序设计风格产生直接的影响 5.5 Kernel程序的前后断
您可能关注的文档
最近下载
- 2024杭州市富阳区机关事业单位编外招聘50人笔试备考试题及答案解析.docx VIP
- 2024年中考数学:探索与实践类综合题.pdf VIP
- 2024杭州市富阳区机关事业单位编外招聘50人笔试备考题库及答案解析.docx VIP
- 2024杭州市富阳区机关事业单位编外招聘50人笔试模拟试题及答案解析.docx VIP
- 八年级语文上册期末复习古诗文情境默写.docx VIP
- (2024秋新版本)部编版一年级语文上册《语文园地六》PPT课件.pptx VIP
- 高级经济师建筑经济 工程建设实施管理专项.pdf VIP
- 2024年高等自考《运输工程学》试题.pdf VIP
- 2024年济南大学广告学期末考试备考题库.pdf VIP
- 2025届菏泽市高三语文上学期期中考试卷附答案解析.pdf VIP
文档评论(0)