逆数学

一般性

逆数学的原则如下:从一个框架语言和一个基理论—一个核心(公理)体系—开始,它可能弱到无法证明大部分我们感兴趣的定理，但是它要强到足以证明一些特定的其区别和所研究的课题不相关的命题之间的等效性或者足以建立一些足够明显的事实(例如加法的可交换性)。在该弱的基系统之上有一个全理论，强到足以证明我们感兴趣的定理，而正常的数学直觉在该理论中又不受侵害。
在基系统和全系统之间，逆数学家需求给一些公理集标上中间的强度，它们（在基系统上）互相不等价:每个系统不仅要证明这个或那个经典定理而且需要在核心体系上等价于该定理。这保证定理的逻辑强度可以被精确的衡量(至少对所选的框架语言和核心系统来说):更弱的公理系统无法证明该定理，而更强的公理系统不被该定理所蕴涵。

语言和基系统的选择

若基系统选得太强（作为极端情况，选它为完整的策墨罗-富兰科集合论），则逆数学没有什么信息：很多(全系统的,也就是说通常的数学定理)定理会成为核心系统的定理，所以他们全都等价，我们对于他们的强度一无所知。若基系统选得太弱(作为极端情况，选它为谓词演算)，则定理间的等价关系过于细化：没有任何东西等价除了很明显的，同样我们一无所知。如何选取框架语言也是一个问题：它需要不用太多翻译便足以表达通常的数学思想，而它不应预设太强的公理否则我们会碰到和核心系统太强一样的麻烦。
例如，虽然通常(正向的)数学使用集合论的语言，并在策墨罗-富兰科集合论的系统中实现(这个系统，如果不加显式的否认，被数学工作者假设为缺省基础系统),事实上这个系统比真正所需要的强很多—这也是逆数学给我们的教训之一。虽然逆数学特定的结果可以用集合论的框架表达，通常这不是很合适，因为这预设了太强的假定(例如任何阶的集合的存在性和构造它们的一致性)。
在逆数学根据Friedman,Simpson和其他人的现在的实现中，框架语言(通常)选为二阶算术，而核心理论选为递归理解，而全理论则为经典分析。我们接下来必须关于这些说上两句。

二阶算术

本节有点技术性，主要试图精确描述逆数学的通常框架(也就是，二阶算数子系统)。

语言

二阶算数的语言是一种分为两类的(一阶谓词演算的)语言。一些术语和变量，通常用小写字母表示，用于指代个体/数字，它们可以视为自然数。其他变量，称为类变量或者谓词，并经常用大写表示，指代个体的类/谓词/属性，它们可以视为自然数的集合。个体和谓词都可以量化，所有或者存在。一个公式如果有未限定的类变量，(虽然它可能有自由类变量和确定个体变量，)称为算式(arithmetical)。
个体术语可以用常数0，单元函数S (后续函数)和二元操作+和· (加和乘)组成。后续函数产生一个比输入大一的自然数。关系 = (相等) 和 < (自然数的比较) 可以关联两个个体，而关系∈ (属于) 关联一个个体和一个类。
例如\forall n (n\in X \rightarrow Sn \in X)是二阶算数定义严谨的公式，它是一个算式，有一个自由类变量X和一个确定个体变量n (但是没有确定类变量，这是算术共识的要求),而\exists X \forall n(n\in X \leftrightarrow n < SSSSSS0\cdot SSSSSSS0)是一个定义严谨的公式却不是算式，它有一个确定类变量X和一个确定个体变量n。

子系统

常用的5个子系统按照强度(stength)分别是RCA0 (Recursive comprehension axiom); WKL0 (Weak König's lemma); ACA0 (Arithmetical comprehension axiom); ATR0 (Arithmetical transfinite recursion); Π11-CA0 (Π11 comprehension axiom);