Results 1  10
of
31
Subtyping recursive types
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1993
"... We investigate the interactions of subtyping and recursive types, in a simply typed λcalculus. The two fundamental questions here are whether two (recursive) types are in the subtype relation, and whether a term has a type. To address the first question, we relate various definitions of type equiva ..."
Abstract

Cited by 308 (8 self)
 Add to MetaCart
We investigate the interactions of subtyping and recursive types, in a simply typed λcalculus. The two fundamental questions here are whether two (recursive) types are in the subtype relation, and whether a term has a type. To address the first question, we relate various definitions of type equivalence and subtyping that are induced by a model, an ordering on infinite trees, an algorithm, and a set of type rules. We show soundness and completeness between the rules, the algorithm, and the tree semantics. We also prove soundness and a restricted form of completeness for the model. To address the second question, we show that to every pair of types in the subtype relation we can associate a term whose denotation is the uniquely determined coercion map between the two types. Moreover, we derive an algorithm that, when given a term with implicit coercions, can infer its least
ContextSensitive Rewriting Strategies
, 1997
"... Contextsensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively ..."
Abstract

Cited by 43 (30 self)
 Add to MetaCart
Contextsensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively extended to arbitrary positions of terms built from those symbols. Termination is not only preserved but usually improved and several methods have been developed to formally prove it. In this paper, we investigate the definition, properties, and use of contextsensitive rewriting strategies, i.e., particular, fixed sequences of contextsensitive rewriting steps. We study how to define them in order to obtain efficient computations and to ensure that contextsensitive computations terminate whenever possible. We give conditions enabling the use of these strategies for rootnormalization, normalization, and infinitary normalization. We show that this theory is suitable for formalizing ...
Solving Recursive Domain Equations with Enriched Categories
, 1994
"... Both preorders and metric spaces have been used at various times as a foundation for the solution of recursive domain equations in the area of denotational semantics. In both cases the central theorem states that a `converging' sequence of `complete' domains/spaces with `continuous' retraction pair ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
Both preorders and metric spaces have been used at various times as a foundation for the solution of recursive domain equations in the area of denotational semantics. In both cases the central theorem states that a `converging' sequence of `complete' domains/spaces with `continuous' retraction pairs between them has a limit in the category of complete domains/spaces with retraction pairs as morphisms. The preorder version was discovered first by Scott in 1969, and is referred to as Scott's inverse limit theorem. The metric version was mainly developed by de Bakker and Zucker and refined and generalized by America and Rutten. The theorem in both its versions provides the main tool for solving recursive domain equations. The proofs of the two versions of the theorem look astonishingly similar, but until now the preconditions for the preorder and the metric versions have seemed to be fundamentally different. In this thesis we establish a more general theory of domains based on the noti...
Rational Term Rewriting
, 1998
"... . Rational terms (possibly infinite terms with finitely many subterms) can be represented in a finite way via terms, that is, terms over a signature extended with selfinstantiation operators. For example, f ! = f(f(f(: : :))) can be represented as x :f(x) (or also as x :f(f(x)), f(x :f(x)), ..."
Abstract

Cited by 21 (12 self)
 Add to MetaCart
. Rational terms (possibly infinite terms with finitely many subterms) can be represented in a finite way via terms, that is, terms over a signature extended with selfinstantiation operators. For example, f ! = f(f(f(: : :))) can be represented as x :f(x) (or also as x :f(f(x)), f(x :f(x)), . . . ). Now, if we reduce a term t to s via a rewriting rule using standard notions of the theory of Term Rewriting Systems, how are the rational terms corresponding to t and to s related? We answer to this question in a satisfactory way, resorting to the definition of infinite parallel rewriting proposed in [7]. We also provide a simple, algebraic description of term rewriting through a variation of Meseguer's Rewriting Logic formalism. 1 Introduction Rational terms are possibly infinite terms with a finite set of subterms. They show up in a natural way in Theoretical Computer Science whenever some finite cyclic structures are of concern (for example data flow diagrams, cyclic te...
(Cyclic) Term Graph Rewriting is adequate for Rational Parallel Term Rewriting
 CGH
, 1997
"... Acyclic Term Graphs are able to represent terms with sharing, and the relationship between Term Graph Rewriting (TGR) and Term Rewrtiting (TR) is now well understood [BvEG + 87, HP91]. During the last years, some researchers considered the extension of TGR to possibly cyclic term graphs, which ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
Acyclic Term Graphs are able to represent terms with sharing, and the relationship between Term Graph Rewriting (TGR) and Term Rewrtiting (TR) is now well understood [BvEG + 87, HP91]. During the last years, some researchers considered the extension of TGR to possibly cyclic term graphs, which can represent possibly infinite, rational terms. In [KKSdV94] the authors formalize the classical relationship between TGR and TR as an "adequate mapping" between rewriting systems, and extend it by proving that unraveling is an adequate mapping from cyclic TGR to rational, infinitary term rewriting: In fact, a single graph reduction may correspond to an infinite sequence of term reductions. Using the same notions, we propose a different adequacy result, showing that unraveling is an adequate mapping from cyclic TGR to rational parallel term rewriting, where at each reduction infinitely many rules can be applied in parallel. We also argue that our adequacy result is more natural...
µCalculus AlternationDepth Hierarchy Is Strict On Binary Trees
, 1999
"... 8>  and \Sigma n hard formulas are formulas on nary trees. They are defined inductively by L 0 (P ) = L d 0 (P ) = P; L n+1 (P ) = x n+1 :(P L d n (a n+1 :x n+1 )); L d n+1 (P ) = ¯x n+1 :(P L n (a n+1 :x n+1 )); where a node has property a i :x if its ith successor has property x. Since ..."
Abstract

Cited by 18 (4 self)
 Add to MetaCart
8>  and \Sigma n hard formulas are formulas on nary trees. They are defined inductively by L 0 (P ) = L d 0 (P ) = P; L n+1 (P ) = x n+1 :(P L d n (a n+1 :x n+1 )); L d n+1 (P ) = ¯x n+1 :(P L n (a n+1 :x n+1 )); where a node has property a i :x if its ith successor has property x. Since Lenzi's formulas are formulas on nary trees, and since one can encode nary trees into binary trees, one can deduce from Lenzi
Convergence of Program Transformers in the Metric Space of Trees
, 1998
"... . In recent years increasing consensus has emerged that program transformers, e.g., partial evaluation and unfold/fold transformations, should terminate; a compiler should stop even if it performs fancy optimizations! A number of techniques to ensure termination of program transformers have been inv ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
. In recent years increasing consensus has emerged that program transformers, e.g., partial evaluation and unfold/fold transformations, should terminate; a compiler should stop even if it performs fancy optimizations! A number of techniques to ensure termination of program transformers have been invented, but their correctness proofs are sometimes long and involved. We present a framework for proving termination of program transformers, cast in the metric space of trees. We first introduce the notion of an abstract program transformer; a number of wellknown program transformers can be viewed as instances of this notion. We then formalize what it means that an abstract program transformer terminates and give a general sufficient condition for an abstract program transformer to terminate. We also consider some specific techniques for satisfying the condition. As applications we show that termination of some wellknown program transformers either follows directly from the specific techn...
J.G.: Infinitary combinatory reduction systems
 of Lecture Notes in Computer Science
, 2005
"... Abstract. We define infinitary combinatory reduction systems (iCRSs). This provides the first extension of infinitary rewriting to higherorder rewriting. We lift two wellknown results from infinitary term rewriting systems and infinitary λcalculus to iCRSs: 1. every reduction sequence in a fully ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Abstract. We define infinitary combinatory reduction systems (iCRSs). This provides the first extension of infinitary rewriting to higherorder rewriting. We lift two wellknown results from infinitary term rewriting systems and infinitary λcalculus to iCRSs: 1. every reduction sequence in a fullyextended leftlinear iCRS is compressible to a reduction sequence of length at most ω, and 2. every complete development of the same set of redexes in an orthogonal iCRS ends in the same term. 1
The category theoretic solution of recursive program schemes
 Proc. First Internat. Conf. on Algebra and Coalgebra in Computer Science (CALCO 2005), Lecture Notes in Computer Science
, 2006
"... Abstract. This paper provides a general account of the notion of recursive program schemes, studying both uninterpreted and interpreted solutions. It can be regarded as the categorytheoretic version of the classical area of algebraic semantics. The overall assumptions needed are small indeed: worki ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Abstract. This paper provides a general account of the notion of recursive program schemes, studying both uninterpreted and interpreted solutions. It can be regarded as the categorytheoretic version of the classical area of algebraic semantics. The overall assumptions needed are small indeed: working only in categories with “enough final coalgebras ” we show how to formulate, solve, and study recursive program schemes. Our general theory is algebraic and so avoids using ordered, or metric structures. Our work generalizes the previous approaches which do use this extra structure by isolating the key concepts needed to study substitution in infinite trees, including secondorder substitution. As special cases of our interpreted solutions we obtain the usual denotational semantics using complete partial orders, and the one using complete metric spaces. Our theory also encompasses implicitly defined objects which are not usually taken to be related to recursive program schemes. For example, the classical Cantor twothirds set falls out as an interpreted
Subtyping Recursive Types in Kernel Fun
 In IEEE Symposium on Logic in Computer Science (LICS
, 1999
"... The problem of defining and checking a subtype relation between recursive types was studied in [3] for a first order type system, but for second order systems, which combine subtyping and parametric polymorphism, only negative results are known [17]. ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
The problem of defining and checking a subtype relation between recursive types was studied in [3] for a first order type system, but for second order systems, which combine subtyping and parametric polymorphism, only negative results are known [17].