【冯诺伊曼-博内斯-哥德尔集合论】
在数学基础中，冯·诺伊曼-博内斯-哥德尔集合论（von Neumann–Bernays–Gödel Set Theory，NBG）是设计生成同Zermelo-Fraenkel 集合论与选择公理一起（ZFC）同样结果的集合论公理系统，但只有有限数目的公理，即是不使用公理模式。
NBG首先由冯·诺伊曼在1920年代提出，从1937年开始由保罗·博内斯作修改，在1940年由哥德尔进一步简化。
不像ZFC，NBG只有有限多个公理。Richard Montague在1961年证明，不可能找到在逻辑上等价于ZFC的有限数目的公理；因此NBG的语言有能力谈论真类同谈论集合一样，并且关于集合的陈述在NBG中是可证明的，当且仅当它在ZFC中是可证明的（就是说NBG是ZFC的保守扩展）。
== 理论 ==
这个理论的标志特征是类和集合的区分。类可以非常大——实际上你可以谈论“所有集合的类”。但是有一个结构性限制以避免“所有类的类”或“所有集合的集合”这样的描述。
成员关系
只定义在  是集合而  是集合或类的条件下。
类的构建反映了朴素集合论的构建过程。由于给出了抽象原理，因此从任何带有成员关系的谓词逻辑的陈述，都可以形成相应的类。等于、序对、子类等等的概念都变成定义而不是公理的事情——这些定义都是从公式而来的抽象。
集合的构建跟ZF里的处理很相似。有一个谓词“Rp”定义如下：
就是说，一个集合 a 表示（represent）一个类 A，如果 a 的所有元素都是 A 的元素，反之亦然。有些类没有表示，比如不包含自身的所有集合的类。这样的类叫做真类。
这种系统的优点是它搭建出一个框架，以允许谈论“大对象”，而不会有涉及悖论的顾虑。比如，在范畴论的某些构建中，若然在一个范畴里，对象的搜集和态射的搜集可以被表示为真类，那这范畴便称为大范畴。在另一方面，如果一个范畴的对象和态射能“装进”集合，就称之为小范畴。因此我们可以容易的谈论“所有小范畴的范畴”而不会衍生问题。当然，这样得出的会是个大范畴。
== NBG的公理化 ==
在本节中会展示一个NBG的公理化（实际上有两个不同的公理化，第二个是第一个的改进）。可以把它跟Morse-Kelley集合论的公理化比较一下。
把NBG看作有两种类别（two-sorted）的理论，小写字母充当集合变量而大写字母充当类变量。成员关系的陈述需要是如下形式之一：
或 ，而等式的陈述需要是如下形式之一
或 。通过滥用符号，把  写为 a=A。
这个理论也可以被表达为单一类别（one-sorted）的理论，通过如下定义来区分集合和类：一个类是集合，如果它是另一个类的元素。
公理如下，不带类字样的公理是关于集合的。
* 类外延性公理：：有相同元素的类是相同的。
* 外延性公理：：有相同元素的集合是相同的。
* 类概括公理（模式）：如果公式  不包含修饰类的量词（但还是可以包含类和集合参数），则存在一个对应的类 A使得对于所有 x，。
在朴素集合论里，使用非限定的公式构成集合，是产生悖论的原因。在NBG系统里，限定了概括公理的适用情况，并借此有加以限制的公式构成一个类，从而避免了朴素集合论的悖论。
若把这个公理模式强化，允许量词修饰类，这样它就不再是有限可公理化的，可由另一个理论叫做 Morse-Kelley 集合论来描述。
* 配对公理：：对于任何集合 x 和 y，有一个集合 ，它的元素精确地是 x 和 y。
注意这个公理允许有序对的定义，并与类概括一起，允许把在集合上的关系适用于类的情况（对于特定的类关系，也可以使用函数、单射或双射的术语了，只不过是「由类到类」而不是「由集合到集合」）。
* 大小限制公理：对于任何类 C，存在一个集合 x 使得  （谓 x 是 C 的表示，即 C 和 x 所包含的元素一样），当且仅当没有在 C 和所有集合的类 V 之间的双射。
这个公理贡献自冯·诺伊曼，并一下实现了分离公理、替代公理和全局选择公理。如果需要的话，它可以被弱化为“若类函数的定义域被包含在一个集合中，则其值域亦为集合”；这将去除选择公理（如果需要可以把它替代为更加有用的局部形式的选择公理）。完全的大小限制公理蕴涵了全局选择公理，因为序数的类不是集合，所以有从序数到全集的双射。
* 并集公理：对于任何集合 x，有一个集合精确的包含 x 的元素的元素。
* 幂集公理：对于任何集合 x，有一个集合精确的包含 x 的子集。
* 无穷公理：存在一个集合 y，空集是 y 的元素，且对每个 y 的元素 a ，  也是 y 的元素。
* 类基础（正规）公理：若类 A 不是空类，则存在类 A 的元素 x，使得 x 与 A 不具有共同元素（可以理解为不相交）。
== 与类概括公理（模式）等价的一组公理 ==
我们可以用几个公理来取代 NBG 的类概括公理模式。
我们将用以下的公理作为例子，但不保证它跟正规的方法一样。
* 集合公理：对于任何集合 x，有一个类 X 使得 x=X。
这个公理给予我们某些东西作为起始（结合上第一个公理化中的关于集合存在的那些公理），并且使我们可以处理在公式中的集合参数（parameter）。
注意如果  且 ，则  且 。这些已经足够处理所有命题连结词。
* 补类公理：对于任何类 A，补集  是类。
* 交类公理：对于任何类 A 和 B，交集  是类。
现在我们需要处理量化。为了处理多个变量，我们需要能够表示关系。有序对  被定义为平常的 （我们假定了其他 NBG 公理所以有配对）。
* 积类公理：对于任何类 A 和 B，类  是类（ 实际上就是我们所需要的全部）。
* 类逆转公理：对于任何类 R， 类  和  存在。
* 类结合公理：对于任何类 R，类  和  存在。
通过这些公理，我们可以自由的增加哑变元（dummy argument）并在任意元数关系中重排变元的次序。看起来有点奇特的结合公理，它正是设计用来作调动，使得我们可以把任一变元提到列表前面（加上逆转公理的辅助）。我们把变元的列表  表示为 （它是第一个变元作为它的第一个投影，而列表的“尾部”作为它的第二个投影的有序对）。想法是一直应用 Assoc1 ，直到这个要提到前面的变元位于第二个投影，接着适当地应用 Conv1 或 Conv2 ，把第二个变元提到前面，接着应用 Assoc2 直到最初 Assoc1 一系列应用的效果（现在在被移动的变元之后）被改正。
现在我们观察到如果  存在，则集合  按关系考虑的话，就单纯是第一个集合的值域。全称量词可以通过存在量词和否定来定义。
* 类值域公理：对于任何类 R，类  存在。可以使用前面的公理重排变元，把任何单一变元提到变元列表的前面来被量化。
现在我们需要专注于由原子公式表达的关系。
* 类成员公理：类  存在。
* 类对角公理：类  存在。
通过对角公理、加入哑变量，以及重排变量，可以构造断言它的参数中任意的两个变量相等这样的关系；这可以被用来处理重复的变量。
== 引用 ==
*  id=ISBN 978-0-486-66637-2
* John von Neumann, 1925, "An Axiomatization of Set Theory." English translation in Jean van Heijenoort, ed., 1967. From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931. Harvard University Press.
* Mendelson, Elliott, 1997 (1964). An Introduction to Mathematical Logic, 4th ed. Chapman & Hall. The classic textbook treatment of NBG set theory, showing how it can found mathematics.
* Richard Montague, 1961, "Semantic Closure and Non-Finite Axiomatizability I," in Infinitistic Methods, Proceedings of the Symposium on Foundations of Mathematics, (Warsaw, 2-9 September 1959). Pergamon: 45-69.
* urlname=vonneumannbernaysgodelsettheory