Results 1 
6 of
6
Logical and Computational Aspects of Programming with Sets/Bags/Lists
 In LNCS 510: Proceedings of 18th International Colloquium on Automata, Languages, and Programming
, 1991
"... . We study issues that arise in programming with primitive recursion over nonfree datatypes such as lists, bags and sets. Programs written in this style can lack a meaning in the sense that their outputs may be sensitive to the choice of input expression. We are, thus, naturally lead to a settheor ..."
Abstract

Cited by 79 (2 self)
 Add to MetaCart
. We study issues that arise in programming with primitive recursion over nonfree datatypes such as lists, bags and sets. Programs written in this style can lack a meaning in the sense that their outputs may be sensitive to the choice of input expression. We are, thus, naturally lead to a settheoretic denotational semantics with partial functions. We set up a logic for reasoning about the definedness of terms and a deterministic and terminating evaluator. The logic is shown to be sound in the model, and its recursion free fragment is shown to be complete for proving definedness of recursion free programs. The logic is then shown to be as strong as the evaluator, and this implies that the evaluator is compatible with the provable equivalence between different set (or bag, or list) expressions . Oftentimes, the same nonfree datatype may have different presentations, and it is not clear a priori whether programming and reasoning with the two presentations are equivalent. We formulate t...
The safe lambda calculus
 of Lecture Notes in Computer Science
, 2007
"... Abstract. Safety is a syntactic condition of higherorder grammars that constrains occurrences of variables in the production rules according to their typetheoretic order. In this paper, we introduce the safe lambda calculus, which is obtained by transposing (and generalizing) the safety condition ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Safety is a syntactic condition of higherorder grammars that constrains occurrences of variables in the production rules according to their typetheoretic order. In this paper, we introduce the safe lambda calculus, which is obtained by transposing (and generalizing) the safety condition to the setting of the simplytyped lambda calculus. In contrast to the original definition of safety, our calculus does not constrain types (to be homogeneous). We show that in the safe lambda calculus, there is no need to rename bound variables when performing substitution, as variable capture is guaranteed not to happen. We also propose an adequate notion of βreduction that preserves safety. In the same vein as Schwichtenberg’s 1976 characterization of the simplytyped lambda calculus, we show that the numeric functions representable in the safe lambda calculus are exactly the multivariate polynomials; thus conditional is not definable. We also give a characterization of representable word functions. We then study the complexity of deciding betaeta equality of two safe simplytyped terms and show that this problem is PSPACEhard. Finally we give a gamesemantic analysis of safety: We show that safe terms are denoted by Pincrementally justified strategies. Consequently pointers in the game semantics of safe λterms are only necessary from order 4 onwards.
Computational Soundness of a Call by Name Calculus of Recursivelyscoped Records
"... ..."
(Show Context)
Christiansen: Callbyname Calculus of Records and its Basic Properties. Working Papers Series
"... This technical report contains definitions and proofs of properties of a callbyname calculus of records. The purpose of the calculus is to describe unordered collections of (possibly mutually recursive) named components. The system resembles a callbyvalue calculus of records defined in [5], but t ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
This technical report contains definitions and proofs of properties of a callbyname calculus of records. The purpose of the calculus is to describe unordered collections of (possibly mutually recursive) named components. The system resembles a callbyvalue calculus of records defined in [5], but the proof method
Church’s Thesis and Functional Programming
 JOURNAL OF UNIVERSAL COMPUTER SCIENCE
, 2004
"... The earliest statement of Church’s Thesis, from Church (1936) p356 is
We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambda definable function of positiv ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The earliest statement of Church’s Thesis, from Church (1936) p356 is
We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambda definable function of positive integers).
The phrase in parentheses refers to the apparatus which Church had developed to investigate this and other problems in the foundations of mathematics: the calculus of lambda conversion. Both the Thesis and the lambda calculus have been of seminal influence on the development of Computing Science. The main subject of this article is the lambda calculus but I will begin with a brief sketch of the emergence of the Thesis.