Results 1  10
of
16
KripkeStyle Models for Typed Lambda Calculus
 Annals of Pure and Applied Logic
, 1996
"... The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke ..."
Abstract

Cited by 50 (3 self)
 Add to MetaCart
The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke lambda models are cartesian closed subcategories of the presheaves over a poset. To those familiar with Kripke models of modal or intuitionistic logics, Kripke lambda models are likely to seem adequately \semantic." However, when viewed as cartesian closed categories, they do not have the property variously referred to as concreteness, wellpointedness, or having enough points. While the traditional lambda calculus proof system is not complete for Henkin models that may have empty types, we prove strong completeness for Kripke models. In fact, every set of equations that is closed under implication is the theory of a single Kripke model. We also develop some properties of logical relations ...
Database Query Languages Embedded in the Typed Lambda Calculus
, 1993
"... We investigate the expressive power of the typed calculus when expressing computations over finite structures, i.e., databases. We show that the simply typed calculus can express various database query languages such as the relational algebra, fixpoint logic, and the complex object algebra. In ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
We investigate the expressive power of the typed calculus when expressing computations over finite structures, i.e., databases. We show that the simply typed calculus can express various database query languages such as the relational algebra, fixpoint logic, and the complex object algebra. In our embeddings, inputs and outputs are terms encoding databases, and a program expressing a query is a term which types when applied to an input and reduces to an output.
Functional Database Query Languages as Typed Lambda Calculi of Fixed Order (Extended Abstract)
 In Proceedings 13th PODS
, 1994
"... We present a functional framework for database query languages, which is analogous to the conventional logical framework of firstorder and fixpoint formulas over finite structures. We use atomic constants of order 0, equality among these constants, variables, application, lambda abstraction, and le ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
We present a functional framework for database query languages, which is analogous to the conventional logical framework of firstorder and fixpoint formulas over finite structures. We use atomic constants of order 0, equality among these constants, variables, application, lambda abstraction, and let abstraction; all typed using fixed order ( 5) functionalities. In this framework, proposed in [21] for arbitrary order functionalities, queries and databases are both typed lambda terms, evaluation is by reduction, and the main programming technique is list iteration. We define two families of languages: TLI = i or simplytyped list iteration of order i +3 with equality, and MLI = i or MLtyped list iteration of order i+3 with equality; we use i+3 since our list representation of databases requires at least order 3. We show that: FOqueries ` TLI = 0 ` MLI = 0 ` LOGSPACEqueries ` TLI = 1 = MLI = 1 = PTIMEqueries ` TLI = 2 , where equality is no longer a primitive in TLI = 2 . We also show that ML type inference, restricted to fixed order, is polynomial in the size of the program typed. Since programming by using low order functionalities and type inference is common in functional languages, our results indicate that such programs suffice for expressing efficient computations and that their MLtypes can be efficiently inferred.
Categorical Completeness Results for the SimplyTyped LambdaCalculus
 Proceedings of TLCA '95, Springer LNCS 902
, 1995
"... . We investigate, in a categorical setting, some completeness properties of betaeta conversion between closed terms of the simplytyped lambda calculus. A cartesianclosed category is said to be complete if, for any two unconvertible terms, there is some interpretation of the calculus in the catego ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
. We investigate, in a categorical setting, some completeness properties of betaeta conversion between closed terms of the simplytyped lambda calculus. A cartesianclosed category is said to be complete if, for any two unconvertible terms, there is some interpretation of the calculus in the category that distinguishes them. It is said to have a complete interpretation if there is some interpretation that equates only interconvertible terms. We give simple necessary and sufficient conditions on the category for each of the two forms of completeness to hold. The classic completeness results of, e.g., Friedman and Plotkin are immediate consequences. As another application, we derive a syntactic theorem of Statman characterizing betaeta conversion as a maximum consistent congruence relation satisfying a property known as typical ambiguity. 1 Introduction In 1970 Friedman proved that betaeta conversion is complete for deriving all equalities between the (simplytyped) lambdadefinable...
On the expressive power of simply typed and letpolymorphic lambda calculi
 11th Annual IEEE Symp. on Logic in Computer Science (LICS'96)
, 1996
"... We present a functional framework for descriptive computational complexity, in which the Regular, Firstorder, Ptime, Pspace, kExptime, kExpspace (k 1), and Elementary sets have syntactic characterizations. In this framework, typed lambda terms represent inputs and outputs as well as programs. The ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
We present a functional framework for descriptive computational complexity, in which the Regular, Firstorder, Ptime, Pspace, kExptime, kExpspace (k 1), and Elementary sets have syntactic characterizations. In this framework, typed lambda terms represent inputs and outputs as well as programs. The lambda calculi describing the above computational complexity classes are simply or letpolymorphically typed with functionalities of fixed order. They consist of: order 0 atomic constants, order 1 equality among these constants, variables, application, and abstraction. Increasing functionality order by one for these languages corresponds to increasing the computational complexity by one alternation. This exact correspondence is established using a semantic evaluation of languages for each fixed order, which is the primary technical contribution of this paper.
Algebraic Reasoning and Completeness in Typed Languages
 In Proc. 20th ACM Symposium on Principles of Programming Languages
, 1992
"... : We consider the following problem in proving observational congruences in functional languages: given a callbyname language based on the simplytyped calculus with algebraic operations axiomatized by algebraic equations E, is the set of observational congruences between terms exactly those prov ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
: We consider the following problem in proving observational congruences in functional languages: given a callbyname language based on the simplytyped calculus with algebraic operations axiomatized by algebraic equations E, is the set of observational congruences between terms exactly those provable from (fi), (j), and E? We find conditions for determining whether fijEequational reasoning is complete for proving the observational congruences between such terms. We demonstrate the power and generality of the theorems by presenting a number of easy corollaries for particular algebras. 1 Introduction The (fi) and (j) axioms form the basis for proving equations in callbyname functional languages. In these languages, (fi) and (j) yield sound program optimizations. For example, consider a version of the callbyname language PCF [11, 15] which is described in Appendix A. Our version of PCF includes simplytyped calculus, numerals 0; 1; 2; : : :, successor and predecessor, addition, ...
ae Primitive Recursion on the Partial Continuous Functionals
"... We investigate G"odel's notion of a primitive recursive functional of higher type [5] in the context of partial continuous functionals as introduced by Kreisel in [7] and developed mainly by Scott (see [13], [3]). To make this paper readable for people not familiar with the theory of p ..."
Abstract
 Add to MetaCart
We investigate G&quot;odel's notion of a primitive recursive functional of higher type [5] in the context of partial continuous functionals as introduced by Kreisel in [7] and developed mainly by Scott (see [13], [3]). To make this paper readable for people not familiar with the theory of partial continuous functionals we have included a short exposition of the basic material, in a form convenient for our later arguments.
Kripke Models and the (in)equational Logic of the SecondOrder LambdaCalculus
, 1995
"... . We define a new class of Kripke structures for the secondorder calculus, and investigate the soundness and completeness of some proof systems for proving inequalities (rewrite rules) as well as equations. The Kripke structures under consideration are equipped with preorders that correspond to an ..."
Abstract
 Add to MetaCart
. We define a new class of Kripke structures for the secondorder calculus, and investigate the soundness and completeness of some proof systems for proving inequalities (rewrite rules) as well as equations. The Kripke structures under consideration are equipped with preorders that correspond to an abstract form of reduction, and they are not necessarily extensional. A novelty of our approach is that we define these structures directly as functors A: W ! Preor equipped with certain natural transformations corresponding to application and abstraction (where W is a preorder, the set of worlds, and Preor is the category of preorders). We make use of an explicit construction of the exponential of functors in the Cartesianclosed category Preor W , and we also define a kind of exponential Q \Phi (A s ) s2T to take care of type abstraction. However, we strive for simplicity, and we only use very elementary categorical concepts. Consequently, we believe that the models described in thi...
The Logic and Expressibility of Simplytyped Callbyvalue and Lazy Languages
, 1991
"... We study the operational, denotational, and axiomatic semantics of lazy and callbyvalue functional languages, and use these semantics to build a new expressiveness theory for comparing functional languages. The first part of the thesis develops the theory of lazy and callbyvalue languages separa ..."
Abstract
 Add to MetaCart
We study the operational, denotational, and axiomatic semantics of lazy and callbyvalue functional languages, and use these semantics to build a new expressiveness theory for comparing functional languages. The first part of the thesis develops the theory of lazy and callbyvalue languages separately, following paradigmatic studies of callbyname functional languages. We first describe the operational semantics of two simplytyped languages, lazy PCF and callbyvalue PCF. These two languages provide enough intuition to describe general definitions of denotational models and logics for lazy and callbyvalue languages. We prove, via a completeness theorem, that the definitions of models and logic coincide for both the lazy and callbyvalue theories. The second part of the thesis compares the two kinds of languages via translations. Specifically, we develop the idea of a fully abstract translation and define new fully abstract translations from callbyvalue PCF to lazy PCF, and vi...
SPCF: Its Model, Calculus, and Computational Power (Preliminary Version)
, 1992
"... SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully a ..."
Abstract
 Add to MetaCart
SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully abstract models of sequential functional languages. Then, we develop an extended typed calculus to specify the operational semantics of SPCF and show that the calculus is complete for the constantfree sublanguage. Finally, we prove that SPCF is computationally complete: it can express all the computable (recursively enumerable) elements in its fully abstract model. 1 SPCF: Observing Sequentiality Most contemporary programming languages, e.g., Scheme, Pascal, Fortran, C, and ML, are "sequential", that is, they impose a serial order on the evaluation of parts of programs. Unfortunately, the familiar mathematical models for sequential languages based on continuous functions do not capture this pro...