Algebraic Type Theory and the Gluing Construction 2
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Metaobject Protocols: Why We Want Them and What Else They Can Do
Metaobject protocols: Why we want them and what else they can do Gregor Kiczales, J.Michael Ashley, Luis Rodriguez, Amin Vahdat, and Daniel G. Bobrow Published in A. Paepcke, editor, Object-Oriented Programming: The CLOS Perspective, pages 101 ¾ 118. The MIT Press, Cambridge, MA, 1993. © Massachusetts Institute of Technology All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher. Metaob ject Proto cols WhyWeWant Them and What Else They Can Do App ears in Object OrientedProgramming: The CLOS Perspective c Copyright 1993 MIT Press Gregor Kiczales, J. Michael Ashley, Luis Ro driguez, Amin Vahdat and Daniel G. Bobrow Original ly conceivedasaneat idea that could help solve problems in the design and implementation of CLOS, the metaobject protocol framework now appears to have applicability to a wide range of problems that come up in high-level languages. This chapter sketches this wider potential, by drawing an analogy to ordinary language design, by presenting some early design principles, and by presenting an overview of three new metaobject protcols we have designed that, respectively, control the semantics of Scheme, the compilation of Scheme, and the static paral lelization of Scheme programs. Intro duction The CLOS Metaob ject Proto col MOP was motivated by the tension b etween, what at the time, seemed liketwo con icting desires. The rst was to have a relatively small but p owerful language for doing ob ject-oriented programming in Lisp. The second was to satisfy what seemed to b e a large numb er of user demands, including: compatibility with previous languages, p erformance compara- ble to or b etter than previous implementations and extensibility to allow further exp erimentation with ob ject-oriented concepts see Chapter 2 for examples of directions in which ob ject-oriented techniques might b e pushed. -
Chapter 2 Basics of Scanning And
Chapter 2 Basics of Scanning and Conventional Programming in Java In this chapter, we will introduce you to an initial set of Java features, the equivalent of which you should have seen in your CS-1 class; the separation of problem, representation, algorithm and program – four concepts you have probably seen in your CS-1 class; style rules with which you are probably familiar, and scanning - a general class of problems we see in both computer science and other fields. Each chapter is associated with an animating recorded PowerPoint presentation and a YouTube video created from the presentation. It is meant to be a transcript of the associated presentation that contains little graphics and thus can be read even on a small device. You should refer to the associated material if you feel the need for a different instruction medium. Also associated with each chapter is hyperlinked code examples presented here. References to previously presented code modules are links that can be traversed to remind you of the details. The resources for this chapter are: PowerPoint Presentation YouTube Video Code Examples Algorithms and Representation Four concepts we explicitly or implicitly encounter while programming are problems, representations, algorithms and programs. Programs, of course, are instructions executed by the computer. Problems are what we try to solve when we write programs. Usually we do not go directly from problems to programs. Two intermediate steps are creating algorithms and identifying representations. Algorithms are sequences of steps to solve problems. So are programs. Thus, all programs are algorithms but the reverse is not true. -
Lecture 2: Variables and Primitive Data Types
Lecture 2: Variables and Primitive Data Types MIT-AITI Kenya 2005 1 In this lecture, you will learn… • What a variable is – Types of variables – Naming of variables – Variable assignment • What a primitive data type is • Other data types (ex. String) MIT-Africa Internet Technology Initiative 2 ©2005 What is a Variable? • In basic algebra, variables are symbols that can represent values in formulas. • For example the variable x in the formula f(x)=x2+2 can represent any number value. • Similarly, variables in computer program are symbols for arbitrary data. MIT-Africa Internet Technology Initiative 3 ©2005 A Variable Analogy • Think of variables as an empty box that you can put values in. • We can label the box with a name like “Box X” and re-use it many times. • Can perform tasks on the box without caring about what’s inside: – “Move Box X to Shelf A” – “Put item Z in box” – “Open Box X” – “Remove contents from Box X” MIT-Africa Internet Technology Initiative 4 ©2005 Variables Types in Java • Variables in Java have a type. • The type defines what kinds of values a variable is allowed to store. • Think of a variable’s type as the size or shape of the empty box. • The variable x in f(x)=x2+2 is implicitly a number. • If x is a symbol representing the word “Fish”, the formula doesn’t make sense. MIT-Africa Internet Technology Initiative 5 ©2005 Java Types • Integer Types: – int: Most numbers you’ll deal with. – long: Big integers; science, finance, computing. – short: Small integers. -
A General Framework for the Semantics of Type Theory
A General Framework for the Semantics of Type Theory Taichi Uemura November 14, 2019 Abstract We propose an abstract notion of a type theory to unify the semantics of various type theories including Martin-L¨oftype theory, two-level type theory and cubical type theory. We establish basic results in the semantics of type theory: every type theory has a bi-initial model; every model of a type theory has its internal language; the category of theories over a type theory is bi-equivalent to a full sub-2-category of the 2-category of models of the type theory. 1 Introduction One of the key steps in the semantics of type theory and logic is to estab- lish a correspondence between theories and models. Every theory generates a model called its syntactic model, and every model has a theory called its internal language. Classical examples are: simply typed λ-calculi and cartesian closed categories (Lambek and Scott 1986); extensional Martin-L¨oftheories and locally cartesian closed categories (Seely 1984); first-order theories and hyperdoctrines (Seely 1983); higher-order theories and elementary toposes (Lambek and Scott 1986). Recently, homotopy type theory (The Univalent Foundations Program 2013) is expected to provide an internal language for what should be called \el- ementary (1; 1)-toposes". As a first step, Kapulkin and Szumio (2019) showed that there is an equivalence between dependent type theories with intensional identity types and finitely complete (1; 1)-categories. As there exist correspondences between theories and models for almost all arXiv:1904.04097v2 [math.CT] 13 Nov 2019 type theories and logics, it is natural to ask if one can define a general notion of a type theory or logic and establish correspondences between theories and models uniformly. -
Kind of Quantity’
NIST Technical Note 2034 Defning ‘kind of quantity’ David Flater This publication is available free of charge from: https://doi.org/10.6028/NIST.TN.2034 NIST Technical Note 2034 Defning ‘kind of quantity’ David Flater Software and Systems Division Information Technology Laboratory This publication is available free of charge from: https://doi.org/10.6028/NIST.TN.2034 February 2019 U.S. Department of Commerce Wilbur L. Ross, Jr., Secretary National Institute of Standards and Technology Walter Copan, NIST Director and Undersecretary of Commerce for Standards and Technology Certain commercial entities, equipment, or materials may be identifed in this document in order to describe an experimental procedure or concept adequately. Such identifcation is not intended to imply recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that the entities, materials, or equipment are necessarily the best available for the purpose. National Institute of Standards and Technology Technical Note 2034 Natl. Inst. Stand. Technol. Tech. Note 2034, 7 pages (February 2019) CODEN: NTNOEF This publication is available free of charge from: https://doi.org/10.6028/NIST.TN.2034 NIST Technical Note 2034 1 Defning ‘kind of quantity’ David Flater 2019-02-06 This publication is available free of charge from: https://doi.org/10.6028/NIST.TN.2034 Abstract The defnition of ‘kind of quantity’ given in the International Vocabulary of Metrology (VIM), 3rd edition, does not cover the historical meaning of the term as it is most commonly used in metrology. Most of its historical meaning has been merged into ‘quantity,’ which is polysemic across two layers of abstraction. -
Second-Order Algebraic Theories (Extended Abstract)
Second-Order Algebraic Theories (Extended Abstract) Marcelo Fiore and Ola Mahmoud University of Cambridge, Computer Laboratory Abstract. Fiore and Hur [10] recently introduced a conservative exten- sion of universal algebra and equational logic from first to second order. Second-order universal algebra and second-order equational logic respec- tively provide a model theory and a formal deductive system for lan- guages with variable binding and parameterised metavariables. This work completes the foundations of the subject from the viewpoint of categori- cal algebra. Specifically, the paper introduces the notion of second-order algebraic theory and develops its basic theory. Two categorical equiva- lences are established: at the syntactic level, that of second-order equa- tional presentations and second-order algebraic theories; at the semantic level, that of second-order algebras and second-order functorial models. Our development includes a mathematical definition of syntactic trans- lation between second-order equational presentations. This gives the first formalisation of notions such as encodings and transforms in the context of languages with variable binding. 1 Introduction Algebra started with the study of a few sample algebraic structures: groups, rings, lattices, etc. Based on these, Birkhoff [3] laid out the foundations of a general unifying theory, now known as universal algebra. Birkhoff's formalisation of the notion of algebra starts with the introduction of equational presentations. These constitute the syntactic foundations of the subject. Algebras are then the semantics or model theory, and play a crucial role in establishing the logical foundations. Indeed, Birkhoff introduced equational logic as a sound and complete formal deductive system for reasoning about algebraic structure. -
Subtyping, Declaratively an Exercise in Mixed Induction and Coinduction
Subtyping, Declaratively An Exercise in Mixed Induction and Coinduction Nils Anders Danielsson and Thorsten Altenkirch University of Nottingham Abstract. It is natural to present subtyping for recursive types coin- ductively. However, Gapeyev, Levin and Pierce have noted that there is a problem with coinductive definitions of non-trivial transitive inference systems: they cannot be \declarative"|as opposed to \algorithmic" or syntax-directed|because coinductive inference systems with an explicit rule of transitivity are trivial. We propose a solution to this problem. By using mixed induction and coinduction we define an inference system for subtyping which combines the advantages of coinduction with the convenience of an explicit rule of transitivity. The definition uses coinduction for the structural rules, and induction for the rule of transitivity. We also discuss under what condi- tions this technique can be used when defining other inference systems. The developments presented in the paper have been mechanised using Agda, a dependently typed programming language and proof assistant. 1 Introduction Coinduction and corecursion are useful techniques for defining and reasoning about things which are potentially infinite, including streams and other (poten- tially) infinite data types (Coquand 1994; Gim´enez1996; Turner 2004), process congruences (Milner 1990), congruences for functional programs (Gordon 1999), closures (Milner and Tofte 1991), semantics for divergence of programs (Cousot and Cousot 1992; Hughes and Moran 1995; Leroy and Grall 2009; Nakata and Uustalu 2009), and subtyping relations for recursive types (Brandt and Henglein 1998; Gapeyev et al. 2002). However, the use of coinduction can lead to values which are \too infinite”. For instance, a non-trivial binary relation defined as a coinductive inference sys- tem cannot include the rule of transitivity, because a coinductive reading of transitivity would imply that every element is related to every other (to see this, build an infinite derivation consisting solely of uses of transitivity). -
Foundations of Algebraic Theories and Higher Dimensional Categories
Foundations of Algebraic Theories and Higher Dimensional Categories Soichiro Fujii arXiv:1903.07030v1 [math.CT] 17 Mar 2019 A Doctor Thesis Submitted to the Graduate School of the University of Tokyo on December 7, 2018 in Partial Fulfillment of the Requirements for the Degree of Doctor of Information Science and Technology in Computer Science ii Abstract Universal algebra uniformly captures various algebraic structures, by expressing them as equational theories or abstract clones. The ubiquity of algebraic structures in math- ematics and related fields has given rise to several variants of universal algebra, such as symmetric operads, non-symmetric operads, generalised operads, and monads. These variants of universal algebra are called notions of algebraic theory. Although notions of algebraic theory share the basic aim of providing a background theory to describe alge- braic structures, they use various techniques to achieve this goal and, to the best of our knowledge, no general framework for notions of algebraic theory which includes all of the examples above was known. Such a framework would lead to a better understand- ing of notions of algebraic theory by revealing their essential structure, and provide a uniform way to compare different notions of algebraic theory. In the first part of this thesis, we develop a unified framework for notions of algebraic theory which includes all of the above examples. Our key observation is that each notion of algebraic theory can be identified with a monoidal category, in such a way that theories correspond to monoid objects therein. We introduce a categorical structure called metamodel, which underlies the definition of models of theories. -
Categorical Models of Type Theory
Categorical models of type theory Michael Shulman February 28, 2012 1 / 43 Theories and models Example The theory of a group asserts an identity e, products x · y and inverses x−1 for any x; y, and equalities x · (y · z) = (x · y) · z and x · e = x = e · x and x · x−1 = e. I A model of this theory (in sets) is a particularparticular group, like Z or S3. I A model in spaces is a topological group. I A model in manifolds is a Lie group. I ... 3 / 43 Group objects in categories Definition A group object in a category with finite products is an object G with morphisms e : 1 ! G, m : G × G ! G, and i : G ! G, such that the following diagrams commute. m×1 (e;1) (1;e) G × G × G / G × G / G × G o G F G FF xx 1×m m FF xx FF m xx 1 F x 1 / F# x{ x G × G m G G ! / e / G 1 GO ∆ m G × G / G × G 1×i 4 / 43 Categorical semantics Categorical semantics is a general procedure to go from 1. the theory of a group to 2. the notion of group object in a category. A group object in a category is a model of the theory of a group. Then, anything we can prove formally in the theory of a group will be valid for group objects in any category. 5 / 43 Doctrines For each kind of type theory there is a corresponding kind of structured category in which we consider models. -
Frege's Theory of Sense
Frege’s theory of sense Jeff Speaks August 25, 2011 1. Three arguments that there must be more to meaning than reference ............................1 1.1. Frege’s puzzle about identity sentences 1.2. Understanding and knowledge of reference 1.3. Opaque contexts 2. The theoretical roles of senses .........................................................................................4 2.1. Frege’s criterion for distinctness of sense 2.2. Sense determines reference, but not the reverse 2.3. Indirect reference 2.4. Sense, force, and the theory of speech acts 3. What are senses? .............................................................................................................6 We have now seen how a theory of reference — a theory that assigns to each expression of the language a reference, which is what it contributes to determining the truth or falsity of sentences in which it occurs — might look for a fragment of English. (The fragment of English includes proper names, n-place predicates, and quantifiers.) We now turn to Frege’s reasons for thinking that a theory of reference must be supplemented with a theory of sense. 1. THREE ARGUMENTS THAT THERE MUST BE MORE TO MEANING THAN REFERENCE 1.1. Frege’s puzzle about identity sentences As Frege says at the outset of “On sense and reference,” identity “gives rise to challenging questions which are not altogether easy to answer.” The puzzle raised by identity sentences is that, if, even though “the morning star” and “the evening star” have the same reference — the planet Venus — the sentences [1] The morning star is the morning star. [2] The morning star is the evening star. seem quite different. They seem, as Frege says, to differ in “cognitive value.” [1] is trivial and a priori; whereas [2] seems a posteriori, and could express a valuable extension of knowledge — it, unlike [1], seems to express an astronomical discovery which took substantial empirical work to make. -
An Outline of Algebraic Set Theory
An Outline of Algebraic Set Theory Steve Awodey Dedicated to Saunders Mac Lane, 1909–2005 Abstract This survey article is intended to introduce the reader to the field of Algebraic Set Theory, in which models of set theory of a new and fascinating kind are determined algebraically. The method is quite robust, admitting adjustment in several respects to model different theories including classical, intuitionistic, bounded, and predicative ones. Under this scheme some familiar set theoretic properties are related to algebraic ones, like freeness, while others result from logical constraints, like definability. The overall theory is complete in two important respects: conventional elementary set theory axiomatizes the class of algebraic models, and the axioms provided for the abstract algebraic framework itself are also complete with respect to a range of natural models consisting of “ideals” of sets, suitably defined. Some previous results involving realizability, forcing, and sheaf models are subsumed, and the prospects for further such unification seem bright. 1 Contents 1 Introduction 3 2 The category of classes 10 2.1 Smallmaps ............................ 12 2.2 Powerclasses............................ 14 2.3 UniversesandInfinity . 15 2.4 Classcategories .......................... 16 2.5 Thetoposofsets ......................... 17 3 Algebraic models of set theory 18 3.1 ThesettheoryBIST ....................... 18 3.2 Algebraic soundness of BIST . 20 3.3 Algebraic completeness of BIST . 21 4 Classes as ideals of sets 23 4.1 Smallmapsandideals . .. .. 24 4.2 Powerclasses and universes . 26 4.3 Conservativity........................... 29 5 Ideal models 29 5.1 Freealgebras ........................... 29 5.2 Collection ............................. 30 5.3 Idealcompleteness . .. .. 32 6 Variations 33 References 36 2 1 Introduction Algebraic set theory (AST) is a new approach to the construction of models of set theory, invented by Andr´eJoyal and Ieke Moerdijk and first presented in [16]. -
10. Algebra Theories II 10.1 Essentially Algebraic Theory Idea: A
Page 1 of 7 10. Algebra Theories II 10.1 essentially algebraic theory Idea: A mathematical structure is essentially algebraic if its definition involves partially defined operations satisfying equational laws, where the domain of any given operation is a subset where various other operations happen to be equal. An actual algebraic theory is one where all operations are total functions. The most familiar example may be the (strict) notion of category: a small category consists of a set C0of objects, a set C1 of morphisms, source and target maps s,t:C1→C0 and so on, but composition is only defined for pairs of morphisms where the source of one happens to equal the target of the other. Essentially algebraic theories can be understood through category theory at least when they are finitary, so that all operations have only finitely many arguments. This gives a generalization of Lawvere theories, which describe finitary algebraic theories. As the domains of the operations are given by the solutions to equations, they may be understood using the notion of equalizer. So, just as a Lawvere theory is defined using a category with finite products, a finitary essentially algebraic theory is defined using a category with finite limits — or in other words, finite products and also equalizers (from which all other finite limits, including pullbacks, may be derived). Definition As alluded to above, the most concise and elegant definition is through category theory. The traditional definition is this: Definition. An essentially algebraic theory or finite limits theory is a category that is finitely complete, i.e., has all finite limits.