【PL理论】(33) 类型系统:推导树证明 φ ⊢ e∶t | 继续定义关系:γ ⊢ e∶t

  • 💬 写在前面:本章我们将讲解推导树证明,推导树实际上就是推理规则的应用。只要学会如何选择并应用适当的推理规则,证明就不是难事了。

目录

0x00 推导树证明 𝝓 ⊢ 𝒆 ∶ 𝒕

0x01 继续定义关系:𝚪 ⊢ 𝒆 ∶ 𝒕


0x00 推导树证明 𝝓 ⊢ 𝒆 ∶ 𝒕

对于程序 e,如果我们能画出一个推导树来证明:

\color{} \phi \vdash e:t

那么我们的类型系统接受 e,这意味着该程序没有类型错误。

推导树就是推理规则的应用,整个程序的形式为 let x = e1 in e2,因此我们应用以下推理规则: 

实例化 \color{} \Gamma 为 \color{} \phi, \color{} e_1:= 3+2,e_2:=x<2 :

左子树必须证明:\color{} \phi \vdash 3+2 :int

右子树必须证明:\color{} x \mapsto int \vdash x<7 : bool

完整的推导树如下所示,注意观察每个子树部分应用了哪些推理规则:

0x01 继续定义关系:𝚪 ⊢ 𝒆 ∶ 𝒕

下面我们继续定义关系:\color{} \phi \vdash e:t 

考虑 let f x = e1 in e2(函数定义),假设当参数 \color{} x 的类型为 \color{} t_a 时,\color{} e_1 的类型为 \color{} t_r

那么函数 \color{} f 的类型是 \color{} t_a \mapsto t_r

思考 \color{} e_1,e_2 的和函数应用:

如果 \color{} e_1 的类型为 \color{} t_a\rightarrow t_r,且参数 \color{} e_2 的类型为 \color{} t_a,则函数调用的结果为 \color{} t_r

证明对于以下程序 \color{} \phi \vdash e:t,写出其推导树:

使用以下推理规则,实例化 \color{} \Gamma 为 \color{} \phi\color{} e_1:= x<1,e_2:=f5

同时,我们知道 \color{} t_a 必须是 int,而 \color{} t_r 是 bool:

完整的推导树如下:

0x02 注意多种类型地情况

意对于某些程序 (𝒆),可能存在多种类型 (𝒕),使得 𝝓 ⊢ 𝒆 ∶ 𝒕 成立。

换句话说,类型可能不唯一确定!

let f x = x in f 为例:以下几种情况下的 𝝓 ⊢ 𝒆 ∶ 𝒕 都是可以证明,可以画出推导树的:

📌 [ 笔者 ]   王亦优
📃 [ 更新 ]   2024.6.15
❌ [ 勘误 ]   /* 暂无 */
📜 [ 声明 ]   由于作者水平有限,本文有错误和不准确之处在所难免,
              本人也很想知道这些错误,恳望读者批评指正!

📜 参考资料 

- R. Neapolitan, Foundations of Algorithms (5th ed.), Jones & Bartlett, 2015.

- T. Cormen《算法导论》(第三版),麻省理工学院出版社,2009年。

- T. Roughgarden, Algorithms Illuminated, Part 1~3, Soundlikeyourself Publishing, 2018.

- J. Kleinberg&E. Tardos, Algorithm Design, Addison Wesley, 2005.

- R. Sedgewick&K. Wayne,《算法》(第四版),Addison-Wesley,2011

- S. Dasgupta,《算法》,McGraw-Hill教育出版社,2006。

- S. Baase&A. Van Gelder, Computer Algorithms: 设计与分析简介》,Addison Wesley,2000。

- E. Horowitz,《C语言中的数据结构基础》,计算机科学出版社,1993

- S. Skiena, The Algorithm Design Manual (2nd ed.), Springer, 2008.

- A. Aho, J. Hopcroft, and J. Ullman, Design and Analysis of Algorithms, Addison-Wesley, 1974.

- M. Weiss, Data Structure and Algorithm Analysis in C (2nd ed.), Pearson, 1997.

- A. Levitin, Introduction to the Design and Analysis of Algorithms, Addison Wesley, 2003. - A. Aho, J. Hopcroft, and J. Ullman, Data Structures and Algorithms, Addison-Wesley, 1983.

- E. Horowitz, S. Sahni and S. Rajasekaran, Computer Algorithms/C++, Computer Science Press, 1997.

- R. Sedgewick, Algorithms in C: 第1-4部分(第三版),Addison-Wesley,1998

- R. Sedgewick,《C语言中的算法》。第5部分(第3版),Addison-Wesley,2002

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/723837.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

振动分析-5-基于CNN的机械故障诊断方法

参考基于CNN的机械故障诊断方法 CNN之图像识别 预训练模型迁移学习&#xff08;Transfer Learning&#xff09; 基于卷积神经网络&#xff08;CNN&#xff09;的深度迁移学习在声发射&#xff08;AE&#xff09;监测螺栓连接状况的应用 参考基于CNN的机械故障诊断所面临的困难和…

护眼指南:精选适合学生写作业的台灯推荐

当前&#xff0c;近视问题在人群中愈发普遍&#xff0c;据2024年的统计数据显示&#xff0c;我国儿童青少年的总体近视率已高达52.7%。在繁重的学业压力下&#xff0c;学生的视力健康日益受到关注,近视背后潜藏着诸多眼部并发症的风险&#xff0c;包括但不限于视网膜脱离、视网…

ATFX汇市:英国5月核心CPI年率下降0.4百分点,GBPUSD不跌反涨

ATFX汇市&#xff1a;据英国统计局数据&#xff0c;英国5月核心CPI年率为3.5%&#xff0c;低于前值3.9%&#xff1b;英国5月名义CPI年率为2%&#xff0c;低于前值2.3%。核心CPI年率和名义CPI年率相比前值分别下降0.4个百分点和0.3百分点&#xff0c;意味着英国的通胀率仍处于快…

Nidhogg:一款专为红队设计的多功能Rootkit

关于Nidhogg Nidhogg是一款专为红队设计的多功能Rootkit&#xff0c;该工具的主要目的是为红队研究人员提供一个多合一的切易于使用的多功能Rootkit&#xff0c;并允许研究人员通过单个头文件来将其引入到自己的C2框架之中。 当前版本的Nidhogg支持任意版本的x64 Windows 10和…

Monaco Editor系列(八)插入自定义DOM、删除指定位置的单词、给特定单词着色

前言&#xff1a;人都不知道自己是谁&#xff0c;所以想让自己成为什么样的人&#xff0c;就多给自己说什么样的话。我爱学习&#xff01;学习使我快乐&#xff01;回顾一下上一篇文章的内容。还记得 Monaco Editor 的三个命名空间吗&#xff1f;分别是 editor、languages、wor…

不是所有洗碗机都能空气除菌 友嘉灵晶空气除菌洗碗机评测

精致的三餐让你以为生活是“享受”&#xff0c;可饭后那些油腻的锅碗瓢盆却成了你我美好生活的最大障碍。想要只吃美食不洗碗&#xff0c;那一台优秀的洗碗机就必不可少了&#xff01;今天&#xff0c;ZOL中关村在线要评测的就是这样一台不光洗得干净更能有效除菌抑菌的洗碗机—…

数据虚拟化、Data Fabric(数据编织)的兴起,对数据管理有何帮助?

数字化时代&#xff0c;虚拟化&#xff08;Virtualization&#xff09;并不是一个很陌生的词汇&#xff0c;它是现代数据中心资源管理的核心技术之一&#xff0c;是对 IT 资源&#xff08;如服务器、存储设备、网络设备等&#xff09;的抽象&#xff0c;通过屏蔽 IT 资源的物理…

2024年城市规划与创新管理国际会议(UPIM 2024)

2024年城市规划与创新管理国际会议&#xff08;UPIM 2024&#xff09; 2024 International Conference on Urban Planning and Innovation Management 【重要信息】 大会地点&#xff1a;苏州 大会官网&#xff1a;http://www.icupim.com 投稿邮箱&#xff1a;icupimsub-conf.c…

打击帮信罪掩隐罪的全渠道交易反欺诈解决方案

结合多年对抗黑灰产的实践经验&#xff0c;芯盾时代利用自主研发的智能风控决策平台&#xff08;IRD&#xff09;、账户风险监测系统&#xff08;ARM&#xff09;、终端威胁态势感知&#xff08;MTD&#xff09;、智能终端密码模块&#xff08;PMIT&#xff09;、设备指纹等产品…

没有 ADetailer,ComfyUI 画图脸崩了怎么办?

我们都知道 SD 的 WebUI 中的面部修复神器是 ADetailer&#xff0c;不过它是 WebUI 的专属插件&#xff0c;在 ComfyUI 中是搜索不到这个插件的&#xff0c;但是并不代表 ComfyUI 就不能使用面部修复功能了&#xff0c;ComfyUI 中也是可以找到平替的。 今天我们就来讲讲在 Com…

爆赞!24年GitHub首本Python开发实战背记手册,标星果然百万名不虚传

Python (发音:[ paiθ(ə) n; (US) paiθɔn ] n. 蟒蛇&#xff0c;巨蛇 )&#xff0c;是一种面向对象的解释性的计算机程序设计语言&#xff0c;也是一种功能强大而完善的通用型语言&#xff0c;已经具有十多年的发展历史&#xff0c;成熟且稳定。Python 具有脚本语言中最丰富…

COGNEX康耐视 INsight Micro系列视觉系统安装手测

COGNEX康耐视 INsight Micro系列视觉系统安装手测

全新剧场app的独特功能

全新剧场App通过引入一系列独特功能&#xff0c;旨在提升用户体验、增加用户粘性并拓宽市场范围。以下是对这些功能的详细分析&#xff1a; 1、虚拟剧场导览&#xff1a; 功能概述&#xff1a;利用增强现实技术&#xff0c;为用户提供虚拟剧场导览体验。用户可以在App中启动这…

从“野人饭”走红,探索品牌户外化营销趋势丨小红书内容分析

wildeat&#xff0c;户外是人的天性的回归 近来&#xff0c;“wildeat&#xff08;户外野吃&#xff09;”的风潮在小红书逐渐兴起。越来越多的人选择到户外吃一顿&#xff0c;做一次“野人”&#xff0c;主打一个只要氛围到了&#xff0c;就地开饭&#xff0c;不愁吃什么&…

数据结构--顺序表(图文)

顺序表的概念和特点 顺序表是一种线性数据结构&#xff0c;它由一组数据元素构成&#xff0c;这些元素具有相同的特性&#xff0c;并按照一定的顺序排列。在顺序表中&#xff0c;数据元素通常存储在连续的内存空间中&#xff0c;这使得通过索引可以直接访问到表中的任意元素。…

scratch3编程02-使用克隆来编写小游戏

目录 1&#xff0c;游戏效果 2&#xff0c;游戏代码块 1&#xff09;玩家 2&#xff09;障碍物 ​ 3&#xff09;箭头 ​ 4&#xff09;关卡图片 3&#xff0c;scratch文件 1&#xff0c;游戏效果 使用克隆 在这个游戏中&#xff1a; 程序开始&#xff1a;只要点击“…

开放式耳机哪个牌子好?2024五大闭眼入开放式耳机推荐!

想要购买开放式耳机&#xff0c;但面对很多品牌和型号&#xff0c;是否感到无从下手&#xff1f;别担心&#xff0c;作为耳机发烧友和测评专家&#xff0c;我为大家带来了几款热门开放式耳机的横向对比。从各个方面进行详细对比&#xff0c;还有我自己觉得还不错的五款开放式耳…

行列式和矩阵的区别

目录 一、行列式 1. 行列式的定义 2. (全)排列 3. 逆序数 二、矩阵 1. 矩阵的定义 三、行列式和矩阵的区别 四、参考书目 一、行列式 1. 行列式的定义 2. (全)排列 3. 逆序数 二、矩阵 1. 矩阵的定义 三、行列式和矩阵的区别 四、参考书目 同济大学数学系. 工程数学…

【代码随想录】【算法训练营】【第43天】 [518]零钱兑换II [377]组合总和IV [卡码57]爬楼梯

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 部分题目来自卡码网。 day 43&#xff0c;极其困难的周三~ 题目详情 [518] 零钱兑换II 题目描述 518 零钱兑换II 解题思路 前提&#xff1a;假设每一种面额的硬币有无限个&#xff0c;求组合数…

大模型技术如何构建金融领域的创新生态?

前言 近年来&#xff0c;人工智能技术不断迭代与突破&#xff0c;助力各行各业加速迈向智能化&#xff0c;其中在金融领域的运用逐渐加深&#xff0c;为银行、保险、基金、券商等金融机构实现数智化转型提供引擎动能。而大模型时代的到来&#xff0c;则为金融智能的发展引入了…