范畴论
範疇論（）是數學的一門學科，以抽象的方法處理數學概念，將這些概念形式化成一組組的「物件」及「態射」。數學中許多重要的領域可以形式化為範疇。使用範疇論可以令這些領域中許多難理解、難捉摸的數學結論更容易敘述證明。
範疇最容易理解的一個例子為集合範疇，其物件為集合，態射為集合間的函數。但需注意，範疇的物件不一定要是集合，態射也不一定要是函數；一個數學概念若可以找到一種方法，以符合物件及態射的定義，則可形成一個有效的範疇，且所有在範疇論中導出的結論都可應用在這個數學概念之上。
範疇最簡單的例子之一為广群，其態射皆為可逆的。群胚的概念在拓撲學中很重要。範疇現在在大部分的數學分支中都有出現，在理論電腦科學的某些領域中用于對應資料型別，而在數學物理中被用來描述向量空間。
範疇論不只是對研究範疇論的人有意義，對其他數學家而言也有著其他的意思。一個可追溯至1940年代的述語「一般化的抽象廢話」，即被用來指範疇論那相對於其他傳統的數學分支更高階的抽象化。
研究範疇就是試圖以「公理化」的方法抓住在各種相關連的「數學結構」中的共同特性，並以結構間的「結構保持函數」將這些結構相關起來。因此，對範疇論系統化的研究將允許任何一個此類數學結構的普遍結論由範疇的公理中證出。
考慮下面的例子：由群組成的類Grp 包含了所有具有「群結構」的物件。要證明有關群的定理，即可由此套公理進行邏輯的推導。例如，由公理中可立即證明出，群的單位元素是唯一的。
不是只專注在有特定結構的個別物件（如群）上，範疇論會著重在這些物件的態射（結構保持映射）上；經由研究這些態射，可以學到更多關於這些物件的結構。以群為例，其態射為群同態。兩個群間的群同態會嚴格地「保持群的結構」，這是個以將一個群中有關結構的訊息運到另一個群的方法，使這個群可以看做是另一個群的「過程」。因此，對群同態的研究提供了一個得以研究群的普遍特性及群公理的推論的工具。
類似的研究也出現在其他許多的數學理論中，如在拓撲學中對拓撲空間的連續映射的研究（相關範疇稱為Top），及對流形的光滑函數的研究等。
再抽象化一次，範疇自身亦為數學結構的一種，因此可以尋找在某一意義下會保持其結構的「過程」；此一過程即稱之為函子。函子將一個範疇的每個物件和另一個範疇的物件相關連起來，並將第一個範疇的每個態射和第二個範疇的態射相關連起來。
實際上，即是定義了一個「範疇和函子」的範疇，其元件為範疇，（範疇間的）態射為函子。
經由研究範疇和函子，不只是學習了一類數學結構，及在其之間的態射；還學習了「在不同類型的數學結構之間的關係」。此一基本概念首次出現於代數拓撲之中。不同的「拓撲」問題可以轉換至通常較易解答的「代數」問題之上。在拓撲空間上如基本群或基本群胚等基本的架構，可以表示成由群胚所組成的範疇之間的基本函子，而這個概念在代數及其應用之中是很普遍的。
再抽象化一次，架構通常會「自然地相關連」，這個第一眼會覺得很曖昧的概念，產生了自然變換（將一個函子映射至另一函子的方法）此一清楚的概念。許多數學上的重要架構可以從此一角度來研究。
范畴、函子和自然变换是由塞缪尔·艾伦伯格和桑德斯·麦克兰恩在1945年引进的。这些概念最初出现在拓扑学，尤其是代数拓扑学里，在同态（具有几何直观）转化成同调论（公理化方法）的过程中起了重要作用。乌拉姆说，在1930年代的后期，波兰学派中曾出现类似的想法。
艾伦堡和麦克兰说，他们的目的在于理解自然映射；为此，必须定义函子；为了定义函子，就自然地要引进范畴。
同调代数由于计算上的需要而使用范畴论，这对范畴论起到了推进作用；此后范畴论又在代数几何的公理化过程中得到发展。代数几何与罗素-怀特海德的关于数学统一性基础的观点相抵触。广义范畴论随后产生，且更容纳了语意灵活性和高阶逻辑等多种新特征的泛代数，现在被运用到数学的所有分支。
特殊范畴拓扑斯甚至可以代替公理集合论作为数学的基础。然而范畴论对这些范围广泛的基础应用还是有争议的；但作为构造性数学的基础或注释，范畴论被研究的相当透彻。尽管如此，公理集合论至今仍然是数学家们的通用语言，并没有被范畴论的注释所取代。将范畴论引入大学程度的教学（在《伯克霍夫-麦克兰》和《麦克兰-伯克霍夫》这两本抽象代数的教科书的区别上可以印证）还是遭到了相当的反对。
范畴逻辑是直觉逻辑中类型论的一个被明确定义的分支，在计算机学科的函数式编程和域理论中均有应用，并且都是在笛卡尔闭范畴中对λ演算的非句法性描述。至少，用范畴论可以精确地描述在这些相关的领域里什么是共同的（在抽象的意义上）。
一个“范畴” formula_1 是由如下3個數學實體所組成的：
由以上公理可證得，每個物件都只存在一個單位态射。有些作者将物件本身用單位态射来定义，这在本质上是相同的。
如果对象的类确实是个集合，那么这种范畴就被称为“小范畴”。许多重要的范畴不是小范畴。
范畴中的态射有时又称为“箭號”，这种叫法来自于交换图。
每一范畴都由其对象，态射，和复合态射来表述。为了方便起见，以下的“函数”即是指态射，不再一一说明。态射 formula_61称为
映射之间的关系（比如formula_74）在大多数情形下可用更直观的交换图来表示，在此图中对象被表示成顶点，态射被表示为箭头。
函子是范畴之间保持结构的映射。它们可以被看成以所有（小）范畴为成员的范畴中的态射。
一个从范畴formula_51到范畴formula_55的（协变）函子formula_77被定义为：并使下列性质成立：一个从范畴formula_51到范畴formula_55的反变函子formula_77不同于函子的地方仅在于将formula_55中的映射箭头倒过来。比如说formula_83是formula_51中任一态射，则有formula_99。定义反变函子的最简捷的方法是作为formula_51的反范畴formula_52到formula_55上的函子。
有关函子的具体例子和性质请详见函子条目。
详细请见自然变换条目。
一个“自然变换”是两个函子之间的一个关系。函子通常用来描述“自然构造”，而自然变换则用来描述两个构造之间的“自然同态”。有时候，两个截然不同的构造具有“相同的”结果；这正可以用两个函子之间的自然关系来表述。
如果formula_77和formula_104是从范畴formula_51到范畴formula_55的（协变）函子，则从formula_77到formula_104的一个自然变换对于formula_51中的任何对象formula_79，都有一个formula_55中相应的态射formula_112，使得对formula_51中的任何态射formula_83，都有formula_115；这也就是说下列图表是可交换的：
两个函子formula_77和formula_104称为“自然同构”，如果存在一从formula_77到formula_104的自然变换，使得对所有formula_51中的对象formula_79，formula_122是一个同构。
设formula_35是域，formula_124是formula_35上的任意向量空间，则有从向量空间到其二重对偶的一个“自然”內射型线性映射formula_126 。这些映射在以下意义上是“自然”的：二重对偶运算是一个函子，这些映射正好构成了从恒等函子到二重对偶函子的自然变换。如果向量空间的维数是有限的，我们就得到一个自然同构；因为“有限向量空间自然同构于其二重对偶”。
考虑阿贝尔群及其同态构成的范畴formula_127。对任意阿贝尔群formula_79、formula_129和formula_130，我们得到群同构
这些同构是“自然”的，因为它们定义了两个函子间的一种自然变换：formula_132。
运用范畴论的语言，许多数学研究领域都可以归结成一些恰当的范畴，例如所有集合的范畴，所有群的范畴，所有拓扑的范畴，等等。这些范畴里的确有一些“特殊的”对象，例如空集或者两个拓扑的直积。然而，在范畴的定义里，对象是原子性的，那就是说，我们无法知道一个对象到底是集合，是拓扑，还是其它抽象概念。有必要定义特殊对象而不涉及对象的内在结构，这是一个挑战。那么到底怎样不用元素而定义空集，不用开集而定义拓扑积呢？
解决这个问题的途径是借用对象和对象之间的关系，而这些关系由相应范畴中的态射给出。现在问题转化为寻找泛性质，这些泛性质可以唯一地决定我们所感兴趣的对象。事实上，为数众多的重要结构都可用纯范畴论的方法来描述。在定义泛性质时，我们要用到一个非常关键的概念：范畴性“极限”和其“上极限”。
人们很自然地要问，在什么样的情形下，两个范畴“在本质上是相同”的，换一句话来说，对其中一个范畴成立的定理，可以既定地转换成另一个范畴的定理。用来描述这种情形的主要方法是“范畴的等价性”，由函子给出。范畴的等价性在数学中有很多的应用。
范畴和函子的定义只是范畴代数中最基本的部分。除此之外的重要部分如下列所述。基本上是以阅读顺序排列，尽管它们彼此之间有着内在的联系。