Representation of Compositional Relational Programs

Total Page:16

File Type:pdf, Size:1020Kb

Representation of Compositional Relational Programs Representation of Compositional Relational Programs Representation of Compositional Relational Programs Görkem Paçacı Dissertation presented at Uppsala University to be publicly examined in Lecture hall 2, Ekonomikum, Uppsala, Friday, 28 April 2017 at 13:00 for the degree of Doctor of Philosophy. The examination will be conducted in English. Faculty examiner: Professor Alberto Pettorossi (University of Rome Tor Vergata). Abstract Paçacı, G. 2017. Representation of Compositional Relational Programs. 216 pp. Uppsala: Department of Informatics and Media, Uppsala University. ISBN 978-91-506-2621-6. Usability aspects of programming languages are often overlooked, yet have a substantial effect on programmer productivity. These issues are even more acute in the field of Inductive Synthesis, where programs are automatically generated from sample expected input and output data, and the programmer needs to be able to comprehend, and confirm or reject the suggested programs. A promising method of Inductive Synthesis, CombInduce, which is particularly suitable for synthesizing recursive programs, is a candidate for improvements in usability as the target language Combilog is not user-friendly. The method requires the target language to be strictly compositional, hence devoid of variables, yet have the expressiveness of definite clause programs. This sets up a challenging problem for establishing a user-friendly but equally expressive target language. Alternatives to Combilog, such as Quine's Predicate-functor Logic and Schönfinkel and Curry's Combinatory Logic also do not offer a practical notation: finding a more usable representation is imperative. This thesis presents two distinct approaches towards more convenient representations which still maintain compositionality. The first is Visual Combilog (VC), a system for visualizing Combilog programs. In this approach Combilog remains as the target language for synthesis, but programs can be read and modified by interacting with the equivalent diagrams instead. VC is implemented as a split-view editor that maintains the equivalent Combilog and VC representations on-the-fly, automatically transforming them as necessary. The second approach is Combilog with Name Projection (CNP), a textual iteration of Combilog that replaces numeric argument positions with argument names. The result is a language where argument names make the notation more readable, yet compositionality is preserved by avoiding variables. Compositionality is demonstrated by implementing CombInduce with CNP as the target language, revealing that programs with the same level of recursive complexity can be synthesized in CNP equally well, and establishing the underlying method of synthesis can also work with CNP. Our evaluations of the user-friendliness of both representations are supported by a range of methods from Information Visualization, Cognitive Modelling, and Human-Computer Interaction. The increased usability of both representations are confirmed by empirical user studies: an often neglected aspect of language design. Keywords: Programming, Syntax, Logic Programming, Combilog, CombInduce, Prolog, Variable-free, Point-free, Tacit, Compositional Relational Programming, Combinatory Logic, Predicate-Functor Logic, Program Synthesis, Meta-interpreters, Meta-interpretative Synthesis, Decompositional Synthesis, Inductive Synthesis, Inductive Logic Programming, Usability, Cognitive Dimensions of Notations, Visual Variables, Usability testing, Programming Language usability, Empirical evidence Görkem Paçacı, Department of Informatics and Media, Information Systems, Kyrkogårdsg. 10, Uppsala University, SE-751 20 Uppsala, Sweden. © Görkem Paçacı 2017 ISBN 978-91-506-2621-6 urn:nbn:se:uu:diva-317084 (http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-317084) Acknowledgements This journey was made possible and enjoyable thanks to the support and fellowship of these lovely people. I shall express my gratitude and appreciation, To my invaluable advisor Prof. Dr. Andreas Hamfelt. I would not have been able to chart my way through and concluded this work, if it was not for your continuous and unlimited support. It is impossible to overstate how grateful I am to have you as a friend, guide, and family. I hope I didn’t consume all your patience and you still have some left for future students. It was a privilege and honour to learn from you, and I hope to do so for many years to come. To Dr. Steve McKeever for tirelessly reading, commenting, and con- tributing with his ideas to this work. I shall miss your witty remarks, and your comments written with your intimidating bright red pen. To Prof. Dr. Jørgen Fischer Nilsson for his contributions and for his insightful comments in various stages of this work. To my lovely, caring wife Neşe, for putting up with me all the times my mind was away, and filling my life with cheer, beauty and delight. I will finally have some time to enjoy you. To my dear mother Nilüfer for letting me go far and always supporting me. To my dear father Levent for always encouraging me for more. To Süheyla for her support, and giving me two lovely sisters. To my dear sister Aylin for always intriguing me. To my dear sister Deniz for always entertaining me, and for designing this brilliant cover (with inspiration from Felix Prax). To my gleeful aunts Nükhet and Funda, and to my lively cousins Hande, Betül, Mertcan, Buse and Nehir. To my dear friends Serkan Barut, Dr. Onur Yılmaz, Dr. Selva Baziki, and Dr. Ali Sina Önder for all the fun times and reassuring me I’ll get to the finish line. To all past and current Ph.D. students in Informatics and Media, for making this place as cosy and crazy as it is. Thank you for the cama- raderie Siddharth Chadha, Kirill Filimonov, Dr. Sylvain Firer-Blaess, Dr. Mareike Glöss, Cristina Ghita, Dr. Anders Larsson, Ruth Lochan, Daniel Lövgren, Dr. Elena Márquez, Mudassir Imran Mustafa, Dr. Patrick Prax, Hafijur Mohammad Rahman, Asma Rafiq, Paulina Rajkowska, Martin Stojanov, Dr. Emma Svensson, Christopher Okhravi, Laia Turmo Vidal, Dr. Stanislaw Zabramski. To all the nice people in IM, for making my years here pleasant and cheerful, and making IM a cool and warm place to work at, and never passing an opportunity to party. Thank you Anton Backe, Mikael Berg, Carina Boson, Ylva Ekström, Dr. Jenny Eriksson Lundström, Prof. Dr. Mats Edenius, Dr. Anneli Edman, Eva Enefjord, Madelen Hermelin, Mar- tin Landahl, Prof. Dr. Mats Lind, Eva Karlsson, Tina Kekkonen, Jakob Malmstedt, Dr. Therese Monstad, Mattias Nordlindh, Dr. Else Nygren, Mathias Peters, Sofie Roos, Klara Runesson, Christian Sandström, Sophie Skogehall, Christer Stuxberg, Lars-Göran Svensk, Dr. Göran Svensson, Dr. Claes Thorén, Dr. Franck Tétard, Prof. Dr. Sten-Åke Tärnlund, Prof. Dr. Annika Waern, GunBritt Wass, Prof. Dr. Vladislav Valkovsky, Prof. Dr. Pär Ågerfalk. To Dr. David Johnston, for reading multiple versions of this thesis without getting tired of it. To my professors and colleagues in Izmir, especially to Prof. Dr. Brahim Hnich, Prof. Dr. Cemali Dinçer and Dr. Mahmut Ali Gökçe. To my dear friends Dr. Umut Avcı and Dr. Kaya Oğuz, with whom we started a journey that unpredictably lead me to Uppsala. To Dr. Özgür Akgün and Dr. Migual Nacenta for their support and hospitality in St Andrews. To everyone who contributed their valuable time to participate in the user studies in this thesis. To the Smålands nation in Uppsala, and the Anna Maria Lundin’s Fund for generously supporting this work with multiple grants throughout the years. 6 Contents 1 Introduction ............................................................................ 11 1.1 Compositionality ............................................................. 13 1.2 Compositional relational argument binding problem .......... 16 1.3 Method .......................................................................... 21 1.4 Related work .................................................................. 23 1.4.1 Combinatory Logic .............................................. 24 1.4.2 Relational calculi ................................................ 25 1.4.3 De Bruijn indices ................................................ 25 1.4.4 Nominal logic ..................................................... 26 1.4.5 Compositional Logic Programming ....................... 26 1.5 Contributions ................................................................. 27 1.6 Overview ........................................................................ 29 2 Background ............................................................................. 30 2.1 Logic Programming ......................................................... 30 2.1.1 First-order logic .................................................. 30 2.1.2 Definite clause programs ...................................... 32 2.1.3 Model-theoretic semantics ................................... 33 2.1.4 Fixpoint semantics .............................................. 35 2.1.5 Proof-theoretic semantics ..................................... 36 2.2 Combilog ........................................................................ 40 2.2.1 Compositional Relational Programming ................ 40 2.2.2 Elementary predicates ......................................... 41 2.2.3 Projection operator make .................................... 42 2.2.4 Logic operators ................................................... 43 2.2.5 Sample predicate append ..................................... 44 2.2.6 Recursion operators ...........................................
Recommended publications
  • The Lambda Calculus Is Algebraic
    Under consideration for publication in J. Functional Programming 1 2 P. Selinger point of view. We suggest another way of looking at the problem, which yields a sense in which the lambda calculus is equivalent to an algebraic theory. The Lambda Calculus is Algebraic The basic observation is that the failure of the ξ-rule is not a deficiency of the lambda calculus itself, nor of combinatory algebras, but rather it is an artifact of the way free variables are interpreted in a model. Under the usual interpretation, free variables are in- PETER SELINGER terpreted as elements of a lambda algebra A. Thus, an equation M = N between terms Department of Mathematics and Statistics University of Ottawa, Ottawa, Ontario K1N 6N5, Canada is said to be satisfied if it holds whenever the free variables of M and N are replaced by (e-mail: [email protected]) elements of A. We call this the local interpretation. We suggest a different interpretation, called the absolute interpretation, under which free variables are interpreted as indetermi- nates. Let A[x1 ...xn] be the lambda algebra obtained from A by freely adjoining elements Abstract x1 ...xn. Under the absolute interpretation, an equation M = N is said to be satisfied if it holds in A[x1 ...xn]. This paper serves as a self-contained, tutorial introduction to combinatory models of the untyped The fundamental observationof this paper is that the two interpretations do not coincide, lambda calculus. We focus particularly on the interpretation of free variables. We argue that free and that the absolute interpretation satisfies all rules of the lambda calculus, including the variables should not be interpreted as elements in a model, as is usually done, but as indeterminates.
    [Show full text]
  • Deriving Logical Relations from Interpretations of Predicate Logic
    Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found through links on the ENTCS Web Page. Deriving Logical Relations from Interpretations of Predicate Logic Claudio Hermida1 Uday S. Reddy2 University of Birmingham Edmund P. Robinson3;4 Queen Mary, University of London Abstract This paper extends the results of Hermida's thesis about logical predicates to more general logical relations and a wider collection of types. The extension of type constructors from types to logical relations is derived from an interpretation of those constructors on a model of predicate logic. This is then further extended to n-ary relations by pullback. Hermida's theory shows how right adjoints in the category of fibrations are composed from a combination of Cartesian lifting and a local adjunction. This result is generalised to make it more applicable to left adjoints, and then shown to be stable under pullback, deriving an account of n-ary relations from standard predicate logic. A brief discussion of lifting monads to predicates includes the existence of an initial such lifting, generalising existing results. Keywords: logical relations, fibrations, categorical type theory, monadic types 1 Introduction The purpose of this paper is to illustrate a link between logical relations and predicate logics. We begin by revisiting the conditions under which the predicates in a predicate logic for reasoning about a type theory can be shown to carry the structure of that type theory. We then show that similar structure on binary and more generally n-ary relations can be derived from that on unary predicates.
    [Show full text]
  • The Proper Treatment of Variables in Predicate Logic
    The Proper Treatment of Variables in Predicate Logic Kai F. Wehmeier University of California, Irvine Abstract Bertrand Russell (1903, x93) observed that “the variable is a very complicated logi- cal entity, by no means easy to analyze correctly”. This assessment is borne out by the fact that even now we have no fully satisfactory understanding of the role of variables in a compositional semantics for first-order logic. In standard Tarskian semantics, variables are treated as meaning-bearing entities; moreover, they serve as the basic building blocks of all meanings, which are constructed out of variable assignments. But this has disquieting consequences, including Fine’s antinomy of the variable and an undue dependence of meanings on language (representation- alism). Here I develop an alternative, Fregean version of predicate logic that uses the traditional quantifier–variable apparatus for the expression of generality, pos- sesses a fully compositional, non-representational semantics, and is not subject to the antinomy of the variable. The advantages of Fregean over Tarskian predicate logic are due to the former’s treating variables not as meaningful lexical items, but as mere marks of punctuation, similar to parentheses. I submit that this is indeed how the variables of predicate logic should be construed. 1 1 Introduction In standard, Tarski-style syntax for first-order logic, atomic formulas are constructed from predicate symbols and an appropriate number of variables and names. Truth- functional connectives can be used to form new formulas out of ones already con- structed. From any formula already constructed, and any individual variable, a new formula can be obtained by first writing a quantifier symbol, appending the chosen variable, and then appending the original formula.
    [Show full text]
  • Control and Cybernetics
    Control and Cybernetics. VOL. 1 (1 972) No. 1/2 Finding an optimum dynamic spatial structure of information systems by LEON SLOMINSKI Polish Academy of Sciences Institute of Applied Cybernetics Warszawa In the present paper questions connected with the formulation of problems of finding optimum dynamic spatial structures of information systems are discussed in the form of integer programming problems. Possibilities of linearization of a non­ linear problem are indicated and the computational algorithm ARO for reduction of the original set of linear constraints is given. 1. Introduction We shall call an information system (SI) [1], a complex of technical equipment together with connecting lines and operating personnel designed for the purposes. of receiving, storing, processing, transmitting, diffusion and delivery of information. Radio-television broadcasting systems, postal and telecommunicational systems,. systems of elaboration and diffusion of scientific and technical information, systems. of computer centers, etc. may be regarded as examples of the SI. The spatial structure of systems of this type is, as a rule, clearly determined,. that is the allocation of devices and links between them are given. We shall introduce a certain classification of spatial structures of the SI. We shall call a spatial structure static if the allocation of its stations and links: between them do not change within the time interval under consideration. If we consider a developing information system in which, for example, new stations and links are built, then we say that its spatial structure is dynamic. Among all dynamic structures we distinguish those that are subject to rapid changes (reorganization, displacement) due to changes in the environment from which information is collected or to which information is delivered.
    [Show full text]
  • Novel Logic Synthesis Techniques for Asymmetric Logic Functions Based
    NOVEL LOGIC SYNTHESIS TECHNIQUES FOR ASYMMETRIC LOGIC FUNCTIONS BASED ON SPINTRONIC AND MEMRISTIVE DEVICES by Vaibhav Vyas APPROVED BY SUPERVISORY COMMITTEE: Joseph S. Friedman, Chair Mehrdad Nourani Carl Sechen William Swartz Copyright c 2018 Vaibhav Vyas All Rights Reserved This thesis document is dedicated to my parents, Ruchi and Rakesh Vyas. NOVEL LOGIC SYNTHESIS TECHNIQUES FOR ASYMMETRIC LOGIC FUNCTIONS BASED ON SPINTRONIC AND MEMRISTIVE DEVICES by VAIBHAV VYAS, BS THESIS Presented to the Faculty of The University of Texas at Dallas in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE IN ELECTRICAL ENGINEERING THE UNIVERSITY OF TEXAS AT DALLAS May 2018 ACKNOWLEDGMENTS It has been a privilege to be a part of a highly creative, intellectual and productive research group at the NanoSpinCompute Lab. Not only has it contributed to polishing my technical skills and understanding, it has helped me to harness my creativity and problem solving capabilities to their fullest extent. Undoubtedly, I owe gratitude to the people who have made this possible. I am highly grateful to my teacher, research advisor and mentor Dr. Joseph S. Friedman, for without him, none of this would have been possible. I couldn't have worked with a more intellectual, vibrant and understanding supervisor than him. He was quick to spot my interests and channelize my efforts in the most productive way possible. I am thankful to him for his encouragement and support in times of uncertainty, and for constantly making me realize my research's worth. Finally, I am grateful for his honest feedbacks that helped me stay on course.
    [Show full text]
  • Lecture 3 Today's Topic: Basics of Algorithms and Complexity 1
    CSE 513T Theory of Artificial Intelligence & Machine Learning Jan 20, 2015 Lecture 3 Lecturer: Brendan Juba Scribe: Tzai-Shuen Chen Today's topic: Basics of algorithms and complexity 1 Relative power of representations (Cont'd) 2 Efficient Computation: algorithms and Circuits 3 Computation Problems and NP-completeness 1 Relative power of representations (Cont'd) 1.1 recap Last time we saw the elimination algorithm for learning conjunctions (ANDs of literals, where literals are variables or negations). By using the same algorithm as a subroutine, we can also learn disjunctions (ORs of literals), i.e., given access to examples x(1); :::; x(m) drawn from a common D, and labeled by some c 2 C, c(x(1); :::; c(x(m))), the elimination algorithm would return a representation h such that Pr[c(x) = h(x)] ≥ 1 − with probability 1 − δ. The idea is to apply De Morgan's Law: l1 ^ l2 ^ ::: ^ (i) (i) (i) ln = :(:l1 _:l2 _ ::: _:ln). For each given example (x1 ; :::; xn ; b ), we give the bitwise negation (i) (i) (i) (1) (1) (:x1 ; :::; :xn ; :b ). Since there's a disjunction c such that c(x ) = b , the negated examples are labeled by a conjunction. When the conjunction h is returned from the algorithm, we flip all of the labels' polarity to get a disjunction. Since there is a 1-1 correspondence between the negated examples and the original examples, errors in the resulting disjunction are made with the same probability as they would for the conjunction. Therefore, the bound on the error made by the conjunction of negated examples translates directly into a bound on the error of the disjunction.
    [Show full text]
  • Asynchronous Genetic Circuit Design
    ASYNCHRONOUS GENETIC CIRCUIT DESIGN by Tramy T Nguyen A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Electrical and Computer Engineering The University of Utah December 2019 Copyright c Tramy T Nguyen 2019 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Tramy T Nguyen has been approved by the following supervisory committee members: Chris J. Myers , Chair(s) August 29, 2019 Date Approved Kenneth Stevens , Member August 29, 2019 Date Approved Priyank Kalla , Member August 29, 2019 Date Approved Tara Deans , Member August 29, 2019 Date Approved Nicholas Roehner , Member September 04, 2019 Date Approved by Florian Solzbacher , Chair/Dean of the Department/College/School of Electrical and Computer Engineering and by David B. Kieda , Dean of The Graduate School. ABSTRACT Synthetic biology is applying engineering concepts to biological processes to enable genetic circuit designs, among other applications. As more biological parts are being discovered, it is vital to have an automated procedure to allow complex circuit designs to be built. Technology mapping is a set of procedures that maps biological components to a design specification. Current technology mapping frameworks for genetic circuits are used to design combinational circuits. This dissertation illustrates the process of building an automated workflow for a technology mapping framework to design asynchronous sequential genetic circuits. An automated process to create a library of gates for logic and memory circuits is described to construct gates from DNA parts retrieved from a standardize data repository.
    [Show full text]
  • Exceptionally Monadic Error Handling
    Exceptionally Monadic Error Handling Looking at bind and squinting really hard Jan Malakhovski∗ IRIT, University of Toulouse-3 and ITMO University February 2014 - October 2018 Abstract We notice that the type of catch :: c a -> (e -> c a) -> c a operator is a special case of monadic bind operator (>>=) :: m a -> (a -> m b) -> m b, the semantics (surprisingly) matches, and this observation has many interesting consequences. For instance, the reader is probably aware that the monadic essence of the (>>=) operator of the error monad λA.E ∨ A is to behave like identity monad for "normal" values and to stop on "errors". The unappreciated fact is that handling of said "errors" with a catch operator of the "flipped" "conjoined" error monad λE.E ∨ A is, too, a monadic computation that treats still unhandled "errors" as "normal" values and stops when an "error" is finally handled. We show that for an appropriately indexed type of computations such a "conjoined" struc- ture naturally follows from the conventional operational semantics of throw and catch operators. Consequently, we show that this structure uniformly generalizes all conventional monadic error handling mechanisms we are aware of. We also demonstrate several more interesting instances of this structure of which at least bi-indexed monadic parser combinators and conventional exceptions implemented via continuations have immediate practical applications. Finally, we notice that these observations provide surprising perspectives on error handling in general and point to a largely unexplored trail in programming language design space. Contents 1 Extended Abstract 3 2 Preliminaries 4 3 Introduction 5 4 Not a Tutorial: Side A 7 arXiv:1810.13430v3 [cs.PL] 30 Jan 2019 4.1 Before-Monadic.................................
    [Show full text]
  • CDM Boolean Decision Diagrams
    CDM Boolean Decision Diagrams 1 Boolean Functions Clones and Post Klaus Sutner Carnegie Mellon University Minimal Automata 24-bdd 2017/12/15 23:21 Binary Decision Diagrams Boolean Functions 3 There Are Lots 4 n Obviously there are 22 Boolean functions of arity n. Let us return to the two-element Boolean algebra B = ff, tt . { } To lighten notation we will overload and write 2 = 0, 1 instead. { } Definition n 1 2 3 4 5 6 7 8 A Boolean function of arity n is any function of the form n 22 4 16 256 65536 4.3 109 1.8 1019 3.4 1038 1.2 1077 2n 2 × × × × → 20 Note that we only consider single outputs here, f : 2n 2 rather than 22 = 6.7 10315652 = → f : 2n 2m. × ∞ → Slightly more vexing is the question of whether one should include n = 0. We’ll . , for all practical intents and purposes. Since there are quite so many, it is a fudge things a bit. good idea to think about how to describe and construct these functions. Different Angles 5 The Challenge Problems 6 The propositional logic angle immediately suggests the following computational problems. Combinatorics: 2n 2 → Problem: Tautology Logic: propositional formula Instance: A propositional formula ϕ. Question: Is ϕ a tautology? Circuits: logic gates Datatype: BDDs Problem: Satisfiability Instance: A propositional formula ϕ. Question: Is ϕ a contingency? In a sense, this is all the same–but different perspectives lead to different ideas and very different algorithms. Problem: Equivalence For example, from the logic perspective it is natural to generate tautologies, a Instance: Two propositional formulae ϕ and ψ.
    [Show full text]
  • Two Lectures on Constructive Type Theory
    Two Lectures on Constructive Type Theory Robert L. Constable July 20, 2015 Abstract Main Goal: One goal of these two lectures is to explain how important ideas and problems from computer science and mathematics can be expressed well in constructive type theory and how proof assistants for type theory help us solve them. Another goal is to note examples of abstract mathematical ideas currently not expressed well enough in type theory. The two lec- tures will address the following three specific questions related to this goal. Three Questions: One, what are the most important foundational ideas in computer science and mathematics that are expressed well in constructive type theory, and what concepts are more difficult to express? Two, how can proof assistants for type theory have a large impact on research and education, specifically in computer science, mathematics, and beyond? Three, what key ideas from type theory are students missing if they know only one of the modern type theories? The lectures are intended to complement the hands-on Nuprl tutorials by Dr. Mark Bickford that will introduce new topics as well as address these questions. The lectures refer to recent educational material posted on the PRL project web page, www.nuprl.org, especially the on-line article Logical Investigations, July 2014 on the front page of the web cite. Background: Decades of experience using proof assistants for constructive type theories, such as Agda, Coq, and Nuprl, have brought type theory ever deeper into computer science research and education. New type theories implemented by proof assistants are being developed. More- over, mathematicians are showing interest in enriching these theories to make them a more suitable foundation for mathematics.
    [Show full text]
  • Code-Free Recursion & Realizability
    Code-free recursion & realizability Eric Faber Universiteit Utrecht February 24, 2014 Outline 1 History Combinatory Logic Computability Theory Motivation 2 Partial combinatory algebras PCAs are very rich PCAs allow for Abstract Recursion Theory 3 Realizability Toposes From Categories of Assemblies . to Realizability Toposes Morphisms Subtoposes Eric Faber ( Universiteit Utrecht ) Code-free recursion & realizability February 24, 2014 2 / 30 History Combinatory Logic Combinatory Logic • Combinatory logic was founded by Moses Schönfinkel in his article “Über die Bausteine der mathematischen Logik” in 1924. • Intended as a pre-logic that would solve foundational issues that arise from the use of variables by eliminating them. • Further development was mostly due to Haskell Curry in the 50s, after which combinatory logic regained interest in theoretical computer science Moses Schönfinkel Haskell Curry Eric Faber ( Universiteit Utrecht ) Code-free recursion & realizability February 24, 2014 3 / 30 History Computability Theory Computability Theory • Founded in 1936 by work of Alan Turing, Alonzo Church, Stephen Kleene and Emil Post • Mathematical rigorous definition of a computation • First results on undecidability Turing Church Kleene Post Eric Faber ( Universiteit Utrecht ) Code-free recursion & realizability February 24, 2014 4 / 30 History Computability Theory The Effective Topos • In 1982, Martin Hyland discovered the “Effective Topos” • From the viewpoint of a Topos as a “constructive universe”, the Effective Topos is an effective universe. • The internal first-order logic of the Effective Topos coincides with Kleene’s notion of realizability Martin Hyland Eric Faber ( Universiteit Utrecht ) Code-free recursion & realizability February 24, 2014 5 / 30 History Motivation Why Study PCAs and Realizability Toposes? • PCAs give rise to a lot of interpretations of constructive proofs • Realizability Toposes give higher-order interpretations of this logic and help understand them • Applications in Computer Science (e.g.
    [Show full text]
  • Lukasz LACHOWSKI on the COMPLEXITY of the STANDARD TRANSLATION of LAMBDA CALCULUS INTO COMBINATORY LOGIC
    REPORTS ON MATHEMATICAL LOGIC 53 (2018), 19–42 doi: 10.4467/20842589RM.18.002.8835 Lukasz LACHOWSKI ON THE COMPLEXITY OF THE STANDARD TRANSLATION OF LAMBDA CALCULUS INTO COMBINATORY LOGIC A b s t r a c t. We investigate the complexity of the standard translation of lambda calculus into combinatory logic. The main result shows that the asymptotic growth rate of the size of a trans- lated term is Θ(n3) in worst-case, where n denotes the size of the lambda term. .1 Introduction Both lambda calculus ([Chu36]) and combinatory logic ([Cur30]) are Turing- complete models of computation. As such, lambda calculus serves as a the- Received 8 June 2017 This work was partially supported by the grant 2013/11/B/ST6/00975 funded by the Pol- ish National Science Center. Keywords and phrases: combinatory logic, lambda calculus, complexity analysis, func- tional programming. AMS subject classification: 03B40, 68Q25, 68N18. 20 LUKASZ LACHOWSKI oretical basis for many functional programming languages, e.g. Haskell and SML. Evaluating expressions in lambda calculus is not easy since semantics of the substitution must be defined carefully to avoid problems with vari- ables binding. One of the motivations for introducing combinatory logic was to eliminate the notion of bound variables from logical formulas and to simplify the definition of substitution. Thereby, compared to lambda calcu- lus, combinatory logic is simpler in terms of computational interpretations. In the definition of combinatory logic we use only two combinators, namely S and K. Together with the notion of reduction, it is sufficient to define any recursive function in this model.
    [Show full text]