词条 | Cartesian closed category |
释义 |
In category theory, a category is considered Cartesian closed if, roughly speaking, any morphism defined on a product of two objects can be naturally identified with a morphism defined on one of the factors. These categories are particularly important in mathematical logic and the theory of programming, in that their internal language is the simply typed lambda calculus. They are generalized by closed monoidal categories, whose internal language, linear type systems, are suitable for both quantum and classical computation.[1] DefinitionThe category C is called Cartesian closed[2] if and only if it satisfies the following three properties:
The first two conditions can be combined to the single requirement that any finite (possibly empty) family of objects of C admit a product in C, because of the natural associativity of the categorical product and because the empty product in a category is the terminal object of that category. The third condition is equivalent to the requirement that the functor –×Y (i.e. the functor from C to C that maps objects X to X×Y and morphisms φ to φ×idY) has a right adjoint, usually denoted –Y, for all objects Y in C. For locally small categories, this can be expressed by the existence of a bijection between the hom-sets which is natural in both X and Z.[3] Take care to note that a Cartesian category need not have finite limits; only finite products are guaranteed. If a category is such that all its slice categories are Cartesian closed, then it is called locally Cartesian closed. Note that if C is locally Cartesian closed, it need not actually be Cartesian closed; that happens if and only if C has a terminal object. Basic constructionsEvaluationFor each object Y, the counit of the exponential adjunction is a natural transformation called the (internal) evaluation map. More generally, we can construct the partial application map as the composite In the particular case of the category Set, these reduce to the ordinary operations: CompositionEvaluating the exponential in one argument at a morphism p : X → Y gives morphisms corresponding to the operation of composition with p. Alternate notations for the operation pZ include p* and p∘-. Alternate notations for the operation Zp include p* and -∘p. Evaluation maps can be chained as the corresponding arrow under the exponential adjunction is called the (internal) composition map. In the particular case of the category Set, this is the ordinary composition operation: SectionsFor a morphism p:X → Y, suppose the following pullback square exists, which defines the subobject of XY corresponding to maps whose composite with p is the identity: where the arrow on the right is pY and the arrow on the bottom corresponds to the identity on Y. Then ΓY(p) is called the object of sections of p. It is often abbreviated as ΓY(X). If ΓY(p) exists for every morphism p with codomain Y, then it can be assembled into a functor ΓY : C/Y → C on the slice category, which is right adjoint to a variant of the product functor: The exponential by Y can be expressed in terms of sections: ExamplesExamples of Cartesian closed categories include:
Examples of locally Cartesian closed categories include:
Non-examples of locally Cartesian closed categories include:
ApplicationsIn Cartesian closed categories, a "function of two variables" (a morphism f : X×Y → Z) can always be represented as a "function of one variable" (the morphism λf : X → ZY). In computer science applications, this is known as currying; it has led to the realization that simply-typed lambda calculus can be interpreted in any Cartesian closed category. The Curry-Howard-Lambek correspondence provides a deep isomorphism between intuitionistic logic, simply-typed lambda calculus and Cartesian closed categories. Certain Cartesian closed categories, the topoi, have been proposed as a general setting for mathematics, instead of traditional set theory. The renowned computer scientist John Backus has advocated a variable-free notation, or Function-level programming, which in retrospect bears some similarity to the internal language of Cartesian closed categories. CAML is more consciously modelled on Cartesian closed categories. Dependent sum and productLet C be a locally Cartesian closed category. Then C has all pullbacks, because the pullback of two arrows with codomain Z is given by the product in C/Z. For every arrow p : X → Y, let P denote the corresponding object of C/Y. Taking pullbacks along p gives a functor p* : C/Y → C/X which has both a left and a right adjoint. The left adjoint is called the dependent sum and is given by composition with p. The right adjoint is called the dependent product. The exponential by P in C/Y can be expressed in terms of the dependent product by the formula . The reason for these names is because, when interpreting P as a dependent type , the functors and correspond to the type formations and respectively. Equational theoryIn every Cartesian closed category (using exponential notation), (XY)Z and (XZ)Y are isomorphic for all objects X, Y and Z. We write this as the "equation" (xy)z = (xz)y. One may ask what other such equations are valid in all Cartesian closed categories. It turns out that all of them follow logically from the following axioms:[6]
Bicartesian closed categories extend Cartesian closed categories with binary coproducts and an initial object, with products distributing over coproducts. Their equational theory is extended with the following axioms:
Note however that the above list is not complete; type isomorphism in the free BCCC is not finitely axiomatizable, and its decidability is still an open problem.[7] References1. ^John C. Baez and Mike Stay, "Physics, Topology, Logic and Computation: A Rosetta Stone", (2009) [https://arxiv.org/abs/0903.0340/ ArXiv 0903.0340] in New Structures for Physics, ed. Bob Coecke, Lecture Notes in Physics vol. 813, Springer, Berlin, 2011, pp. 95-174. 2. ^{{Cite book|url=https://www.worldcat.org/oclc/851741862|title=Categories for the Working Mathematician|last=Saunders.|first=Mac Lane,|date=1978|publisher=Springer New York|isbn=1441931236|edition=Second|location=New York, NY|oclc=851741862}} 3. ^{{Cite web|url=https://ncatlab.org/nlab/show/cartesian+closed+category|title=cartesian closed category in nLab|website=ncatlab.org|access-date=2017-09-17}} 4. ^H. P. Barendregt, The Lambda Calculus, (1984) North-Holland {{ISBN|0-444-87508-5}} (See theorem 1.2.16) 5. ^http://mathoverflow.net/a/136480/ 6. ^S. Soloviev. "Category of Finite Sets and Cartesian Closed Categories", Journal of Soviet Mathematics, 22, 3 (1983) 7. ^Fiore, Cosmo, and Balat. Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum Types
External links
2 : Closed categories|Lambda calculus |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。