程序的公理化证明 赵建华 南京大学计算机系.

Slides:



Advertisements
Similar presentations
完美殺人筆記簿 【爸!我受夠了!】 第七組組員: 林正敏 陳筱涵 李蓓宇 許純宜 羅玉芬 謝文軒.
Advertisements

平衡飲食保健強身 整理至簡體版,作者不可考。內容為 參加國際健康會議所發表的心得。. 人應該活多久 有人告訴我五六十歲就差不多了。 我在醫院工作四十年了,絕大部分病死的人是 很痛苦的。 我在美國遇見張學良,一進門見到他就大吃ㄧ驚, 他眼不花,耳不聾,很多人問他:少帥,您怎 麼能活這麼久? 他回答:不是我活的久,是他們活的太短了。
版 画 制 作版 画 制 作 版 画 种 类版 画 种 类 版 画 作 品版 画 作 品 刘承川.
第七章 多元函数微分学 一 多元函数与极限 二 多元函数的偏导数 三 多元函数的全微分及其应用 四 多元复合函数的微分法 五 多元函数的极值.
遥远而神秘的大陆 —— 非洲, 有着悠久的历史,辽阔的地域、 奇特的风景和古朴的民俗;更 有那极具感染力、热情奔放的 音乐和舞蹈。 让我们一起走进非洲,去 聆听、感受和体验那具有独 特魅力的非洲歌舞音乐! 非洲正以其独特的、近乎原汁原味的风光和文化吸 引着全世界的目光, 也吸引了你我的目光。
石家庄市 公交候车亭媒体介绍. 广告类型公交车候车亭 规 格 3.5m×1.5m×2 面 =10.5 ㎡ 画面材质喷绘布 照明时间 冬季 17:30-21:30 夏季 19:00-23:00 价 格 元 / 月 / 块( 两面) 体育大街槐桉路-和平路 40 块 槐安路东二环-西三环 123.
第七讲 管理类文体写作 管理类文书分为两类:公文、事务文书。 一,公文概述(教材P174-) (一)定义、范围、类别:
联合国提出个口号:“千万不要死于无知” 保健的三个里程碑 平衡饮食 有氧运动 心理状态.
天津1班面试专项练习1 综合分析现象类 主讲:凌宇 时间:5月21日 19:00—22:00.
平衡飲食保健強身.
无锡商业职业技术学院 机电工程学院党总支孙蓓雄
45天备考指南 2013年下半年国考资格证笔试系列讲座(2) 华图教师事业部 石杨平.
中公教育湖南分校 地址:长沙市建湘南路154号惟楚国际6楼 电话:
全面了解入党程序 认真履行入党手续 第一讲 主讲人:陈亭而.
中共湖北大学知行学院委员会党校 入党材料规范填写指导 学工处 李华琼 二〇一三年十二月.
关于“人肉搜索”的滥用及其所引发的 “网络暴力”的道德与法律思考
云南财经大学2010年党员发展培训—— 党员发展工作培训 校党委组织部 2010年9月17日.
普 通 话.
2015年11月2日第二期 音乐班研修简报 本期编辑 白秀峰 徐景华 张铁梅 韩世军 制 作 张 铁 梅.
责任 感恩 安全 开学第一课 广西柳州市柳东新区雒容镇盘古小学王秀娅 QQ:
姓名:劉芷瑄 班級:J201 座號:39號 ISBN:957-33-1963-2
第六期财易通周六晚免费公开课 主讲老师:张文.
2007年房地产建筑安装企业 税收自查方略 河北省地方税务局稽查局 杨文国.
稳规模 强内涵 为转型发展打基础 襄阳广播电视大学.
2014政法干警备考平台 2014政法干警考试群⑨ 中公教育政法干警考试 ——微博 中公教育政法干警考试
短促·匆忙 初二(10)班.
构建电子商务和网络营销人才培养的新模式
网络条件下老干部工作信息的应用与写作 齐齐哈尔市委老干部局 山佐利.
胚胎学总论 (I) 制作:皖南医学院组胚教研室.
跳楼价 亏本大甩卖 清仓处理 买一送一 5折酬宾. 跳楼价 亏本大甩卖 清仓处理 买一送一 5折酬宾.
资料分析 如何攻破最后瓶颈 主讲老师:姚 剑 4月6日20:00 YY频道:
咨询师的个人成长 第一课:如何撰写个人成长报告以及答辩.
单招班主任培训会 生源地助学贷款解读 单招班主任工作要求 新生资助政策解读 学生工作处 2015年5月.
第八章 诉讼法 第一节 诉讼法概述 第二节 民事诉讼法 第三节 行政诉讼法 第四节 刑事诉讼法.
电话联系.
迎宾员礼仪 包头机电工业职业学校管理系 白琳 1.
形式化验证的非正式介绍 南京大学计算机系 赵建华.
食用受污染三鹿牌婴幼儿配方奶粉相关的 婴幼儿泌尿系统结石的超声诊断.
高一数学 充分条件与必要条件 教育科学学院03级教育技术2班 刘文平.
人类传播的活动 和历史.
上海市绩效评价培训 数据分析与报告撰写 赵宏斌 上海财经大学副教授
09学前教育班 魏文珍 自我介绍.
财 务 会 计 第四篇:供应链会计实务 制作人:谌君、熊瑜.
通 知 通知是批转下级机关的公文,转发上级机关和不相隶属机关的公文,传达要求下级机关办理和需要有关单位周知或执行的事项,任免人员时使用的公文。
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
深圳市晨兴餐饮投资管理有限公司 招商手册.
建國國小英語教學線上課程 字母拼讀篇(一) 製作者:秦翠虹老師、林玉川老師.
走进编程 程序的顺序结构(二).
摩擦力.
產品語意 班級:夜四技產設三甲 學生:鄭舜鴻 學號:9A01C023 指導教師:唐蔚.
小太陽兒童人文藝術學院兒童畫展 地點:住院大樓9F、11F外走道( )
給你講一個故事 ﹕ 獻給所有未婚,將要結婚,和已婚的好朋友!!
幂函数 大连市第十六中学李秀敏.
判別下列何者是 x 的多項式。以「○」表示是x的多項式,「×」表示不是 x的多項式 :
團體衛生教育護理創意競賽 報告者:護理科 計畫主持人邱馨誼講師
课前注意 课前注意 大家好!欢迎加入0118班! 请注意以下几点: 1.服务:卡顿、听不清声音、看不见ppt—管家( ) 2.课堂秩序:公共课堂,勿谈与课堂无关或消极的话题。 3.答疑:上课听讲,课后答疑,微信留言。 4.联系方式:提示老师手机/微信: QQ:
小学5.
高山草原生態系 分布於臺灣3000公尺以上高山,如中央山脈.玉山山脈.雪山山脈 分為玉山箭竹草原,高山芒草原及兩者混生林三種
模块六 房地产定价策略 主要内容 定价目标及影响定价的因素 定价方法 企业定价策略.
山清水秀的林芝 yy 曾元一
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
数学题解答 第二章 一元一次方程 2.1从算式到方程 (第1课时) 数学题解答
臺中市龍山國小 校園常見瓢蟲辨識   瓢蟲屬於鞘翅目瓢蟲科。目前世界上約有5000多種瓢蟲,台灣地區約有80種以上,其中能捕食有害生物的瓢蟲約七十種之多。瓢蟲因為捕食有害生物為主食,所以又稱為『活農藥』。
這七個故事很簡短,但她們說的都是一個主題——愛情!真心希望你們每個故事都看一下,不會用很長時間,但保證你能感到那種被震撼的感覺!
第二章 一元一次不等式和一元一次不等式组 回顾与复习(一).
利用十字交乘法將二次多項式化為兩個一次式的乘積。
8的乘法口诀 导入 新授 练习.
Presentation transcript:

程序的公理化证明 赵建华 南京大学计算机系

简介 C.A.R. Hoare提出的公理系统 断言中包含了逻辑公式和代码 组合式证明 本证明系统基于某个一阶推理系统. 先证明程序的各个部分,然后把这些证明组合起来,得到更大代码的证明。 本证明系统基于某个一阶推理系统.

断言的形式 Hoare三元式 {P} S {Q} 三元式指出了一个部分正确性 S :代码 P(pre-condition,前置条件) Q (post-condition,后置条件) P和Q是一阶逻辑公式 三元式指出了一个部分正确性 如果S从一个满足P的状态开始执行,且S 能够正常执行完毕,那么最后的状态满足Q。

程序的抽象语法 基本语句 复合语句 赋值语句:v:=e skip语句 顺序:S;S 选择:if p then S else S fi 循环:while p do S

公理:赋值语句 {Q[e/v]} v:=e {Q} 如果语句v:=e执行之前的状态满足 Q[e/v],那么v:=e执行之后的状态满足Q。 Q[e/v]表示将公式Q中的v替换成为e后得到的公式。 例如:{x+1==10}x:=x+1{x==10}

公理:skip语句 skip语句不改变状态。 {P} skip {P}

pre,post规则 在证明了一个断言之后,我们可以弱化其后置条件,或者强化其前置条件。 P=>P’,{P’} S {Q} {P} S {Q’},Q’ => Q

顺序组合规则 在证明一个顺序组合语句的时候,我们可以先分别证明两个子语句的性质,然后将其合并得到整个组合语句的性质。 {P} S1 {Q}, {Q}S2{R} {P} S1;S2 {R}

{P∧p} S1 {Q} ,{P∧┒p} S2 {Q} if-then-else规则 {P∧p} S1 {Q} ,{P∧┒p} S2 {Q} {P} if p then S1 else S2 {Q} if语句的语义是:如果p成立,则执行S1,否则执行S2。 前提条件表明 如果开始状态满足P∧p那么执行了S1 之后满足Q。 如果开始状态满足P∧┒p,那么执行S之后仍然满足Q。 如果开始状态满足P,那么它要么满足P∧p,要么满足P∧┒p。从if语句的含义我们可以知道结论成立。

while规则(部分正确性) {P∧p} S {P} {P}while p do S {φ∧┒P} P被称为while语句的不变式。

while规则(完全正确性) 如果能够找到一个函数f {f=f0} S {f<f0}, 那么循环必然终止 P∧p  f>0 且对任意的常数f0, {f=f0} S {f<f0}, 那么循环必然终止 for(int i = 0; i<100; i++) …

例子(1) 整数除法的累减实现 要证明如下结论: y1=0; y2=x1; while y2>x2 do y1:=y1+1; end 要证明如下结论: 当x1>=0, x2>=0成立时,最终得到的y1是x1/x2的整数商部分,y2是x1/x2的余数部分即: Precondition: x1>=0 ∧ x2>=0 Postcondition:x1=y1*x2+y2 ∧ y2>=0 ∧ y2<x2

例子(2) 可以按照如下方式证明: {x1>=0 ∧ x2>0} y1=0; y2=x1; {x1=y1*x2+y2 ∧ y2>=0} while y2>=x2 do {x1=y1*x2+y2 ∧ y2>=x2} y1:=y1+1; {x1=y1*x2+y2-x2 ∧ y2>=x2} y2:=y2-x2 end {x1=y1*x2+y2 ∧ y2>=0 ∧ y2<x2}

练习 考虑辗转相除法求解GCD的算法的正确性证明 考虑图论中最短路径的Floyd算法的正确性。

Hoare Logic不能处理指针/数组 反例1: 反例2: {true} m[m[2]] := 3 {m[m[2]] == 3} {*p == *q} *p:=*p+1 {*p == *q+1} 当p和q指向同一个位置时,结果应该是*p==*q仍然成立。