1 / 8

上周小结

上周小结. 2009 年 6 月 2 日 庄重. Separation Logic Solver. Formula x 是程序变量 ,a 是逻辑变量 证明器的目标是. Step1 – Normalization?. 调用 Simplex 和 CC, 得到相等关系 相比 SmallFoot , 能处理含有 <= >= < > 的 Pure 部分 利用这些相等关系进行重写 如果 Spatial 部分含有 , 则直接得到 false 对 和 , 转换为

ajay
Download Presentation

上周小结

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 上周小结 2009年6月2日 庄重

  2. Separation Logic Solver • Formula • x是程序变量,a是逻辑变量 • 证明器的目标是

  3. Step1 – Normalization? • 调用Simplex和CC, 得到相等关系 • 相比SmallFoot, 能处理含有<= >= < >的Pure部分 • 利用这些相等关系进行重写 • 如果Spatial部分含有 , 则直接得到 false • 对 和 , 转换为 • 把Spatial部分的 true 合并成一个

  4. Step2 – Simplification? • 利用相关的Rule对VC形式进行化简?, 同时由Simplex和CC提供产生的Condition的证明 • Remove • 去掉由emp蕴含的谓词 • Match

  5. Lseg • 展开Lseg • lseg(E1,E2)*lseg(E2,E3)  lseg(E1,E3) • lseg(E,E1) exists a, E->a,next*lseg(next,E1) • List, Tree, Dlist, Dlseg …. • 自定义的谓词? • 按照定义可以得到类似这里的第2条Rule • 困难在于第1条Rule, 需要根据形状, 实现相关的引理证明

  6. Step3 – Rearrange and Match • 调整Spatial部分断言的顺序, 逐项Match • 得到 时终止, 否则Fail

  7. Step4 – Proof Gen • Coq中需要完成的工作 • Separation Logic的表示 • Separation Logic的相关定理 • e.g. PQ /\ RS  P*R  Q*S • S  S • 内建谓词的定义, 相关定理 • emp • 展开方法, 即各种Rewrite Hint • 对应Rearrange的定理 • e.g. A*B*C  C*A*B • A*B  B*A

  8. 接下来的工作 • 修改Practical Tactics for Separation Logic的Coq实现, 区别主要是Pure Formula部分, 我们这里已经有Solver生成Pure部分的证明 • 实现相关的引理库,包括Separation Logic的性质以及内建谓词的重写规则.

More Related