Results 1 
6 of
6
Combinatory Reduction Systems: introduction and survey
 THEORETICAL COMPUTER SCIENCE
, 1993
"... Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual firstorder format of term rewriting with the presence of bound variables as in pure λcalculus and various typed calculi. Bound variables are also present in many other rewrite systems, such as systems with simpl ..."
Abstract

Cited by 84 (9 self)
 Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual firstorder format of term rewriting with the presence of bound variables as in pure λcalculus and various typed calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are nonambiguous (no overlap leading to a critical pair) and leftlinear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power, and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the wellknown confluence proof for λcalculus by Tait and MartinLof. There is a wellknown connection between the para...
On Girard’s “Candidats de Réductibilité
 Logic and Computer Science
, 1990
"... Abstract: We attempt to elucidate the conditions required on Girard’s candidates of reducibility (in French, “candidats de reductibilité”) in order to establish certain properties of various typed lambda calculi, such as strong normalization and ChurchRosser property. We present two generalizations ..."
Abstract

Cited by 33 (5 self)
 Add to MetaCart
Abstract: We attempt to elucidate the conditions required on Girard’s candidates of reducibility (in French, “candidats de reductibilité”) in order to establish certain properties of various typed lambda calculi, such as strong normalization and ChurchRosser property. We present two generalizations of the candidates of reducibility, an untyped version in the line of Tait and Mitchell, and a typed version which is an adaptation of Girard’s original method. As an application of this general result, we give two proofs of strong normalization for the secondorder polymorphic lambda calculus under ⌘reduction (and thus underreduction). We present two sets of conditions for the typed version of the candidates. The first set consists of conditions similar to those used by Stenlund (basically the typed version of Tait’s conditions), and the second set consists of Girard’s original conditions. We also compare these conditions, and prove that Girard’s conditions are stronger than Tait’s conditions. We give a new proof of the ChurchRosser theorem for bothreduction and ⌘reduction, using the modified version of Girard’s method. We also compare various proofs that have appeared in the literature (see section 11). We conclude by sketching the extension of the above results to Girard’s higherorder polymorphic calculus F!, and in appendix 1, to F! with product types. i 1
Outline of a Proof Theory of Parametricity
 Proc. 5th International Symposium on Functional Programming Languages and Computer Architecture
, 1991
"... Reynolds' Parametricity Theorem (also known as the Abstraction Theorem), a result concerning the model theory of the second order polymorphic typed calculus (F 2 ), has recently been used by Wadler to prove some unusual and interesting properties of programs. We present a purely syntactic version o ..."
Abstract

Cited by 25 (2 self)
 Add to MetaCart
Reynolds' Parametricity Theorem (also known as the Abstraction Theorem), a result concerning the model theory of the second order polymorphic typed calculus (F 2 ), has recently been used by Wadler to prove some unusual and interesting properties of programs. We present a purely syntactic version of the Parametricity Theorem, showing that it is simply an example of formal theorem proving in second order minimal logic over a first order equivalence theory on terms. We analyze the use of parametricity in proving program equivalences, and show that structural induction is still required: parametricity is not enough. As in Leivant's transparent presentation of Girard's Representation Theorem for F 2 , we show that algorithms can be extracted from the proofs, such that if a term can be proven parametric, we can synthesize from the proof an "equivalent" parametric term that is moreover F 2 typable. Given that Leivant showed how proofs of termination, based on inductive data types and s...
Higher Order Logic
 In Handbook of Logic in Artificial Intelligence and Logic Programming
, 1994
"... Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2 The expressive power of second order Logic : : : : : : : : : : : 3 2.1 The language of second order logic : : : : : : : : : : : : : 3 2.2 Expressing size : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Definin ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2 The expressive power of second order Logic : : : : : : : : : : : 3 2.1 The language of second order logic : : : : : : : : : : : : : 3 2.2 Expressing size : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Defining data types : : : : : : : : : : : : : : : : : : : : : 6 2.4 Describing processes : : : : : : : : : : : : : : : : : : : : : 8 2.5 Expressing convergence using second order validity : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.6 Truth definitions: the analytical hierarchy : : : : : : : : 10 2.7 Inductive definitions : : : : : : : : : : : : : : : : : : : : : 13 3 Canonical semantics of higher order logic : : : : : : : : : : : : 15 3.1 Tarskian semantics of second order logic : : : : : : : : : 15 3.2 Function and re
Attaching SecondOrder Types to Methods in an ObjectOriented Language
 In In ECOOP '93 Conference Proceedings
, 1993
"... This paper proposes an extension of the notion of method as it is currently used in most objectoriented languages. We define polymethods as methods that we can attach directly to types, as opposed to classes and that we can describe with a secondorder type. Two benefits result from this extension; ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
This paper proposes an extension of the notion of method as it is currently used in most objectoriented languages. We define polymethods as methods that we can attach directly to types, as opposed to classes and that we can describe with a secondorder type. Two benefits result from this extension; first, the expressive power of the language is improved with better modeling abilities. Next, secondorder types yield a more powerful (precise) type inference, which extends the range of static type checking in a truly extensible objectoriented language. We first show that extensible objectoriented languages present many difficulties for static typechecking and that secondorder types are necessary to get stronger typechecking. We illustrate how to combine polymethods through type inheritance and propose a technique based on abstract interpretation to derive a secondorder type for new polymethods. 1. Introduction Objectoriented languages have two interesting features that distinguish ...
Appendix 1: Product Types in F !
"... for short, raw terms) is de ned inductively as follows: c 2 P, whenever c 2 , x 2 P, whenever x 2 X , (MN) 2 P, whenever M;N 2 P, hM; Ni 2 P, whenever M;N 2 P, 1 (M); 2 (M) 2 P, whenever M 2 P, (x: : M) 2 P, whenever x 2 X , 2 T , and M 2 P, (M) 2 P, whenever 2 T and M 2 P, (t: K: M) ..."
Abstract
 Add to MetaCart
for short, raw terms) is de ned inductively as follows: c 2 P, whenever c 2 , x 2 P, whenever x 2 X , (MN) 2 P, whenever M;N 2 P, hM; Ni 2 P, whenever M;N 2 P, 1 (M); 2 (M) 2 P, whenever M 2 P, (x: : M) 2 P, whenever x 2 X , 2 T , and M 2 P, (M) 2 P, whenever 2 T and M 2 P, (t: K: M) 2 P, whenever t 2 V, K 2 K, and M 2 P. The notions of substitution and equivalence are extended in the obvious way. In order to deal with product types, it is necessary to add the following kindchecking rule: . : ? . : ? . : ? () The de nition of the relation ! ! does not have to be changed, since the congruence rule takes care of ), , and K . It is easy to see that corollary 6.18 and corollary 6.19 hold for the new class of types. Thus, every ( equivalence class of) type that kindchecks has a unique normal form. The following inference rules need to be added to the proof system used for typechecking terms. . M : . N :