Global semantic typing for inductive and coinductive computing

Inductive and coinductive types are commonly construed as ontological (Church-style) types, denoting canonical data-sets such as natural numbers, lists, and streams. For various purposes, notably the study of programs in the context of global semantics, it is preferable to think of types as semantical properties (Curry-style). Intrinsic theories were introduced in the late 1990s to provide a purely logical framework for reasoning about programs and their semantic types. We extend them here to data given by any combination of inductive and coinductive definitions. This approach is of interest because it fits tightly with syntactic, semantic, and proof theoretic fundamentals of formal logic, with potential applications in implicit computational complexity as well as extraction of programs from proofs. We prove a Canonicity Theorem, showing that the global definition of program typing, via the usual (Tarskian) semantics of first-order logic, agrees with their operational semantics in the intended model. Finally, we show that every intrinsic theory is interpretable in a conservative extension of first-order arithmetic. This means that quantification over infinite data objects does not lead, on its own, to proof-theoretic strength beyond that of Peano Arithmetic. Intrinsic theories are perfectly amenable to formulas-as-types Curry-Howard morphisms, and were used to characterize major computational complexity classes Their extensions described here have similar potential which has already been applied.

[1]  Stephen A. Cook,et al.  A new recursion-theoretic characterization of the polytime functions , 1992, STOC '92.

[2]  A. Troelstra,et al.  Constructivism in Mathematics: An Introduction , 1988 .

[3]  Jonathan P. Seldin,et al.  CURRY’S ANTICIPATION OF THE TYPES USED IN PROGRAMMING LANGUAGES , 2002 .

[4]  Stephen G. Simpson,et al.  Subsystems of second order arithmetic , 1999, Perspectives in mathematical logic.

[5]  Rozsa Peter Review: S. C. Kleene, General Recursive Functions of Natural Numbers , 1937 .

[6]  Peter Padawitz,et al.  Swinging types=functions+relations+transition systems , 2000, Theor. Comput. Sci..

[7]  Horst Reichel A Uniform Model Theory for the Specification of Data and Process Types , 1999, WADT.

[8]  Bart Jacobs,et al.  The Coalgebraic Class Specification Language CCSL , 2001, J. Univers. Comput. Sci..

[9]  Daniel Leivant,et al.  Ramified Corecurrence and Logspace , 2011, MFPS.

[10]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[11]  Jacques Herbrand Sur la non-contradiction de l'Arithmétique. , 1932 .

[12]  Ulrich Berger,et al.  Proofs, Programs, Processes , 2011, Theory of Computing Systems.

[13]  Journal für die reine und angewandte Mathematik , 1893 .

[14]  Kurt Gödel,et al.  On undecidable propositions of formal mathematical systems , 1934 .

[15]  S. Kleene General recursive functions of natural numbers , 1936 .

[16]  Peter D. Mosses,et al.  CASL: the Common Algebraic Specification Language , 2002, Theor. Comput. Sci..

[17]  Yiannis N. Moschovakis,et al.  The formal language of recursion , 1989, Journal of Symbolic Logic.

[18]  Bernhard Beckert,et al.  Dynamic Logic , 2007, The KeY Approach.

[19]  D. Leivant Ramified Recurrence and Computational Complexity I: Word Recurrence and Poly-time , 1995 .

[20]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[21]  J. Ferreirós From Frege to Gödel. A Source Book in Mathematical Logic, 1879¿1931: By Jean van Heijenoort. Cambridge, MA (Harvard University Press). 1967; new paperback edn., 2002. 664 pages, 1 halftone. ISBN: 0-674-32449-8. $27.95 , 2004 .

[22]  A. Church An Unsolvable Problem of Elementary Number Theory , 1936 .

[23]  László Kalmár Über ein Problem, betreffend die Definition des Begriffes der allgemein-rekursiven Funktion , 1955 .

[24]  Davide Sangiorgi,et al.  On the origins of bisimulation and coinduction , 2009, TOPL.

[25]  H. B. Curry First Properties of Functionality in Combinatory Logic , 1935 .

[26]  Ronald Fagin Generalized first-order spectra, and polynomial. time recognizable sets , 1974 .

[27]  Daniel Leivant,et al.  Intrinsic reasoning about functional programs I: first order theories , 2002, Ann. Pure Appl. Log..

[28]  D. C. Cooper,et al.  Theory of Recursive Functions and Effective Computability , 1969, The Mathematical Gazette.

[29]  Y. Gurevich On Finite Model Theory , 1990 .

[30]  S. Kleene,et al.  General Recursive Functions of Natural Numbers. , 1937 .

[31]  Daniel Leivant,et al.  Intrinsic Theories and Computational Complexity , 1994, LCC.

[32]  A. Troelstra Metamathematical investigation of intuitionistic arithmetic and analysis , 1973 .

[33]  S. Kleene $\lambda$-definability and recursiveness , 1936 .

[34]  Daniel Leivant,et al.  Implicit complexity for coinductive data: a characterization of corecurrence , 2011, DICE.

[35]  Giuseppe Peano,et al.  Arithmetices Principia Novo Methodo Exposita , 1889 .

[36]  Lutz Schröder,et al.  Bootstrapping Inductive and Coinductive Types in HasCASL , 2008, Log. Methods Comput. Sci..

[37]  K. Segerberg A completeness theorem in the modal logic of programs , 1982 .

[38]  Markus Roggenbach,et al.  Algebraic-coalgebraic specification in CoCasl , 2006, J. Log. Algebraic Methods Program..

[39]  Daniel Leivant,et al.  Intrinsic reasoning about functional programs II: unipolar induction and primitive-recursion , 2004, Theor. Comput. Sci..

[40]  Ulrich Berger,et al.  Term rewriting for normalization by evaluation , 2003, Inf. Comput..

[41]  Vaughan R. Pratt,et al.  SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC , 1976, FOCS 1976.