TL;DR: The three basic notions of universal algebra: algebra, homomorphism of algebras, and congruence, turn out to correspond to: coalgebra, homomorphicism of coalgebrAs, and bisimulation, respectively, which are taken as the basic ingredients of a theory called universal coalgebra.
TL;DR: This paper describes a simple and powerful query language based on pattern matching and shows that it can be expressed using structural recursion, which is introduced as a top-down, recursive function, similar to the way XSL is defined on XML trees.
Abstract: This paper presents structural recursion as the basis of the syntax and semantics of query languages for semistructured data and XML. We describe a simple and powerful query language based on pattern matching and show that it can be expressed using structural recursion, which is introduced as a top-down, recursive function, similar to the way XSL is defined on XML trees. On cyclic data, structural recursion can be defined in two equivalent ways: as a recursive function which evaluates the data top-down and remembers all its calls to avoid infinite loops, or as a bulk evaluation which processes the entire data in parallel using only traditional relational algebra operators. The latter makes it possible for optimization techniques in relational queries to be applied to structural recursion. We show that the composition of two structural recursion queries can be expressed as a single such query, and this is used as the basis of an optimization method for mediator systems. Several other formal properties are established: structural recursion can be expressed in first-order logic extended with transitive closure; its data complexity is PTIME; and over relational data it is a conservative extension of the relational calculus. The underlying data model is based on value equality, formally defined with bisimulation. Structural recursion is shown to be invariant with respect to value equality.
TL;DR: Part I. Circularity and the notion of set, modeling partial information, and Conclusions and future directions.
Abstract: Part I Background: 1 Introduction 2 Background on set theory Part II Vicious Circles: 3 Circularity in computer science 4 Circularity in philosophy 5 Circularity and paradox Part III Basic Theory: 6 The solution dilemma 7 Bisimulation Part IV Elementary applications: 8 Graphs 9 Modal logic 10 Streams 11 Games 12 Modeling the semantic paradoxes Part V Further Theory: 13 Greatest fixed points 14 Uniform operators 15 Corecursion Part VI Further Applications: 16 Some applications 17 Modeling partial information 18 Circularity and the notion of set 19 Conclusions and future directions
TL;DR: This paper describes an implementation of recursion which is both correct and optimal in a general class of sequential languages, and therefore constitutes an attractive alternative to both “ call-by-name” and “call- by-value”.