クラス (集合論)

集合論及びその応用としての数学におけるクラスまたは類（るい、）は、集合(または、しばしば別の数学的対象)の集まりで、それに属する全ての元が共通にもつ性質によって紛れなく定義されるものである。「クラス」の正確な定義は、議論の基礎となる文脈に依存する。例えば、ツェルメロ＝フレンケル集合論 (ZF) ではクラスは厳密には存在しないが、他の集合論（たとえば、フォン・ノイマン＝ベルナイス＝ゲーデル集合論 (NBG)）では、「クラス」の概念は公理化されている（NBG の例だと、別の量 (entity) の要素にならないような量としてクラスが定義される）。
（どのような定式化を選んだとしても）「全ての集合の集まり」はクラスである。（ZF では厳密な言い方ではないが）このクラスだが集合でないようなものは真のクラス (proper class) と呼ばれ、集合となるようなクラス（つまり集合）は小さいクラス (small class) とも呼ばれる。例えば、全ての順序数からなるクラスや全ての集合からなるクラスは、多くの形式体系において真のクラスである。
集合論以外の文脈では「クラス」を「集合」の同義語として使うこともある。この用法はクラスと集合が現代的な集合論の用語法に基づく区別をされていなかった時代からある。19世紀以前の多くの"クラス"に関する議論は集合のことを指していた、もしくはもっと曖昧な概念をさしていた。この意味でのクラスは「級」という訳語を当てることがある（たとえば滑らかさのクラスの "C"1-級など）。
例.
与えられた型の代数的対象全ての集まりは、たいてい真のクラスをなす。例えば、全ての群からなるクラス、全てのベクトル空間からなるクラス、など。圏論では、対象の集まりが真クラスをなすもの（または射の集まりが真クラスをなすもの）を大きい圏という。
超現実数 () 全体は、体の公理を満たす対象による真クラスである。
集合論では、集合の集まりの多くは真クラスになってしまう。例えば、全ての集合からなるクラス、全ての順序数からなるクラス、全ての基数からなるクラスなど。
クラスが真クラスであることを証明する方法に、全ての順序数によるクラスとの間に全単射を与えるというものがある。この方法は、例えば自由完備束が存在しないことの証明などに使われる。
パラドックス.
ラッセルのパラドックスなどの素朴集合論のパラドックスは「全てのクラスが集合である」という正しくない仮定によって説明される。厳格な基礎付けの下では、これらはパラドックスなのではなくて、ある種のクラスが真クラスであることの証明を示唆するものであると捉えることができる。ラッセルのパラドックスは「自分自身に属さない集合」全体が真のクラスになることを示唆するし、ブラリ＝フォルティのパラドックスは全ての順序数からなるクラスが真のクラスであることを示唆している。
公理的集合論におけるクラス.
ZFではクラスの概念を定式化することはできないので、クラスはメタ言語による同値な言明で置き換えることで扱うことになる。例えば、formula_1 をZFを解釈する構造として、メタ言語での表現 formula_2 の formula_1 における解釈は、formula_1 の議論領域に属する要素全ての集まり（つまり、formula_1 における集合すべての集まり）である。ゆえに、「全ての集合の成すクラス」を述語 "x = x"と（あるいはそれに同値な述語と）同一視することができる。
ZF集合論ではクラスを形式的に扱うことができないので、ZF の公理系をそのままクラスに関する言明に適用することはできない。しかし、到達不能基数 κ の存在を仮定すれば「それよりランクの小さな集合全体」は ZF のモデル（グロタンディーク宇宙）になり、その部分集合を「クラス」として考えることができる。
別な方法として、フォン・ノイマン＝ベルナイス＝ゲーデル集合論 (NBG) を例に挙げよう。この理論ではクラスは基本的な対象であり、集合は別のクラスの要素であるクラスとして定義される。しかしながら、NBGにおける集合の存在公理は、クラスの上を亘るのではなく、集合の上を亘る量化のみに制限されている。これにより、NBG は ZF の保存拡大となる。
モース-ケリー集合論 (MK) は（NBG のように）真クラスを基礎的な対象として認めるものだが、集合の存在公理の中で全ての真クラスを走る量化をも許す。これにより、MKはZFやNBGより真に強い。
新基礎集合論 (NF) や半集合の理論のようなほかの集合論でも、「真の類」の概念は意味を成す（必ずしも全ての類は集合でない）が、集合性 (sethood) の判定規準が部分集合を作る操作の下で閉じていない。例えば、普遍集合を備える任意の集合論は集合の部分類となるような真の類を持つ。