-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathabstract.tex
More file actions
187 lines (158 loc) · 8.59 KB
/
abstract.tex
File metadata and controls
187 lines (158 loc) · 8.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
\documentclass[UTF8, zihao=-4]{ctexart}
\usepackage[T1]{fontenc}
\usepackage[b5paper]{geometry}
\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage{amssymb,amsmath,amsthm}
\usepackage{fancyhdr}
\usepackage{biblatex}
\usepackage{hyperref}
\usepackage{quiver}
\newcommand\myshade{85}
\colorlet{mylinkcolor}{violet}
\colorlet{mycitecolor}{orange}
\colorlet{myurlcolor}{Aquamarine}
\hypersetup{
linkcolor = mylinkcolor!\myshade!black,
citecolor = mycitecolor!\myshade!black,
urlcolor = myurlcolor!\myshade!black,
colorlinks = true,
}
\newcommand{\cons}[1]{\textsf{#1}}
\newcommand{\slogan}[1]{\begin{center}%
\fcolorbox{red!80!green}{red!10}{%
\large\textbf{#1}%
}%
\end{center}}
\theoremstyle{plain}
\newtheorem*{lemma}{引理}
\newtheorem*{theorem}{定理}
\newtheorem*{corollary}{推论}
\theoremstyle{definition}
\newtheorem*{definition}{定义}
\theoremstyle{remark}
\newtheorem*{remark}{注}
\addbibresource{history.bib}
% \pagestyle{fancy}
% \fancyhead[L]{\nouppercase{\kaishu\rightmark}}
% \fancyhead[R]{\nouppercase{\kaishu\leftmark}}
% \setlength{\headheight}{14pt}
\title{类型论简史 (摘要)}
\date{}
\author{黄栩}
\begin{document}
\maketitle
这篇论文是前一次提交的 《类型论简史》 的续写与扩充.
主要增添了当代更加关注的类型论的历史脉络, 与类型论
语义学的沿袭与发展, 包括其与范畴逻辑之间的关系.
在类型论中, 一切数学对象的含义都由它们从属的类型决定.
如类型 \(\mathbb N\) 的元素是自然数, 而类型 \(\alpha \times \beta\)
的元素是有序对, 类型 \(\alpha \to\beta\) 的元素
是映射, 等等. 而这些类型可以相互组合, 表达出复杂的含义,
这使得类型论有能力作为数学的基础, 与集合论的地位类似.
另一方面, 计算机科学中也有利用类型描述程序的传统. 因此, 类型论
可以看作是数学与计算机之间的桥梁. 这也使得计算机定理
验证成为了有可行性的工作: 传统的使用一阶逻辑与集合论数学
基础中, 一个初等的定理也可能需要冗长的说明才能完全
严格的写出来, 因此只有理论上的可能性.
类型论的定理验证不仅可以验证数学定理,
在实际应用上还可以验证各种需要低出错率的
软硬件(如军事、医用、宇航电子仪器)设计无误.
\section*{简单类型论}
类型论是Russell在1903年为了解决以他命名的悖论而提出的.
如果有集合 \(R = \{x \mid x \notin x\}\), 那么考察
\(R \in R\) 的真假就会发现矛盾. 为了解决这个矛盾,
Russell提出了类型的概念.
我们可以发现, 数学中我们根本不会需要讨论 \(x \in x\) 这样的
命题. 实数 \(x\) 属于实数集 \(\mathbb R\), 而一些实数的
集合 (如开集) 构成集合族 \(\Omega\). 这些数学对象之间都有明确的层级,
层级混乱的命题一般没有数学意义.
更严格来说, 对象之间是有分类的. 譬如虽然二维的点 \((\pi, 3)\)
和三维空间的点 \((0,1,-1)\) 都是同一个层级的, 但是我们也基本不会
把它们放在同一个集合中.
从这个观察出发, 我们可以把这种分类的概念严格化. 我们设当前研究
的最基本的个体的分类称作 \(\iota\). 如我们研究数论的时候
\(\iota\) 代表全体自然数, 研究分析学的时候就是全体实数, 等等.
其次我们需要有一类数学对象表示命题, 因此我们把所有命题构成的分类
称作 \(o\).
其次, 我们需要从基本的分类出发组成更复杂的分类. 譬如说可以用
\(\iota \to \iota\) 表示自然数到自然数的函数.
最后, 我们引入各种逻辑连词, 如 \(\wedge : o \to o \to o\),
\(\forall : (\iota \to o) \to o\) 等等, 并且
添加相关的推理规则. 这样就得到了简单类型论的逻辑系统.
人们依据这种形式系统, 写出了计算机程序 Isabelle,
用计算机的准确性验证数学证明. 已经有不少数学理论被 Isabelle 形式化.
譬如质数定理. 这说明类型论与集合论一样, 有形式化数学的基本能力.
\section*{Curry--Howard 对应}
观察类型系统的规则,
假如我们有 \(f : \alpha \to \beta\), 以及 \(a : \alpha\),
那么我们就能求值得到 \(f(a) : \beta\). 这其实和逻辑里
最古老的推理有些相像: 假如我们证明了 \(p\Rightarrow q\),
并且我们证明了 \(p\), 那么我们就可以证明 \(q\).
在1934年, Curry 注意到了这一相似之处. 随后越来越多
的对应关系表明, 逻辑中的命题与类型论中的类型表现得非常
相似. 这就是 Curry--Howard 对应. 因此, 如果我们为
每一种逻辑关系找到对应的类型, 那么就不需要再额外添加推理
规则, 直接使用类型作为命题即可.
1967年, 利用这些想法, Nicolaas Govert de Bruijn
设计了一门依值类型论的计算机语言, 称为 Automath.
1976年, Jutting 在学位论文中使用 Automath
形式化了 Landau 的《分析学基础》. Automath 没有
被大规模使用, 不过它的设计影响到了许多后继的类型论.
F系统在 1972 年由逻辑学家 Jean-Yves Girard
与 1974 年由计算机科学家 J. C. Reynolds 独立发现.
这说明 Curry--Howard 对应不仅仅是一个刻意构造的对应,
而是深刻而直接地影响到了两个学科的发展.
Bishop 用行动展示了数学的许多重要的部分都能在构造主义中发展, 并且只需要对经
典数学的理论做较小的修改. 我们只需要选取一种优雅的姿态, 就能
在构造主义中轻松地完成经典数学中可以做到的事情. 行胜于言, Bishop 极大地推动了构造
主义数学的发展.
\section*{同伦类型论}
1998年, Hofmann给出了类型论的群胚模型. 这为类型论
的发展提供了新的启示, 最终产生了同伦类型论的概念.
基于拓扑空间的同伦论中, 拓扑空间不满足许多理应满足的性质.
譬如连续函数构成的空间并不一定能使得求值态射
\(\cons{ev} : [(X \Rightarrow Y) \times X] \to Y\) 连续;
不是所有空间都有万有覆叠, 等等. 因此使用拓扑空间时
必须花费精力将性质不好的部分剔除.
同伦类型论则从全新的角度解决了这个问题. 正如《几何原本》并不是
利用实数构造坐标系来研究几何, 而是直接从一系列基本的事实
出发推导复杂的定理, 同伦类型论不使用实数区间 \([0,1]\) 而是
直接从类型规则出发刻画同伦的概念. 譬如
\(\pi_4(\mathbb S^3) = \mathbb Z/2\mathbb Z\)
等性质可以直接在同伦类型论中得到证明. 目前有许多同伦论的
结论已经可以在同伦类型论中复现.
2012--2013年, 由Princeton高等研究院发起了
“泛等数学基础特别年”, 邀请了拓扑学、计算机科学、范畴论、逻辑学
等等领域的数学家参加. 其中由 Peter Aczel 提议, 尝试使用
同伦类型论书写非形式化的数学. 这次尝试很快获得了
初步成功, 最终写出了《同伦类型论:泛等数学基础》这本书.
它从零出发, 整理了泛等数学基础中的结论, 从同伦类型论
的角度重新叙述了集合论与范畴论, 并且给出了
实数的定义与主要性质的证明.
\section*{类型论的语义}
起初, 类型论的语义
常常使用的是一阶逻辑和集合论现成的语义学工具.
Scott 等人尝试使用拓扑空间与偏序关系等数学对象为
更一般的类型论提供模型. 1984年,
Seely在一篇文章中指出, 局部积闭范畴可以和
类型论中的许多东西找到对应.
这使得类型论的语义学与范畴逻辑学相联系.
随后, 范畴论与类型论之间的
关联逐步被发展起来. 各种不同的类型论可以视作是各类不同
的范畴的语言.
类型论模型的一个极重要的特征就是其 (广义的) 代数性.
代数结构通常满足一系列性质, 例如同态定理, 三条同构定理等.
对代数结构可以推广得到本质代数结构或者广义代数结构.
而类型论的模型一般都可以写
成这种形式, 进而可以运用代数结构的一般结论.
有一类类型论在近年来得到了许多关注, 它们称为模态类型论.
这起源于逻辑学中的模态逻辑. 例如可以用模态 $\lozenge p$
表示“可能 $p$”, 进而研究关于可能性与必然性的逻辑.
模态逻辑可用于研究可能性、时态、知识、道德等等在哲学与逻辑学中有意义的话题.
而在数学方面, 许多重要的概念都可以统一到类型论中的模态框架下,
同时一些综合数学系统中也会遇到适合用模态公理化的对象.
模态类型论可能可以将各种优势各异的类型系统统一到同一个类型论中.
\vspace*{\fill}
\emph{参考文献见完整版.}
\end{document}