Experience Implementing a Performant Category-Theory Library in Coq
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Topics in Geometric Group Theory. Part I
Topics in Geometric Group Theory. Part I Daniele Ettore Otera∗ and Valentin Po´enaru† April 17, 2018 Abstract This survey paper concerns mainly with some asymptotic topological properties of finitely presented discrete groups: quasi-simple filtration (qsf), geometric simple connec- tivity (gsc), topological inverse-representations, and the notion of easy groups. As we will explain, these properties are central in the theory of discrete groups seen from a topo- logical viewpoint at infinity. Also, we shall outline the main steps of the achievements obtained in the last years around the very general question whether or not all finitely presented groups satisfy these conditions. Keywords: Geometric simple connectivity (gsc), quasi-simple filtration (qsf), inverse- representations, finitely presented groups, universal covers, singularities, Whitehead manifold, handlebody decomposition, almost-convex groups, combings, easy groups. MSC Subject: 57M05; 57M10; 57N35; 57R65; 57S25; 20F65; 20F69. Contents 1 Introduction 2 1.1 Acknowledgments................................... 2 arXiv:1804.05216v1 [math.GT] 14 Apr 2018 2 Topology at infinity, universal covers and discrete groups 2 2.1 The Φ/Ψ-theoryandzippings ............................ 3 2.2 Geometric simple connectivity . 4 2.3 TheWhiteheadmanifold............................... 6 2.4 Dehn-exhaustibility and the QSF property . .... 8 2.5 OnDehn’slemma................................... 10 2.6 Presentations and REPRESENTATIONS of groups . ..... 13 2.7 Good-presentations of finitely presented groups . ........ 16 2.8 Somehistoricalremarks .............................. 17 2.9 Universalcovers................................... 18 2.10 EasyREPRESENTATIONS . 21 ∗Vilnius University, Institute of Data Science and Digital Technologies, Akademijos st. 4, LT-08663, Vilnius, Lithuania. e-mail: [email protected] - [email protected] †Professor Emeritus at Universit´eParis-Sud 11, D´epartement de Math´ematiques, Bˆatiment 425, 91405 Orsay, France. -
Motivating Abstract Nonsense
Lecture 1: Motivating abstract nonsense Nilay Kumar May 28, 2014 This summer, the UMS lectures will focus on the basics of category theory. Rather dry and substanceless on its own (at least at first), category theory is difficult to grok without proper motivation. With the proper motivation, however, category theory becomes a powerful language that can concisely express and abstract away the relationships between various mathematical ideas and idioms. This is not to say that it is purely a tool { there are many who study category theory as a field of mathematics with intrinsic interest, but this is beyond the scope of our lectures. Functoriality Let us start with some well-known mathematical examples that are unrelated in content but similar in \form". We will then make this rather vague similarity more precise using the language of categories. Example 1 (Galois theory). Recall from algebra the notion of a finite, Galois field extension K=F and its associated Galois group G = Gal(K=F ). The fundamental theorem of Galois theory tells us that there is a bijection between subfields E ⊂ K containing F and the subgroups H of G. The correspondence sends E to all the elements of G fixing E, and conversely sends H to the fixed field of H. Hence we draw the following diagram: K 0 E H F G I denote the Galois correspondence by squiggly arrows instead of the usual arrows. Unlike most bijections we usually see between say elements of two sets (or groups, vector spaces, etc.), the fundamental theorem gives us a one-to-one correspondence between two very different types of objects: fields and groups. -
Oka Manifolds: from Oka to Stein and Back
ANNALES DE LA FACULTÉ DES SCIENCES Mathématiques FRANC FORSTNERICˇ Oka manifolds: From Oka to Stein and back Tome XXII, no 4 (2013), p. 747-809. <http://afst.cedram.org/item?id=AFST_2013_6_22_4_747_0> © Université Paul Sabatier, Toulouse, 2013, tous droits réservés. L’accès aux articles de la revue « Annales de la faculté des sci- ences de Toulouse Mathématiques » (http://afst.cedram.org/), implique l’accord avec les conditions générales d’utilisation (http://afst.cedram. org/legal/). Toute reproduction en tout ou partie de cet article sous quelque forme que ce soit pour tout usage autre que l’utilisation à fin strictement personnelle du copiste est constitutive d’une infraction pénale. Toute copie ou impression de ce fichier doit contenir la présente mention de copyright. cedram Article mis en ligne dans le cadre du Centre de diffusion des revues académiques de mathématiques http://www.cedram.org/ Annales de la Facult´e des Sciences de Toulouse Vol. XXII, n◦ 4, 2013 pp. 747–809 Oka manifolds: From Oka to Stein and back Franc Forstnericˇ(1) ABSTRACT. — Oka theory has its roots in the classical Oka-Grauert prin- ciple whose main result is Grauert’s classification of principal holomorphic fiber bundles over Stein spaces. Modern Oka theory concerns holomor- phic maps from Stein manifolds and Stein spaces to Oka manifolds. It has emerged as a subfield of complex geometry in its own right since the appearance of a seminal paper of M. Gromov in 1989. In this expository paper we discuss Oka manifolds and Oka maps. We de- scribe equivalent characterizations of Oka manifolds, the functorial prop- erties of this class, and geometric sufficient conditions for being Oka, the most important of which is Gromov’s ellipticity. -
Arxiv:Math/9703207V1 [Math.GT] 20 Mar 1997
ON INVARIANTS AND HOMOLOGY OF SPACES OF KNOTS IN ARBITRARY MANIFOLDS V. A. VASSILIEV Abstract. The construction of finite-order knot invariants in R3, based on reso- lutions of discriminant sets, can be carried out immediately to the case of knots in an arbitrary three-dimensional manifold M (may be non-orientable) and, moreover, to the calculation of cohomology groups of spaces of knots in arbitrary manifolds of dimension ≥ 3. Obstructions to the integrability of admissible weight systems to well-defined knot invariants in M are identified as 1-dimensional cohomology classes of certain generalized loop spaces of M. Unlike the case M = R3, these obstructions can be non-trivial and provide invariants of the manifold M itself. The corresponding algebraic machinery allows us to obtain on the level of the “abstract nonsense” some of results and problems of the theory, and to extract from others the essential topological (in particular, low-dimensional) part. Introduction Finite-order invariants of knots in R3 appeared in [V2] from a topological study of the discriminant subset of the space of curves in R3 (i.e., the set of all singular curves). In [L], [K], finite-order invariants of knots in 3-manifolds satisfying some conditions were considered: in [L] it was done for manifolds with π1 = π2 = 0, and in [K] for closed irreducible orientable manifolds. In particular, in [L] it is shown that the theory of finite-order invariants of knots in two-connected manifolds is isomorphic to that for R3; the main theorem of [K] asserts that for every closed oriented irreducible 3- manifold M and any connected component of the space C∞(S1, M) the group of finite- arXiv:math/9703207v1 [math.GT] 20 Mar 1997 order invariants of knots from this component contains a subgroup isomorphic to the group of finite-order invariants in R3. -
Testing Noninterference, Quickly
Testing Noninterference, Quickly Cat˘ alin˘ Hrit¸cu1 John Hughes2 Benjamin C. Pierce1 Antal Spector-Zabusky1 Dimitrios Vytiniotis3 Arthur Azevedo de Amorim1 Leonidas Lampropoulos1 1University of Pennsylvania 2Chalmers University 3Microsoft Research Abstract To answer this question, we take as a case study the task of Information-flow control mechanisms are difficult to design and extending a simple abstract stack-and-pointer machine to track dy- labor intensive to prove correct. To reduce the time wasted on namic information flow and enforce termination-insensitive nonin- proof attempts doomed to fail due to broken definitions, we ad- terference [23]. Although our machine is simple, this exercise is vocate modern random testing techniques for finding counterexam- both nontrivial and novel. While simpler notions of dynamic taint ples during the design process. We show how to use QuickCheck, tracking are well studied for both high- and low-level languages, a property-based random-testing tool, to guide the design of a sim- it has only recently been shown [1, 24] that dynamic checks are ple information-flow abstract machine. We find that both sophis- capable of soundly enforcing strong security properties. Moreover, ticated strategies for generating well-distributed random programs sound dynamic IFC has been studied only in the context of lambda- and readily falsifiable formulations of noninterference properties calculi [1, 16, 25] and While programs [24]; the unstructured con- are critically important. We propose several approaches and eval- trol flow of a low-level machine poses additional challenges. (Test- uate their effectiveness on a collection of injected bugs of varying ing of static IFC mechanisms is left as future work.) subtlety. -
An Anti-Locally-Nameless Approach to Formalizing Quantifiers Olivier Laurent
An Anti-Locally-Nameless Approach to Formalizing Quantifiers Olivier Laurent To cite this version: Olivier Laurent. An Anti-Locally-Nameless Approach to Formalizing Quantifiers. Certified Programs and Proofs, Jan 2021, virtual, Denmark. pp.300-312, 10.1145/3437992.3439926. hal-03096253 HAL Id: hal-03096253 https://hal.archives-ouvertes.fr/hal-03096253 Submitted on 4 Jan 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. An Anti-Locally-Nameless Approach to Formalizing Quantifiers Olivier Laurent Univ Lyon, EnsL, UCBL, CNRS, LIP LYON, France [email protected] Abstract all cases have been covered. This works perfectly well for We investigate the possibility of formalizing quantifiers in various propositional systems, but as soon as (first-order) proof theory while avoiding, as far as possible, the use of quantifiers enter the picture, we have to face one ofthe true binding structures, α-equivalence or variable renam- nightmares of formalization: quantifiers are binders... The ings. We propose a solution with two kinds of variables in question of the formalization of binders does not yet have an 1 terms and formulas, as originally done by Gentzen. In this answer which makes perfect consensus . -
Parametrized Higher Category Theory
Parametrized higher category theory Jay Shah MIT May 1, 2017 Jay Shah (MIT) Parametrized higher category theory May 1, 2017 1 / 32 Answer: depends on the class of weak equivalences one inverts in the larger category of G-spaces. Inverting the class of maps that induce a weak equivalence of underlying spaces, X ; the homotopy type of the underlying space X , together with the homotopy coherent G-action. Can extract homotopy fixed points and hG orbits X , XhG from this. Equivariant homotopy theory Let G be a finite group and let X be a topological space with G-action (e.g. G = C2 and X = U(n) with the complex conjugation action). What is the \homotopy type" of X ? Jay Shah (MIT) Parametrized higher category theory May 1, 2017 2 / 32 Inverting the class of maps that induce a weak equivalence of underlying spaces, X ; the homotopy type of the underlying space X , together with the homotopy coherent G-action. Can extract homotopy fixed points and hG orbits X , XhG from this. Equivariant homotopy theory Let G be a finite group and let X be a topological space with G-action (e.g. G = C2 and X = U(n) with the complex conjugation action). What is the \homotopy type" of X ? Answer: depends on the class of weak equivalences one inverts in the larger category of G-spaces. Jay Shah (MIT) Parametrized higher category theory May 1, 2017 2 / 32 Equivariant homotopy theory Let G be a finite group and let X be a topological space with G-action (e.g. -
Perspective the PNAS Way Back Then
Proc. Natl. Acad. Sci. USA Vol. 94, pp. 5983–5985, June 1997 Perspective The PNAS way back then Saunders Mac Lane, Chairman Proceedings Editorial Board, 1960–1968 Department of Mathematics, University of Chicago, Chicago, IL 60637 Contributed by Saunders Mac Lane, March 27, 1997 This essay is to describe my experience with the Proceedings of ings. Bronk knew that the Proceedings then carried lots of math. the National Academy of Sciences up until 1970. Mathemati- The Council met. Detlev was not a man to put off till to cians and other scientists who were National Academy of tomorrow what might be done today. So he looked about the Science (NAS) members encouraged younger colleagues by table in that splendid Board Room, spotted the only mathe- communicating their research announcements to the Proceed- matician there, and proposed to the Council that I be made ings. For example, I can perhaps cite my own experiences. S. Chairman of the Editorial Board. Then and now the Council Eilenberg and I benefited as follows (communicated, I think, did not often disagree with the President. Probably nobody by M. H. Stone): ‘‘Natural isomorphisms in group theory’’ then knew that I had been on the editorial board of the (1942) Proc. Natl. Acad. Sci. USA 28, 537–543; and “Relations Transactions, then the flagship journal of the American Math- between homology and homotopy groups” (1943) Proc. Natl. ematical Society. Acad. Sci. USA 29, 155–158. Soon after this, the Treasurer of the Academy, concerned The second of these papers was the first introduction of a about costs, requested the introduction of page charges for geometrical object topologists now call an “Eilenberg–Mac papers published in the Proceedings. -
Yoneda's Lemma for Internal Higher Categories
YONEDA'S LEMMA FOR INTERNAL HIGHER CATEGORIES LOUIS MARTINI Abstract. We develop some basic concepts in the theory of higher categories internal to an arbitrary 1- topos. We define internal left and right fibrations and prove a version of the Grothendieck construction and of Yoneda's lemma for internal categories. Contents 1. Introduction 2 Motivation 2 Main results 3 Related work 4 Acknowledgment 4 2. Preliminaries 4 2.1. General conventions and notation4 2.2. Set theoretical foundations5 2.3. 1-topoi 5 2.4. Universe enlargement 5 2.5. Factorisation systems 8 3. Categories in an 1-topos 10 3.1. Simplicial objects in an 1-topos 10 3.2. Categories in an 1-topos 12 3.3. Functoriality and base change 16 3.4. The (1; 2)-categorical structure of Cat(B) 18 3.5. Cat(S)-valued sheaves on an 1-topos 19 3.6. Objects and morphisms 21 3.7. The universe for groupoids 23 3.8. Fully faithful and essentially surjective functors 26 arXiv:2103.17141v2 [math.CT] 2 May 2021 3.9. Subcategories 31 4. Groupoidal fibrations and Yoneda's lemma 36 4.1. Left fibrations 36 4.2. Slice categories 38 4.3. Initial functors 42 4.4. Covariant equivalences 49 4.5. The Grothendieck construction 54 4.6. Yoneda's lemma 61 References 71 Date: May 4, 2021. 1 2 LOUIS MARTINI 1. Introduction Motivation. In various areas of geometry, one of the principal strategies is to study geometric objects by means of algebraic invariants such as cohomology, K-theory and (stable or unstable) homotopy groups. -
Mathematics in the Computer
Mathematics in the Computer Mario Carneiro Carnegie Mellon University April 26, 2021 1 / 31 Who am I? I PhD student in Logic at CMU I Proof engineering since 2013 I Metamath (maintainer) I Lean 3 (maintainer) I Dabbled in Isabelle, HOL Light, Coq, Mizar I Metamath Zero (author) Github: digama0 I Proved 37 of Freek’s 100 theorems list in Zulip: Mario Carneiro Metamath I Lots of library code in set.mm and mathlib I Say hi at https://leanprover.zulipchat.com 2 / 31 I Found Metamath via a random internet search I they already formalized half of the book! I .! . and there is some stuff on cofinality they don’t have yet, maybe I can help I Got involved, did it as a hobby for a few years I Got a job as an android developer, kept on the hobby I Norm Megill suggested that I submit to a (Mizar) conference, it went well I Met Leo de Moura (Lean author) at a conference, he got me in touch with Jeremy Avigad (my current advisor) I Now I’m a PhD at CMU philosophy! How I got involved in formalization I Undergraduate at Ohio State University I Math, CS, Physics I Reading Takeuti & Zaring, Axiomatic Set Theory 3 / 31 I they already formalized half of the book! I .! . and there is some stuff on cofinality they don’t have yet, maybe I can help I Got involved, did it as a hobby for a few years I Got a job as an android developer, kept on the hobby I Norm Megill suggested that I submit to a (Mizar) conference, it went well I Met Leo de Moura (Lean author) at a conference, he got me in touch with Jeremy Avigad (my current advisor) I Now I’m a PhD at CMU philosophy! How I got involved in formalization I Undergraduate at Ohio State University I Math, CS, Physics I Reading Takeuti & Zaring, Axiomatic Set Theory I Found Metamath via a random internet search 3 / 31 I . -
Xmonad in Coq: Programming a Window Manager in a Proof Assistant
xmonad in Coq Programming a window manager in a proof assistant Wouter Swierstra Haskell Symposium 2012 Coq Coq • Coq is ‘just’ a total functional language; • Extraction lets you turn Coq programs into OCaml, Haskell, or Scheme code. • Extraction discards proofs, but may introduce ‘unsafe’ coercions. Demo Extraction to Haskell is not popular. xmonad xmonad • A tiling window manager for X: • arranges windows over the whole screen; • written and configured in Haskell; • has several tens of thousands of users. xmonad: design principles ReaderT StateT IO monad This paper • This paper describes a reimplementation of xmonad’s pure core in Coq; • Extracting Haskell code produces a drop-in replacement for the original module; • Documents my experience. Does it work? Blood Sweat Shell script What happens in the functional core? Data types data Zipper a = Zipper { left :: [a] , focus :: !a , right :: [a] } ... and a lot of functions for zipper manipulation Totality • This project is feasible because most of the functions are structurally recursive. • What about this function? focusLeft (Zipper [] x rs) = let (y : ys) = reverse (x : rs) in Zipper ys y [] Extraction • The basic extracted code is terrible! • uses Peano numbers, extracted Coq booleans, etc. • uses extracted Coq data types for zippers; • generates ‘non-idiomatic’ Haskell. Customizing extraction • There are various hooks to customize the extracted code: • inlining functions; • realizing axioms; • using Haskell data types. Interfacing with Haskell • We would like to use ‘real’ Haskell booleans Extract Inductive bool => "Bool" ["True" "False" ]. • Lots of opportunity to shoot yourself in the foot! Better extracted code • The extracted file uses generated data types and exports ‘too much’ • Solution: • Customize extraction to use hand-coded data types. -
A Survey of Engineering of Formally Verified Software
The version of record is available at: http://dx.doi.org/10.1561/2500000045 QED at Large: A Survey of Engineering of Formally Verified Software Talia Ringer Karl Palmskog University of Washington University of Texas at Austin [email protected] [email protected] Ilya Sergey Milos Gligoric Yale-NUS College University of Texas at Austin and [email protected] National University of Singapore [email protected] Zachary Tatlock University of Washington [email protected] arXiv:2003.06458v1 [cs.LO] 13 Mar 2020 Errata for the present version of this paper may be found online at https://proofengineering.org/qed_errata.html The version of record is available at: http://dx.doi.org/10.1561/2500000045 Contents 1 Introduction 103 1.1 Challenges at Scale . 104 1.2 Scope: Domain and Literature . 105 1.3 Overview . 106 1.4 Reading Guide . 106 2 Proof Engineering by Example 108 3 Why Proof Engineering Matters 111 3.1 Proof Engineering for Program Verification . 112 3.2 Proof Engineering for Other Domains . 117 3.3 Practical Impact . 124 4 Foundations and Trusted Bases 126 4.1 Proof Assistant Pre-History . 126 4.2 Proof Assistant Early History . 129 4.3 Proof Assistant Foundations . 130 4.4 Trusted Computing Bases of Proofs and Programs . 137 5 Between the Engineer and the Kernel: Languages and Automation 141 5.1 Styles of Automation . 142 5.2 Automation in Practice . 156 The version of record is available at: http://dx.doi.org/10.1561/2500000045 6 Proof Organization and Scalability 162 6.1 Property Specification and Encodings .