8 research outputs found

    Framework for binding operators

    Get PDF

    University of Wollongong Annual Report 1981

    Get PDF

    A hierarchy of languages, logics, and mathematical theories

    Get PDF
    We present mathematics from a foundational perspective as a hierarchy in which each tier consists of a language, a logic, and a mathematical theory. Each tier in the hierarchy subsumes all preceding tiers in the sense that its language, logic, and mathematical theory generalize all preceding languages, logics, and mathematical theories. Starting from the root tier, the mathematical theories in this hierarchy are: combinatory logic restricted to the identity I, combinatory logic, ZFC set theory, constructive type theory, and category theory. The languages of the first four tiers correspond to the languages of the Chomsky hierarchy: in combinatory logic Ix = x gives rise to a regular language; the language generated by S, K in combinatory logic is context-free; first-order logic is context-sensitive; and the typed lambda calculus of type theory is recursively enumerable. The logic of each tier can be characterized in terms of the cardinality of the set of its truth values: combinatory logic restricted to I has 0 truth values, while combinatory logic has 1, first-order logic 2, constructive type theory 3, and categeory theory omega_0. We conjecture that the cardinality of objects whose existence can be established in each tier is bounded; for example, combinatory logic is bounded in this sense by omega_0 and ZFC set theory by the least inaccessible cardinal. We also show that classical recursion theory presents a framework for generating the above hierarchy in terms of the initial functions zero, projection, and successor followed by composition and m-recursion, starting with the zero function I in combinatory logic This paper begins with a theory of glossogenesis, i.e. a theory of the origin of language, since this theory shows that natural language has deep connections to category theory and since it was through these connections that the last tier and ultimately the whole hierarchy were discovered. The discussion covers implications of the hierarchy for mathematics, physics, cosmology, theology, linguistics, extraterrestrial communication, and artificial intelligence

    The monitoring power of forcing program transformations

    Get PDF
    In this thesis, we are interested in semantical proofs of correctness results for complex programming languages. In particular, we advocate the need for a theoretical framework that allows one to:- design realizability semantics using basic blocks - use algebraic constructions to combine those blocks As a step towards this goal, we propose a new semantical framework, based on the composition of linear variants of Krivine realizability and Cohen forcing. The first ingredient of this framework is the Monitoring Abstract Machine: a computing environment that possesses special memory cells used to monitor the execution of programs, in the style of Miquel's KFAM. It is shown how this new machine emerges from a linear forcing program transformation. We then introduce the central notion of Monitoring Algebra and the associated realizability interpretation. Different monitoring algebras induce sound semantics of different programming languages. We then present an algebraic construction to combine different Monitoring Algebras (and the associated programming languages) based on the technique of forcing iteration. We present various results and first applications of our theory. We show that the forcing structure can be used to represent the consumption of resources, in particular time, but also step-indexing or the use of higher-order references. We finally apply our results to retrieve three complex soundness results:- we give the first semantical proof of the consistency of a contraction-free naive set theory, originally introduced by Grishin- we use our framework to obtain a polynomial time termination result for a light-logic based programming language featuring recursive types - we prove the soundness of a language with references that supports strong updates, based on a linear type system inspired by a work of Ahmed, Fluet and Morrisett.Dans cette thèse, nous nous intéressons aux preuves sémantiques de résultats de corrections pour des langages de programmation complexes. En particulier, nous mettons en évidencele besoin d'un nouveau cadre théorique permettant de:- concevoir des sémantiques de réalisabilité à partir de briques plus élémentaires.- combiner ces briques élémentaires grâce à des constructions algébriques.- prouver des théorèmes généraux réutilisables lors de preuves futures de correctionde langages de programmation. Nous proposons dans ce manuscrit un tel cadre sémantique, basé sur la composition de variantes linéaires de la réalisabilité de Krivine et du forcing de Cohen. Le premier ingrédient est la Monitoring Abstract Machine: un environnement de calcul qui utilise des cases mémoires réservées pour "surveiller" l'exécution des programmes, dans le style de la KFAM introduite par Miquel. Cette machine émerge naturellement d'une transformation de programme basée sur une variante linéaire du forcing de Cohen. Nous introduisons par la suite la notion centrale d'Algèbre de Monitoring et le modèle de réalisabilité associé. Chaque algèbre de monitoring induit une sémantique correcte pour un langage de programmation associé. Point crucial de cette thèse, nous définissons, en se basant sur la technique du forcing itéré, une construction algébrique permettant de combiner plusieurs algèbres de monitoring. Nous développons de nombreux résultats élémentaires à propos de notre théorie. En particulier, nous montrons que la structure de forcing peut être utilisée pour représenter la consommation de ressources (en particulier le temps), le step-indexing ou encore des références d'ordre supérieur. Finalement, nous appliquons notre théorie pour obtenir trois preuves de correction complexes:- nous donnons la première preuve sémantique connue de la cohérence d'une théorie des ensembles naïve sans contraction introduite originellement par Grishin dans les années 70- nous utilisons notre cadre pour obtenir un résultat de terminaison en temps polynomial pour un langage de programmation avec types récursifs basé sur une logique light- nous reprouvons la correction d'un langage avec références d'ordre supérieur et mise à jour forte, inspiré par un système de type introduit par Ahmed, Fluet et Morrisett
    corecore