子定型及有关概念课件.PPTVIP

子定型及有关概念课件.PPT

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.2 有子定型的简单类型化?演算 ? |-- ? <:? 从Sub中的断言,用公理和推理规则可以证明子定型断言? <:? 引理 对任何基调?,如果?|--? <:?,那么? 匹配? 对?<: ?的子定型的语义解释 子定型可以解释为转换或者包含 转换解释有助于澄清子定型为什么是前序而不是偏序 前序解释:可能同时有? <:?和? <:?,但??? 可相互转换的值集并不一定有同样表示 8.2 有子定型的简单类型化?演算 2. 项 ?<: ?项的定型规则 包括??项的所有定型规则(cst)、(var)、(? Intro)、(? Elim)、(add var) 新增包容规则 (subsumption) ? M : ?, ?|-- ? <: ? ? M : ? 8.2 有子定型的简单类型化?演算 例 假定基调中有int <: real、2: int、2.0: real和 div: real?real?real 令M是项?x: real.(div x 2.0): real ? real 确定M 2的类型 方式1: 利用real ? real <: int ? real的事实 方式2: 利用int <: real,使得2: real 8.2 有子定型的简单类型化?演算 3. 等式规则 ?<: ?等式证明系统和??的正好包含同样的公理和推理规则 等价关系: (ref)、(sym)和(trans) 加变量到类型指派: (add var) ?抽象和作用: (?)、(?)和(?) 同余关系: (?)和(?) 只有在? M ??和? N ??都是可推导时,才把等式 ? M ? N ??看成是合式的 8.2 有子定型的简单类型化?演算 有了子定型后会引起一些定型上的混淆 外延公理(?) ? ?x:?. (Mx) ? M x在M中不是自由的 会导致相等的项有不同的类型 适当地定义M会出现: ? ?x:?. (Mx) : ? ?? ? M : ???? 但? <: ?? 8.2 有子定型的简单类型化?演算 两个项在一种类型下相等而在另一种类型下不相等 在??中,等式的形式写成? M ? N:?,以直接表示这两个项的公共定型 ?x: real.?x? ? ?x: real. x: real ? real ?x: real.?x? ? ?x: real. x: int ? real 通常,如果A <: B,在类型A上有不同值的表达式在类型B上却相等是可能的 8.2 有子定型的简单类型化?演算 子定型和等式的一般原则由下面推理规则给出 该规则是一个导出规则 (subsumption eq) ? M = N :?, ? ? <: ? ? M = N : ? 8.2 有子定型的简单类型化?演算 例 对任何?<:?项? ?x:?. M: ? ? ?,且? <:?,可以证明等式 ? ?x:?. M = ?x:?. M : ? ? ? 证明的最后两步: ? ?x:?. (?x:?.M) x = ?x:?.M: ? ? ? ----使用 (?) ? ?x:?. (?x:?.M) x = ?x:?.M: ? ?? ----使用 (? ) 此例说明,在?<:?项上,?和?归约没有合流性 可以由加一个归约规则来补救 ? ?x:?.M ? ?x: ?. M:? ? ? 只要 ? |--? <:? (type label) 8.3 记 录 8.3.1 记录子定型的一般性质 类型分别为?1, …, ?n的成员l1, …, ln构成的记录的类型 ? l1:?1, …, ln: ?n? 记录和笛卡儿积相比,有更加丰富的子定型性质,因此记录到积的翻译不能保子定型 8.3 记 录 例 employee =def ?name : string, manager : string, salary : int? manager =def ?name : string, manager : string, salary : int, dept: department? manager <: employee 确定一个记录类型是否为另一个的子类型的主要原则是所有的操作必须保持合理的和良定义的 8.3 记 录 例 employee =def ?name : string, manager : string, salary : int? manager =def ?nam

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档