
类型系统与类型理论
文章平均质量分 69
KeithTsui
编译器工程师
展开
-
直觉逻辑(Intuitionistic Logic)的BHK 解释 (BHK Interpretation)
研究,如何在LEAN语言中,建构(Modeling)集合论(ZFC)前,即 ZFC in Lean,需要了解一下,直觉逻辑与其标准解释(Standard Interpretation),BHK解释(BHK Interpretation)。原创 2024-11-05 08:31:42 · 469 阅读 · 0 评论 -
LEAN 赋型唯一性(Unique Typing)之 Church-Rosser 定理 (Church-Rosser Theorem)及 赋型唯一性的证明
有了并行K简化的概念及其属性,以及其在LEAN类型理论中的相关证明,就可以证明,在K简化下的Church-Rosser 定理,及赋型唯一性。也就是说,在LEAN类型系统里,每个表达式(Expression)有且只有一个定义上相等的类型(Type)。原创 2024-09-22 08:31:33 · 716 阅读 · 0 评论 -
LEAN 赋型唯一性(Unique Typing)之 并行 κ 简化 (Parallel κ reduction)>>ₖ
在表达式e 中,存在多个部分是可以进行简化的,这些部分成为可简化部分(Redex),同时如果应用的简化规则是 K简化的话,即称为可K简化部分(K - Redex)。表达式 e 中的可K简化部分(K - Redex)通过K简化后,得到了 表达式 e',那么,就有 表达式 e 并行K简化为 表达式 e',记为e>>ₖ e' ,如果所有的可K简化部分(K - Redex)都进行了K简化的话,称为完全简化(Complete Reduction),记 e>>>ₖ e' 。原创 2024-09-21 09:13:59 · 1196 阅读 · 0 评论 -
LEAN 类型理论(Type Theory) 之 符号(Symbols)含义
梳理LEAN类型理论中符号的形与意。原创 2024-09-20 10:27:05 · 1701 阅读 · 0 评论 -
LEAN 赋型唯一性(Unique Typing)之 κ 简化 (κ reduction)
在《赋型唯一性的证明过程简介》提及到,κ 简化 (κ reduction)概念的引入,是为了证明,在不考虑 证据不区分(Proof Irrelevance)的情况,表达式具备唯一常态(Unique normal form),这使得 Church-Rosser理论得以证明,从而证明 n-provability是定义上方向(Definitional Inversion),最终,证明 赋型唯一性(Unique Typing)。原创 2024-09-17 08:01:01 · 867 阅读 · 0 评论 -
LEAN 赋型唯一性(Unique Typing)之 在 n-provability 下 的 赋型唯一性
《LEAN 赋型唯一性(Unique Typing)之 证明过程简介》中,介绍到,在证明赋型唯一性(Unique Typing )时,引入了 n-provability 的概念,通过证明在 n-provability 情况下的赋型唯一性,来证明系统的赋型唯一性。此篇文章介绍在 n-provability 情况下的赋型唯一性。原创 2024-09-16 09:31:29 · 844 阅读 · 0 评论 -
LEAN 赋型唯一性(Unique Typing)之 n-provability 注解
n-provability (n ∈ ℕ),记 ⊢ₙ ,其中,n 是指证明过程中,赋型规则与定义上相等规则的切换次数。表达式 e 在进行计算的过程中,赋型规则随着表达式 e 的形变,给每一步计算后的形变表达式 e‘ 进行赋型。此时,赋型规则的前提(Premises),利用归纳假设(Inductive Hypothese)提供的定义上相等关系,即 Γ ⊢ₙα ≡ β,为其结果的赋型,即Γ ⊢ₙ e:α,提供证明。那么, Γ ⊢ₙα ≡ β =>Γ ⊢ₙ e:α =>Γ ⊢ₙ₊₁α ≡ β 。原创 2024-09-15 08:33:12 · 1162 阅读 · 0 评论 -
LEAN 赋型唯一性(Unique Typing)之 证明过程简介
LEAN论文在证明赋型唯一性(Unique Typing )时,引入了 n-provability 的概念,通过证明在 n-provability 情况下的赋型唯一性,来证明系统的赋型唯一性。同时,在证明在 n-provability 情况下的赋型唯一性时,引入了κ 简化(κ reduction)的概念,以及 Church-Rosser 推论(Church-Rosser theorem)。原创 2024-09-14 08:27:28 · 704 阅读 · 0 评论 -
LEAN 类型系统属性 之 赋型唯一性(Unique Typing)浅析
LEAN 类型系统属性 之 赋型唯一性(Unique Typing),如同一表达式有两种类型,在LEAN定义的赋型规则(Typing Rules)下,那么那两类型定义上相等(Definitional Equality)。原创 2024-09-13 08:50:56 · 1195 阅读 · 0 评论 -
LEAN 类型系统属性 之 算法式相等的非传递性(Algorithm equality is not transitive)注解
由于 subsingleton 使用函数(eliminator) 的存在,导致算法式相等(Algorithm defintional equality)的非传递性。原创 2024-09-12 08:29:49 · 810 阅读 · 0 评论 -
LEAN 类型系统属性 之 定义上相等的非确定性(Undecidability of Definitional Equality)注解
由于定义上相等(Definitional Equality)作用在所有情况,由此,当遇到不一致(Inconsistent)的时候,会导致其结果是不确定的,即会无限扩展(expansion)下去。原创 2024-09-11 08:59:08 · 594 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 可达类型(Accessibility Type)
可达类型(Accessibility Type)表达了,对于一个定义在某一类型α关系 r,类型α 中的元素a 的可达性(Accessibility),即其它元素,能通过该关系r,直接或间接地接触到元素 a。 如果,类型里的每个元素都是关系r可达的(Accessible),那么该关系则是正确定义的(Well-founded)。原创 2024-09-10 07:42:58 · 1095 阅读 · 0 评论 -
LEAN类型系统属性之规范性(Regularity)注解
在《小结》 中,列出LEAN类型系统所定义的全部规律,下面 关于LEAN 属性 的一些推论(Lemma)进行注解。主要是其规范性(Regularity),以说明LEAN类型系统是完备构建的(well founded),即不存在相互矛盾的规律。原创 2024-09-09 16:20:20 · 864 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 相等类型(Equality Type)
相等类型(Equality Type)表达了,给定一个类型 α,类型α里的元素自身相等(equals itself),即其自反性(reflexivity)。原创 2024-09-09 08:29:03 · 976 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 小结(Summary)
小结(Summarize)LEAN类型理论(LEAN Type Theory)有三大部分组成,依赖类型(Dependent Type Theory)、非累积类型宇宙架构(The Hierarchy of Non-cumulative Universes )、以及 归纳类型(Inductive Type)。原创 2024-09-08 08:13:10 · 829 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 商类型(Quotient Type)
商类型(Quotient Type),也称划分类型,通过给定义一个定义在某一类型 α 上的关系R:α → α→ ℙ,将类型α 中,满足关系R的元素摘出来,组成该商类型(Quotient),记 α / R。原创 2024-09-07 16:36:28 · 276 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 谓词性Predicative、非谓词性Impredicative、Large Elimination
谓词性Predicative、非谓词性Impredicative、Large Elimination,浅析原创 2024-09-07 08:54:20 · 797 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 归纳类型(Inductive Type)的计算规则,iota简化(ι reduction)
归纳类型(Inductive Type)的计算规则(Computation Rule),也就是,《归纳类型(Inductive Type)的使用规则(Computation Rule)》中,提到的类型元素的等价规则(Equality Rule),也是,针对归纳类型的简化规则(Reduction Rules),即步进规则(Progress Rules)。原创 2024-09-06 08:57:48 · 331 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 归纳类型(Inductive Type)的使用规则(Elimination Rule)
使用规则(Elimination Rule),也叫解构规则(Destruction Rule),与构建规则(Introduction Rule),也叫建构规则(Construction Rule),相对应。即,构建规则(Introduction Rule),定义了该类型的正规元素是如何构建出来的;而,使用规则(Elimination Rule),定义了该类型的正规元素是如何被使用的。可以看作,生产(Produce)、消费(consume)关系。原创 2024-09-06 08:50:37 · 1744 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 归纳类型(Inductive Type)的定义
归纳类型(Inductive Type)在LEAN里的定义。原创 2024-09-05 08:52:53 · 926 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 归纳类型(Inductive Type)浅析
归纳类型(Inductive Type)的核心是,该类型是基于归纳原则(Inductive principle,base case & inductive step)来定义的。简单来说,在定义归纳类型时,会使用其归纳类型自身。原创 2024-09-05 08:46:01 · 1555 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— Delta 简化(δ Reduction)与 新增定义(Definitions)
Delta 简化(δReduction)是作用与 新增定义(Definitions)表达结构的一种简化规则(Reduction Rule)。原创 2024-09-04 08:29:38 · 541 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— Zeta 简化(ζ Reduction)与 let-binder
Zeta 简化(ζ Reduction)是作用与 let-binder 表达结构的一种简化规则(Reduction Rule)。原创 2024-09-04 08:28:41 · 457 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 算法式定义上相等(Algorithmic Definitional Equality)与简化
LEAN从定义上相等(Definitional Equality)中,区分了算法式定义上相等(Algorithmic Definitional Equality),说白了,就是,当一个表达式 e,通过转换简化规则(Conversion and Reduction)和 定义上相等推演规则,转化成另一表达式 e',那么,这两个表达式 e 和 e' 为算法式定义上相等(Algorithmic Definitional Equality),记为 e⇔ e'。原创 2024-09-03 11:12:16 · 975 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 定义上相等(Definitional Equality)
定义上相等(Definitional Equality)指的是意义上相等,即同义,包括了,定义的缩写(abbreviatory Definition),alpha转换,相同替代(substituting equals for equals)等。看看LEAN是如何定义所谓的定义上相等。原创 2024-09-03 10:36:41 · 1096 阅读 · 0 评论 -
LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 赋型(Typing)
LEAN 类型理论中赋型(Typing)的推演规则(Inference Rules)之注解(Annotations of LEAN Type Theory)原创 2024-09-02 16:53:26 · 1091 阅读 · 0 评论 -
论 计算与证明的一体两面 及 LEAN 语言的浅析
计算(Computation)与证明(Proof)是一体两面的,计算的过程也是证明的过程,反之亦然。LEAN语言是其中的一个体现。LEAN 是通用编程语言(General Purpose Programming Language),亦是交互式定理证明工具(Interactive Theorem Prover)。LEAN 类型理论 (LEAN Type Theory)基于归纳构造演算(calculus of inductive constructions)而衍生的 。原创 2024-08-31 12:00:13 · 1552 阅读 · 0 评论 -
计算(Computation)即常规化(Normalization)
常规化(Normalization)指的是,某一表达式(Expression)所表示的值,通过给定的转换和简化规则,最终转化成,某类型的正规元素(canonical element)。原创 2024-08-30 11:09:12 · 577 阅读 · 0 评论 -
类型理论(Type Theory)、类型系统(Type System)及证明系统(Proof System)浅析
广义抽象来说,类型理论(Type Theory)、类型系统(Type System)及证明系统(Proof System)都是这么一种系统,定义了五要素,系统语言(Language),表达式(Expressions),公理(Axioms),推演规则(Rules of Inference),以及语义解析(Semantics)。原创 2024-08-29 20:23:29 · 913 阅读 · 0 评论 -
幂集(Powerset)浅析
集合A的幂集 Power(A),就是集合A中元素的所有选择组合,也就是,包含了,所有定义在集合A上的选择函数。Power(A) ≡2 ^ A ≡A -> 2 ≡A -> Bool (≡ 指定义上相等 definitional equalitly)。原创 2024-08-23 15:53:02 · 959 阅读 · 0 评论 -
函数调用(Application)是 抽象化(Abstraction)的具象化过程
抽象化(Abstraction)即函数(Function),其具象化的过程就是函数调用(Application)。原创 2024-08-23 09:14:53 · 481 阅读 · 0 评论 -
类型理论简史 (The Brief History of Types in Mathematical Logic)
类型理论最早的原型可以追溯到1879年,至今已发展100多年了,以关键人物、关键作品、关键年份为基础,梳理其简史。原创 2024-08-22 15:04:34 · 546 阅读 · 0 评论 -
集合的不相交并(Disjoint union of sets)即 集合族不相交并(Disjoint union of a family of sets)的一个特例(Variant)
两个集合的不相交并(Disjoint union of two sets),就是,只有两个集合的集合族的不相交并(Disjoint union of a family two of sets),即 A U B =(Σ x∈ 2)C(x),给定C(0) = A, C(1) = B。原创 2024-08-20 15:36:21 · 638 阅读 · 0 评论 -
集合族不相交并(Disjoint union of a family of sets)浅析
集合族不相交并(Disjoint union of a family of sets)就是依赖积类型 (Dependent Product Type),也叫 Sigma 类型 (Sigma Type, Σ - Type)。原创 2024-08-20 12:10:14 · 746 阅读 · 0 评论 -
定义上相等(Definitional Equality)即同义(Synonym)
定义上相等(Definitional Equality)即同义(Synonym)原创 2024-08-19 18:10:46 · 185 阅读 · 0 评论 -
抽象化(Abstraction)与函数(Function)
函数(Function)是抽象化(Abstraction)的数学表征(Mathematical Representation)或正式表象(Formal Representation)。是一种通用化(Generalization)的过程,或是结果。原创 2024-08-19 16:52:11 · 200 阅读 · 0 评论 -
转化(conversion and reduction)后的相等(Equality)
转化(conversion and reduction)后的相等(Equality)是将元素的相等关系拓展到元素计算上。原创 2024-08-19 14:42:38 · 194 阅读 · 0 评论 -
推演递归(inductive-recursion)的随思
递归推演是理解世界(Universe)运作的一种重要方法。原创 2024-08-19 13:43:25 · 346 阅读 · 0 评论 -
何谓相等 (Equality),在类型理论(Type Theory)语境下
所有元素(Everything)都是可构建(constructable)的,由其构建函数(constructor)(有对应的输入和输出)所构建,一样的构建意味着相等(Equality)。原创 2024-08-19 10:58:55 · 455 阅读 · 0 评论 -
集合族迪卡尔积(Cartesian product of a family of sets)再理解
函数,fun a:A => b(a),便是集合族迪卡尔积中的每个元素的构建方式,只要给定一个 a:A,我们就能构建出B(a)的一个元素,而所有的B(x)就是集合族的迪卡尔积。原创 2024-08-19 10:26:20 · 370 阅读 · 0 评论