策梅洛-弗兰克尔集合论

策梅洛-弗兰克尔集合论（Zermelo-Fraenkel Set Theory），是数学基础中最常用的一阶公理化集合论。含选择公理时常简写为ZFC，不含选择公理的则简写为ZF。它是二十世纪早期为了建构一个不会导致类似罗素悖论的矛盾的集合理论所提出的一个公理系统。
介绍.
ZFC旨在构建自一个单一的基本本体论概念集合，和一个单一的本体论假定，就是在论域中所有的个体（就是所有数学对象）都是集合。有一个单一的基本二元关系集合成员关系；集合formula_1是集合formula_2的成员写为formula_3（通常读做"formula_1是formula_2的元素"）。ZFC是一阶理论，所以ZFC包括后台逻辑是一阶逻辑的公理。这些公理支配了集合的行为和交互。ZFC是标准形式的公理化集合论。使用ZFC的大量的正在进行中的普通数学推导请参见Metamath 在线计划。
在1908年，恩斯特·策梅洛提出了第一个公理化集合论，即策梅洛集合论。然而，这个公理系统无法构建出序数的集合；而序数是许多集合论研究的根本工具。此外，Zermelo的分类公理中使用了被称作“明确性”的性质，而它的实际意义是有歧义的（此时一阶逻辑的概念还未被提出）。在1922年，亚伯拉罕·弗兰克尔和独立的提议了定义“明确性”为可以在一阶逻辑中公式化并原子公式仅包括集合的公式。他们还同时提出应该用替代公理取代分类公理，并在体系中添加正规公理（首先由 冯诺依曼提出），从而得到了被称作 ZF的公理体系。
再向ZF增加选择公理就诞生了ZFC。选择公理曾饱受争议，因为选择函数的存在性是非构造性的；选择公理确立了选择函数的存在，而不说明如何构造这些函数。所以使用选择公理构造的一些集合，尽管可以证明其存在，但可能无法详细、描述性地构造出。因此，当一个结论依赖于选择公理时，有时会被明确地指出。
ZFC一般由一阶逻辑写出，实际上包含了无穷多个公理，因为替代公理实际上是公理模式。理查德·蒙塔古证明了ZFC和ZF集合论二者都不能用有限个公理来公理化。在另一方面，冯诺伊曼-博内斯-哥德尔集合论（Von Neumann–Bernays–Gödel, NBG）可以被有限公理化。NBG的对象同时包括集合和类；类是有含有元素但不在其他任何类中的实体。NBG和ZFC事实上是等价的，即所有不以任何方式提及类的定理在两个公理体系中同时可以证明或同时不能证明。
依据哥德尔第二不完备定理，ZFC的一致性不能在ZFC之内证明。ZFC的延展包括了通常意义上的大部分数学，所以ZFC的相容性不能在其他数学分支中证明。ZFC的相容性可从弱不可达基数的存在(独立于ZFC)而得出。几乎没有人怀疑ZFC有什么矛盾；通常认为，如果ZFC事实上不自洽，那相应的例子早就应该被发现了。可以肯定的是，ZFC避开了朴素集合论的三大悖论，罗素悖论、布拉利-福尔蒂悖论和康托尔悖论。 
文献中讨论过的ZFC的缺陷包括：
基本符号.
ZFC有许多等价的形式。下列的公理是由丘嫩于1980年提出。公理本身以一阶逻辑来叙述。
本条目定理的证明会频繁引用一阶逻辑的定理，定理的代号可以参见常用的推理性质一节。
以下把 formula_6 和 formula_7 都简写为 formula_8，除了强调使用选择公理的情况。
断言符号.
在ZF下，「属于关系」以一个双元断言符号 formula_9 来表示， formula_9 通常简记为 formula_11 ，并被直观理解成「x属于y」；类似地， formula_9 的否定 formula_13 通称被简记为 formula_14 ，并被直观理解为「x不属于y」。
另外，丘嫩的ZF系统以一个双元断言符号 formula_15 来表示「相等关系」（通常简记为 formula_16 ），且 formula_16 被预先的假设为ZF理论里的相等符号，换句话说，对于 formula_16 有以下的隐含公理：习惯上会把 formula_19 简记成 formula_20。
包含.
但ZF所谈及的一切对象为「集合」，直观上「x包含于y」意为「所有x的元素a都会属于y」，以此为动机，ZF有以下的符号简写
以上可称为「x包含于y」，也可称为「x是y的子集（subset）」。注意到 formula_1 须为展开这个简写时首次出现的变数，才能避免与其他变数混淆。
外延公理.
目前ZF内没有任何函数符号，而且一开始就假设 formula_16 为ZF理论里的相等符号，所以依据一阶逻辑的等式定理一节应有：
这样结合(AND)和演绎元定理就有：
对上式使用(GEN)有：
再结合量词公理(A5)就有：
注意对外延公理(ext)使用两次量词公理(A4)会有：
这样结合(AND)就有：
也就是外延公理(ext)搭配等号公理，可以推出「两个集合相等，若它们有相同的元素。」
视相等符号为公式.
除了一开始就假设 formula_32 为ZF的相等符号，也可以一开始做如下的符号定义，将formula_16 定义为以下合式公式的简写：
直观上，这个符号定义表示「两个集合相等，若它们有相同的元素；且它们会属于同个集合」
如此一来，就不需要外延公理，也可以确保 formula_16 为ZF理论里的相等符号：
但采用这个符号定义的ZF与丘嫩的ZF是两套不等效的理论，因为在丘嫩的ZF里没有以下的定理：
真子集.
在定义「相等」以后，可以把「相等的集合」排除出子集的定义中，换句话说，ZF有以下的符号定义
可直观理解为「x是y的真子集（proper subset）」。
正规公理.
「每个非空集合"formula_39"都包含一个成员"formula_40"，使得"formula_39"和"formula_40"不相交。」
替代公理.
令formula_43是ZFC语言内的任意公式，其自由变数有formula_44，但formula_45在formula_43　则不是自由的。则：
「若一个可定义的函数formula_48的定义域为一集合，且对定义域的任一formula_39，formula_50也都是集合，则"formula_48"的值域会是一个集合的子集。」这个限制被需要用来避免一些悖论。
分类公理.
「对每个集合 formula_39 和任意不含变数 formula_53 的公式 formula_54 ，都有某 formula_39 的子集合 formula_53 ，里面的成员都满足 formula_54 」
分类公理事实上是以集合建构式符号为动机。构成的集合通常使用来标记。给定一集合"z"和具有一自由变数"formula_39"的公式formula_59，则由所有在"formula_35"内，满足formula_61的"formula_39"所组成的集合，标记为
分类公理可以用来证明空集（标记为formula_64）的存在，只要至少已存在一个集合。通常的方法是找一个所有集合都没有的性质。例如，设formula_65是一个已存在的集合，而空集可定义为
若背景逻辑包含等式，也可定义空集为
因此，空集公理可由此处的九个公理中导出。外延公理还可证明空集是唯一的（不依赖"formula_65"）。通常会以定义性扩展，将符号formula_64加至ZFC语言中。
分类元定理.
分类公理也可以由替代公理和空集公理中导出，而视为一条元定理：
配对公理.
若"formula_39"和"formula_40"是集合，则存在一个集合包含"formula_39"和"formula_40"。
这个公理是Z的一部份，但在ZF中就显得多余，因为它可以由将替代公理应用至任意有两个成员的集合上导出。此类集合的存在性可由将无穷公理或幂集公理应用两次至空集上得到。
联集公理.
对任一个集合formula_75，总存在一个集合formula_76，包含每个为formula_75的某个成员的成员的集合。
无穷公理.
令formula_79为formula_80，其中formula_81为某个集合，则存在一个集合formula_82，使得空集formula_64为"formula_82"的成员，且当一个集合formula_40为"formula_82"的成员时，formula_87也会是"formula_82"的成员。
较口语地说，存在一个有无限多成员的集合"formula_82"。满足无穷公理的最小集合"formula_82"为冯诺伊曼序数formula_92，这个序数也可想成是自然数的集合formula_93。
幂集公理.
令formula_94为formula_95。对任一个集合formula_39，皆存在一个集合formula_40，为"formula_39"的幂集的父集。formula_39的幂集为一个其成员为所有"formula_39"的子集的类。
良序定理.
对任一集合"formula_82"，总存在一个可良好排序"X"的二元关系formula_103。这意指著，"formula_103"是"formula_82"上的全序关系，且"formula_82"内每个非空子集在"formula_103"下都有一个最小元素。
若给定前八个公理，就可以找到许多个和第九个公理等价的叙述，最著名的则为选择公理，其叙述如下：令"formula_82"为一非空集合，则存在一从"formula_82"映射至"formula_82"内成员的联集的函数（称为「选择函数」），可使得对所有的formula_112都会有formula_113。因为当"formula_82"为有限集合时，选择函数的存在性很容易由前八个公理中证出，所以选择公理只在无限集合中有意义。选择公理被认为是非结构的，因为它只声明一个选择集合的存在，但完全不讲这个选择集合是如何被「建构」出来的。