Reasoning about functional programs and complexity classes associated with type disciplines
- 1 November 1983
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 460-469
- https://doi.org/10.1109/sfcs.1983.50
Abstract
We present a method of reasoning directly about functional programs in Second-Order Logic, based on the use of explicit second-order definitions for inductively defined data-types. Termination becomes a special case of correct typing. The formula-as-type analogy known from Proof Theory, when applied to this formalism, yields λ-expressions representing objects of inductively defined types, as well as λ-expressions representing functions between such types. A proof that a functional closed expression e is of type T maps into a λ-expression representing (the value of) e; and a proof that a function f is correctly typed maps into a λ-expression representing f (modulo the representations of objects of those types). When applied to integers and to numeric functions the mapping yields Church's numerals and the traditional function representations over them. The λ-expressions obtained under the isomorphism are typed (in the Second-Order Lambda Calculus). This implies that, for functions defined over inductively defined types, the property of being proved everywhere-defined in Second-Order Logic is equivalent to the property of being representable in the Second-Order Lambda Calculus. Extensions and refinements of this result lead to other characterizations of complexity classes by type disciplines. For example, log-space functions over finite structures are precisely the functions over finite-structures definable by λ-pairing-expressions in a predicative version of the Second-Order Lambda Calculus.Keywords
This publication has 10 references indexed in Scilit:
- The Expressiveness of Simple and Second-Order Type StructuresJournal of the ACM, 1983
- Definability in dynamic logicJournal of Computer and System Sciences, 1981
- Number theoretic functions computable by polymorphic programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1981
- Edinburgh LCFLecture Notes in Computer Science, 1979
- Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom SystemsJournal of the ACM, 1979
- A decidability result for a second order process logicPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1978
- Towards a theory of type structureLecture Notes in Computer Science, 1974
- ÜBER EINE BISHER NOCH NICHT BENÜTZTE ERWEITERUNG DES FINITEN STANDPUNKTESDialectica, 1958
- Completeness in the theory of typesThe Journal of Symbolic Logic, 1950
- A formulation of the simple theory of typesThe Journal of Symbolic Logic, 1940