Categories and Computability

Total Page:16

File Type:pdf, Size:1020Kb

Categories and Computability Categories and Computability J.R.B. Cockett ∗ Department of Computer Science, University of Calgary, Calgary, T2N 1N4, Alberta, Canada February 22, 2010 Contents 1 Introduction 3 1.1 Categories and foundations . ........ 3 1.2 Categoriesandcomputerscience . ......... 4 1.3 Categoriesandcomputability . ......... 4 I Basic Categories 6 2 Categories and examples 7 2.1 Thedefinitionofacategory . ....... 7 2.1.1 Categories as graphs with composition . ......... 7 2.1.2 Categories as partial semigroups . ........ 8 2.1.3 Categoriesasenrichedcategories . ......... 9 2.1.4 The opposite category and duality . ....... 9 2.2 Examplesofcategories. ....... 10 2.2.1 Preorders ..................................... 10 2.2.2 Finitecategories .............................. 11 2.2.3 Categoriesenrichedinfinitesets . ........ 11 2.2.4 Monoids....................................... 13 2.2.5 Pathcategories................................ 13 2.2.6 Matricesoverarig .............................. 13 2.2.7 Kleenecategories.............................. 14 2.2.8 Sets ......................................... 15 2.2.9 Programminglanguages . 15 2.2.10 Productsandsumsofcategories . ....... 16 2.2.11 Slicecategories .............................. ..... 16 ∗Partially supported by NSERC, Canada. 1 3 Elements of category theory 18 3.1 Epics, monics, retractions, and sections . ............. 18 3.2 Functors........................................ 20 3.3 Natural transformations . ........ 23 3.4 Adjoints........................................ 25 3.4.1 Theuniversalproperty. ..... 25 3.5 Basicpropertiesofadjoints . ......... 28 3.6 Basiclimitsandcolimits. ........ 31 3.6.1 Initialandfinalobjects . ..... 31 3.6.2 Binaryproductsandcoproducts . ...... 32 3.6.3 Limitsandcolimitsofdiagrams. ....... 36 3.7 Special limits: equalizers and pullbacks. .............. 38 3.8 Completenessandcocompleteness . ......... 41 4 Exercises for part I 44 II Restriction Categories 47 5 Introduction to restriction 48 5.1 Restrictionbasics............................... ....... 49 5.2 M-categories ........................................ 54 5.3 Joinsandmeets................................... 60 5.4 Cartesianrestrictioncategories . ............ 64 6 Turing categories 68 6.1 Examples ........................................ 70 6.1.1 Theclassicalrecursioncategory. ......... 70 6.1.2 Variation ..................................... 71 6.1.3 Reflexiveobjects ............................... 71 6.1.4 Classifyingcategories . ...... 72 6.1.5 Turing categories vs. Kleene categories. ........... 72 6.2 ComparingTuringstructures . ........ 73 6.3 ComparingTuringmorphisms. ....... 74 6.4 Partial Combinatory Algebras . ......... 78 6.5 ExamplesofPCAs .................................. 82 7 Recursion categories 84 7.1 Recursiveness ................................... ..... 84 7.2 Interleaving .................................... ..... 85 7.3 Undecidability .................................. ..... 87 7.4 TherecursiontheoremandRice’stheorem . ........... 89 8 Exercises for Part II 91 2 1 Introduction It is impossible to give a complete view of category theory in a short sequence of lectures such as these and at the same time begin to illustrate an application. It is, therefore, inevitable that I will present a very biased and selective sampling. Since its inception in 1945 (with Eilenberg and Mac Lane’s paper [13]) category theory has found use as a fundamental tool in almost all areas of mathematics, it has had a profound effect on logic and philosophy, and it has been seriously applied both in the foundations of physics and, increasingly since the mid 1980’s, to the foundations of computer science in programming semantics. The second part of these notes describe another important area of application to computer science: computability. Despite the obvious potential for categorical methods to provide new insights in this area, computability (and complexity) has still not received the level of categorical attention it deserves. This makes it a particularly appropriate target for a series of lectures as there are plenty of opportunities to contribute! 1.1 Categories and foundations Category theory starts with a beguilingly simple notion: a category is just a directed graph with a composition defined on the edges. However, as more structure (mediated by functors, natural transformations, limits, and colimits) is added to this modest beginning, a fundamentally new and powerful mathematical perspective begins to emerge .... the reverberations of which are still working their way through the body of mathematics. Prior to the 1950’s work in the foundations of mathematics was almost all reductionist. This approach to foundations originated in Cantor’s creation of set theory. It is easy to forget that shortly after its formulation around the turn of the 20th century this foundation was beset by “paradoxes” and was widely criticized. Indeed, it was not until the work of Russell, Whitehead, and Zermelo which established axiomatic set theory, that Cantor’s sets were viewed as laying a foundation for mathematics. The antinomies which had plagued the foundations of mathematics had been quite embarrassing, and it was almost, with relief that the Mathematical establishment embraced the solution offered by axiomatic set theory. In 1926, when some mathematicians – following the “intuitionistic” views of Brouwer – continued to question this newly lain foundation, it was hardly surprising that Hilbert, representing the establishment, famously declared: “No one shall expel us from the paradise that Cantor has created for us”. Ironically it was only a few years later in 1931 that G¨odel’s work left Hilbert’s program in tatters. Brouwer’s “intuitionistic” views, although in some sense vindicated, never became mainstream. In fact, the focus in Mathematics had by that time already shifted away from foundational issues toward new and more applied frontiers – analysis, topology, algebraic geometry, number theory, combinatorics, etc. – and to other developments, such as Bourbaki’s program to organize and systematize mathematics at a more abstract level. By the 1950’s large tracts of new mathematics had been developed and documented. The relationships between these diverse developments had begun to assume an importance which, on the one hand, could not have been foreseen and, on the other, was simply not addressed at all by a reductionist approach to foundation. The development of category theory brought to the table a potent antidote to the reductionist program. Not only did it allow for the expression of relationships between areas of mathematics but also it provided methods to directly encode behavior in terms of admissible transformations. 3 It embodies an approach to mathematics very much in the tradition of Klein’s Erlangen Program (involving transformation groups in geometry), and Noether’s abstract approach to algebra. Most importantly category theory allowed the systematic discussion of behavior in a manner which avoided the detailed bottom-up development of internal structure. This enabled mathematicians to focus on structural interactions without actually worrying about exactly how the structures might arise. Considering that, famously, it took 360 pages of Principia Mathematica to prove 1 + 1 = 2, this was an immensely important innovation. Mathematical structures had become increasingly sophisticated and a reductionist approach to all structure had become a millstone around the neck of progress. It was simply too much work to connect securely to increasingly distant and irrelevant foundations. 1.2 Categories and computer science In 1987 Andre Scedrov and John Gray arranged a research conference at the University of Boulder (Colorado) entitled “Categories in Computer Science and Logic.” If one were to try to pinpoint exactly when category theory became a respectable tool in computer science this meeting (and its aftermath) stands out. John Reynolds, already a prominent computer scientist, and Jean- Yvres Girard, a young French logician, had independently invented the polymorphic λ-calculus. John Reynold had naively suggested a set theoretic semantics and had discovered somewhat to his dismay that not only was his semantics flawed but that he could prove that there could be no such semantics. The fact that one could compute perfectly well with this calculus displayed a serious gap between set theoretic semantics and what was apparently required for computation. Consequently Reynolds had asked both logicians and category theorists where the semantics of such systems lay. It turned out that category theorists already had an answer and part of the meeting was dedicated to an exposition (by Andy Pitts and Edmund Robinson) of that answer. The answer involved topos theory and altogether too many categorical steps for John Reynolds to digest at the meeting itself, however, he undertook to learn category theory and subsequently made substantial use of it in his work. The seeds of a number of other burgeoning interactions between these subjects (logic, category theory, and computer science) were also latent at that meeting. To mention just one: Jean-Yvres Girard was present and gave an exposition of linear logic and its proof theory. Subsequently in the proceedings Robert Seely [28] provided a categorical semantics for this system in Barr’s ∗- autonomous categories. This developed into a continuing interaction between categorical proof theory, logic, and computer science which is still central as it has important implications for
Recommended publications
  • Finite Sum – Product Logic
    Theory and Applications of Categories, Vol. 8, No. 5, pp. 63–99. FINITE SUM – PRODUCT LOGIC J.R.B. COCKETT1 AND R.A.G. SEELY2 ABSTRACT. In this paper we describe a deductive system for categories with finite products and coproducts, prove decidability of equality of morphisms via cut elimina- tion, and prove a “Whitman theorem” for the free such categories over arbitrary base categories. This result provides a nice illustration of some basic techniques in categorical proof theory, and also seems to have slipped past unproved in previous work in this field. Furthermore, it suggests a type-theoretic approach to 2–player input–output games. Introduction In the late 1960’s Lambekintroduced the notion of a “deductive system”, by which he meant the presentation of a sequent calculus for a logic as a category, whose objects were formulas of the logic, and whose arrows were (equivalence classes of) sequent deriva- tions. He noticed that “doctrines” of categories corresponded under this construction to certain logics. The classic example of this was cartesian closed categories, which could then be regarded as the “proof theory” for the ∧ – ⇒ fragment of intuitionistic propo- sitional logic. (An excellent account of this may be found in the classic monograph [Lambek–Scott 1986].) Since his original work, many categorical doctrines have been given similar analyses, but it seems one simple case has been overlooked, viz. the doctrine of categories with finite products and coproducts (without any closed structure and with- out any extra assumptions concerning distributivity of the one over the other). We began looking at this case with the thought that it would provide a nice simple introduction to some techniques in categorical proof theory, particularly the idea of rewriting systems modulo equations, which we have found useful in investigating categorical structures with two tensor products (“linearly distributive categories” [Blute et al.
    [Show full text]
  • A Proof of Cantor's Theorem
    Cantor’s Theorem Joe Roussos 1 Preliminary ideas Two sets have the same number of elements (are equinumerous, or have the same cardinality) iff there is a bijection between the two sets. Mappings: A mapping, or function, is a rule that associates elements of one set with elements of another set. We write this f : X ! Y , f is called the function/mapping, the set X is called the domain, and Y is called the codomain. We specify what the rule is by writing f(x) = y or f : x 7! y. e.g. X = f1; 2; 3g;Y = f2; 4; 6g, the map f(x) = 2x associates each element x 2 X with the element in Y that is double it. A bijection is a mapping that is injective and surjective.1 • Injective (one-to-one): A function is injective if it takes each element of the do- main onto at most one element of the codomain. It never maps more than one element in the domain onto the same element in the codomain. Formally, if f is a function between set X and set Y , then f is injective iff 8a; b 2 X; f(a) = f(b) ! a = b • Surjective (onto): A function is surjective if it maps something onto every element of the codomain. It can map more than one thing onto the same element in the codomain, but it needs to hit everything in the codomain. Formally, if f is a function between set X and set Y , then f is surjective iff 8y 2 Y; 9x 2 X; f(x) = y Figure 1: Injective map.
    [Show full text]
  • Linear Transformation (Sections 1.8, 1.9) General View: Given an Input, the Transformation Produces an Output
    Linear Transformation (Sections 1.8, 1.9) General view: Given an input, the transformation produces an output. In this sense, a function is also a transformation. 1 4 3 1 3 Example. Let A = and x = 1 . Describe matrix-vector multiplication Ax 2 0 5 1 1 1 in the language of transformation. 1 4 3 1 31 5 Ax b 2 0 5 11 8 1 Vector x is transformed into vector b by left matrix multiplication Definition and terminologies. Transformation (or function or mapping) T from Rn to Rm is a rule that assigns to each vector x in Rn a vector T(x) in Rm. • Notation: T: Rn → Rm • Rn is the domain of T • Rm is the codomain of T • T(x) is the image of vector x • The set of all images T(x) is the range of T • When T(x) = Ax, A is a m×n size matrix. Range of T = Span{ column vectors of A} (HW1.8.7) See class notes for other examples. Linear Transformation --- Existence and Uniqueness Questions (Section 1.9) Definition 1: T: Rn → Rm is onto if each b in Rm is the image of at least one x in Rn. • i.e. codomain Rm = range of T • When solve T(x) = b for x (or Ax=b, A is the standard matrix), there exists at least one solution (Existence question). Definition 2: T: Rn → Rm is one-to-one if each b in Rm is the image of at most one x in Rn. • i.e. When solve T(x) = b for x (or Ax=b, A is the standard matrix), there exists either a unique solution or none at all (Uniqueness question).
    [Show full text]
  • Chapter 2 of Concrete Abstractions: an Introduction to Computer
    Out of print; full text available for free at http://www.gustavus.edu/+max/concrete-abstractions.html CHAPTER TWO Recursion and Induction 2.1 Recursion We have used Scheme to write procedures that describe how certain computational processes can be carried out. All the procedures we've discussed so far generate processes of a ®xed size. For example, the process generated by the procedure square always does exactly one multiplication no matter how big or how small the number we're squaring is. Similarly, the procedure pinwheel generates a process that will do exactly the same number of stack and turn operations when we use it on a basic block as it will when we use it on a huge quilt that's 128 basic blocks long and 128 basic blocks wide. Furthermore, the size of the procedure (that is, the size of the procedure's text) is a good indicator of the size of the processes it generates: Small procedures generate small processes and large procedures generate large processes. On the other hand, there are procedures of a ®xed size that generate computa- tional processes of varying sizes, depending on the values of their parameters, using a technique called recursion. To illustrate this, the following is a small, ®xed-size procedure for making paper chains that can still make chains of arbitrary lengthÐ it has a parameter n for the desired length. You'll need a bunch of long, thin strips of paper and some way of joining the ends of a strip to make a loop. You can use tape, a stapler, or if you use slitted strips of cardstock that look like this , you can just slip the slits together.
    [Show full text]
  • A Category-Theoretic Approach to Representation and Analysis of Inconsistency in Graph-Based Viewpoints
    A Category-Theoretic Approach to Representation and Analysis of Inconsistency in Graph-Based Viewpoints by Mehrdad Sabetzadeh A thesis submitted in conformity with the requirements for the degree of Master of Science Graduate Department of Computer Science University of Toronto Copyright c 2003 by Mehrdad Sabetzadeh Abstract A Category-Theoretic Approach to Representation and Analysis of Inconsistency in Graph-Based Viewpoints Mehrdad Sabetzadeh Master of Science Graduate Department of Computer Science University of Toronto 2003 Eliciting the requirements for a proposed system typically involves different stakeholders with different expertise, responsibilities, and perspectives. This may result in inconsis- tencies between the descriptions provided by stakeholders. Viewpoints-based approaches have been proposed as a way to manage incomplete and inconsistent models gathered from multiple sources. In this thesis, we propose a category-theoretic framework for the analysis of fuzzy viewpoints. Informally, a fuzzy viewpoint is a graph in which the elements of a lattice are used to specify the amount of knowledge available about the details of nodes and edges. By defining an appropriate notion of morphism between fuzzy viewpoints, we construct categories of fuzzy viewpoints and prove that these categories are (finitely) cocomplete. We then show how colimits can be employed to merge the viewpoints and detect the inconsistencies that arise independent of any particular choice of viewpoint semantics. Taking advantage of the same category-theoretic techniques used in defining fuzzy viewpoints, we will also introduce a more general graph-based formalism that may find applications in other contexts. ii To my mother and father with love and gratitude. Acknowledgements First of all, I wish to thank my supervisor Steve Easterbrook for his guidance, support, and patience.
    [Show full text]
  • Knowledge Representation in Bicategories of Relations
    Knowledge Representation in Bicategories of Relations Evan Patterson Department of Statistics, Stanford University Abstract We introduce the relational ontology log, or relational olog, a knowledge representation system based on the category of sets and relations. It is inspired by Spivak and Kent’s olog, a recent categorical framework for knowledge representation. Relational ologs interpolate between ologs and description logic, the dominant formalism for knowledge representation today. In this paper, we investigate relational ologs both for their own sake and to gain insight into the relationship between the algebraic and logical approaches to knowledge representation. On a practical level, we show by example that relational ologs have a friendly and intuitive—yet fully precise—graphical syntax, derived from the string diagrams of monoidal categories. We explain several other useful features of relational ologs not possessed by most description logics, such as a type system and a rich, flexible notion of instance data. In a more theoretical vein, we draw on categorical logic to show how relational ologs can be translated to and from logical theories in a fragment of first-order logic. Although we make extensive use of categorical language, this paper is designed to be self-contained and has considerable expository content. The only prerequisites are knowledge of first-order logic and the rudiments of category theory. 1. Introduction arXiv:1706.00526v2 [cs.AI] 1 Nov 2017 The representation of human knowledge in computable form is among the oldest and most fundamental problems of artificial intelligence. Several recent trends are stimulating continued research in the field of knowledge representation (KR).
    [Show full text]
  • Arxiv:1811.04966V3 [Math.NT]
    Descartes’ rule of signs, Newton polygons, and polynomials over hyperfields Matthew Baker and Oliver Lorscheid Abstract. In this note, we develop a theory of multiplicities of roots for polynomials over hyperfields and use this to provide a unified and conceptual proof of both Descartes’ rule of signs and Newton’s “polygon rule”. Introduction Given a real polynomial p ∈ R[T ], Descartes’ rule of signs provides an upper bound for the number of positive (resp. negative) real roots of p in terms of the signs of the coeffi- cients of p. Specifically, the number of positive real roots of p (counting multiplicities) is bounded above by the number of sign changes in the coefficients of p(T ), and the number of negative roots is bounded above by the number of sign changes in the coefficients of p(−T ). Another classical “rule”, which is less well known to mathematicians in general but is used quite often in number theory, is Newton’s polygon rule. This rule concerns polynomi- als over fields equipped with a valuation, which is a function v : K → R ∪{∞} satisfying • v(a) = ∞ if and only if a = 0 • v(ab) = v(a) + v(b) • v(a + b) > min{v(a),v(b)}, with equality if v(a) 6= v(b) for all a,b ∈ K. An example is the p-adic valuation vp on Q, where p is a prime number, given by the formula vp(s/t) = ordp(s) − ordp(t), where ordp(n) is the maximum power of p dividing a nonzero integer n. Another example is the T -adic valuation v on k(T), for any field k, given by v ( f /g) = arXiv:1811.04966v3 [math.NT] 26 May 2020 T T ordT ( f )−ordT (g), where ordT ( f ) is the maximum power of T dividing a nonzero polyno- mial f ∈ k[T].
    [Show full text]
  • Functions and Inverses
    Functions and Inverses CS 2800: Discrete Structures, Spring 2015 Sid Chaudhuri Recap: Relations and Functions ● A relation between sets A !the domain) and B !the codomain" is a set of ordered pairs (a, b) such that a ∈ A, b ∈ B !i.e. it is a subset o# A × B" Cartesian product – The relation maps each a to the corresponding b ● Neither all possible a%s, nor all possible b%s, need be covered – Can be one-one, one&'an(, man(&one, man(&man( Alice CS 2800 Bob A Carol CS 2110 B David CS 3110 Recap: Relations and Functions ● ) function is a relation that maps each element of A to a single element of B – Can be one-one or man(&one – )ll elements o# A must be covered, though not necessaril( all elements o# B – Subset o# B covered b( the #unction is its range/image Alice Balch Bob A Carol Jameson B David Mews Recap: Relations and Functions ● Instead of writing the #unction f as a set of pairs, e usually speci#y its domain and codomain as: f : A → B * and the mapping via a rule such as: f (Heads) = 0.5, f (Tails) = 0.5 or f : x ↦ x2 +he function f maps x to x2 Recap: Relations and Functions ● Instead of writing the #unction f as a set of pairs, e usually speci#y its domain and codomain as: f : A → B * and the mapping via a rule such as: f (Heads) = 0.5, f (Tails) = 0.5 2 or f : x ↦ x f(x) ● Note: the function is f, not f(x), – f(x) is the value assigned b( f the #unction f to input x x Recap: Injectivity ● ) function is injective (one-to-one) if every element in the domain has a unique i'age in the codomain – +hat is, f(x) = f(y) implies x = y Albany NY New York A MA Sacramento B CA Boston ..
    [Show full text]
  • Diagrammatics in Categorification and Compositionality
    Diagrammatics in Categorification and Compositionality by Dmitry Vagner Department of Mathematics Duke University Date: Approved: Ezra Miller, Supervisor Lenhard Ng Sayan Mukherjee Paul Bendich Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Mathematics in the Graduate School of Duke University 2019 ABSTRACT Diagrammatics in Categorification and Compositionality by Dmitry Vagner Department of Mathematics Duke University Date: Approved: Ezra Miller, Supervisor Lenhard Ng Sayan Mukherjee Paul Bendich An abstract of a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Mathematics in the Graduate School of Duke University 2019 Copyright c 2019 by Dmitry Vagner All rights reserved Abstract In the present work, I explore the theme of diagrammatics and their capacity to shed insight on two trends|categorification and compositionality|in and around contemporary category theory. The work begins with an introduction of these meta- phenomena in the context of elementary sets and maps. Towards generalizing their study to more complicated domains, we provide a self-contained treatment|from a pedagogically novel perspective that introduces almost all concepts via diagrammatic language|of the categorical machinery with which we may express the broader no- tions found in the sequel. The work then branches into two seemingly unrelated disciplines: dynamical systems and knot theory. In particular, the former research defines what it means to compose dynamical systems in a manner analogous to how one composes simple maps. The latter work concerns the categorification of the slN link invariant. In particular, we use a virtual filtration to give a more diagrammatic reconstruction of Khovanov-Rozansky homology via a smooth TQFT.
    [Show full text]
  • Discussion Problems 2
    CS103 Handout 11 Fall 2014 October 6, 2014 Discussion Problems 2 Problem One: Product Parities Suppose that you have n integers x₁, x₂, …, xₙ. Prove that the product x₁ · x₂ · … · xₙ is odd if and only if each number xᵢ is odd. You might want to use the following facts: the product of zero numbers is called the empty product and is, by definition, equal to 1, and any two true state- ments imply one another. Problem Two: Prime Numbers A natural number p ≥ 2 is called prime if it has no positive divisors except 1 and itself. A natural number is called composite if it is the product of two natural numbers m and n, where both m and n are greater than one. Every natural number greater than or equal to two is either prime or composite. Prove, by strong induction, that every natural number greater than or equal to two can be written as a product of prime numbers. Problem Three: Factorials! Multiplied together! The number n! is defined as 1 × 2 × … × n. We choose to define 0! = 1. Prove by induction that for any m, n ∈ ℕ, we have m!n! ≤ (m + n)!. Can you explain intuitively why this is true? Problem Four: Picking Coins Consider the following game for two players. Begin with a pile of n coins for some n ≥ 0. The first player then takes between one and ten coins out of the pile, then the second player takes between one and ten coins out of the pile. This process repeats until some player has no coins to take; at this point, that player loses the game.
    [Show full text]
  • Logic and Categories As Tools for Building Theories
    Logic and Categories As Tools For Building Theories Samson Abramsky Oxford University Computing Laboratory 1 Introduction My aim in this short article is to provide an impression of some of the ideas emerging at the interface of logic and computer science, in a form which I hope will be accessible to philosophers. Why is this even a good idea? Because there has been a huge interaction of logic and computer science over the past half-century which has not only played an important r^olein shaping Computer Science, but has also greatly broadened the scope and enriched the content of logic itself.1 This huge effect of Computer Science on Logic over the past five decades has several aspects: new ways of using logic, new attitudes to logic, new questions and methods. These lead to new perspectives on the question: What logic is | and should be! Our main concern is with method and attitude rather than matter; nevertheless, we shall base the general points we wish to make on a case study: Category theory. Many other examples could have been used to illustrate our theme, but this will serve to illustrate some of the points we wish to make. 2 Category Theory Category theory is a vast subject. It has enormous potential for any serious version of `formal philosophy' | and yet this has hardly been realized. We shall begin with introduction to some basic elements of category theory, focussing on the fascinating conceptual issues which arise even at the most elementary level of the subject, and then discuss some its consequences and philosophical ramifications.
    [Show full text]
  • Categorical Databases
    Categorical databases David I. Spivak dspivak@math.mit.edu Mathematics Department Massachusetts Institute of Technology Presented on 2014/02/28 at Oracle David I. Spivak (MIT) Categorical databases Presented on 2014/02/28 1 / 1 Introduction Purpose of the talk Purpose of the talk There is an fundamental connection between databases and categories. Category theory can simplify how we think about and use databases. We can clearly see all the working parts and how they fit together. Powerful theorems can be brought to bear on classical DB problems. David I. Spivak (MIT) Categorical databases Presented on 2014/02/28 2 / 1 Introduction The pros and cons of relational databases The pros and cons of relational databases Relational databases are reliable, scalable, and popular. They are provably reliable to the extent that they strictly adhere to the underlying mathematics. Make a distinction between the system you know and love, vs. the relational model, as a mathematical foundation for this system. David I. Spivak (MIT) Categorical databases Presented on 2014/02/28 3 / 1 Introduction The pros and cons of relational databases You're not really using the relational model. Current implementations have departed from the strict relational formalism: Tables may not be relational (duplicates, e.g from a query). Nulls (and labeled nulls) are commonly used. The theory of relations (150 years old) is not adequate to mathematically describe modern DBMS. The relational model does not offer guidance for schema mappings and data migration. Databases have been intuitively moving toward what's best described with a more modern mathematical foundation. David I.
    [Show full text]