206 research outputs found
On the confluence of lambda-calculus with conditional rewriting
The confluence of untyped \lambda-calculus with unconditional rewriting is
now well un- derstood. In this paper, we investigate the confluence of
\lambda-calculus with conditional rewriting and provide general results in two
directions. First, when conditional rules are algebraic. This extends results
of M\"uller and Dougherty for unconditional rewriting. Two cases are
considered, whether \beta-reduction is allowed or not in the evaluation of
conditions. Moreover, Dougherty's result is improved from the assumption of
strongly normalizing \beta-reduction to weakly normalizing \beta-reduction. We
also provide examples showing that outside these conditions, modularity of
confluence is difficult to achieve. Second, we go beyond the algebraic
framework and get new confluence results using a restricted notion of
orthogonality that takes advantage of the conditional part of rewrite rules
The exp-log normal form of types
Lambda calculi with algebraic data types lie at the core of functional
programming languages and proof assistants, but conceal at least two
fundamental theoretical problems already in the presence of the simplest
non-trivial data type, the sum type. First, we do not know of an explicit and
implemented algorithm for deciding the beta-eta-equality of terms---and this in
spite of the first decidability results proven two decades ago. Second, it is
not clear how to decide when two types are essentially the same, i.e.
isomorphic, in spite of the meta-theoretic results on decidability of the
isomorphism.
In this paper, we present the exp-log normal form of types---derived from the
representation of exponential polynomials via the unary exponential and
logarithmic functions---that any type built from arrows, products, and sums,
can be isomorphically mapped to. The type normal form can be used as a simple
heuristic for deciding type isomorphism, thanks to the fact that it is a
systematic application of the high-school identities.
We then show that the type normal form allows to reduce the standard beta-eta
equational theory of the lambda calculus to a specialized version of itself,
while preserving the completeness of equality on terms. We end by describing an
alternative representation of normal terms of the lambda calculus with sums,
together with a Coq-implemented converter into/from our new term calculus. The
difference with the only other previously implemented heuristic for deciding
interesting instances of eta-equality by Balat, Di Cosmo, and Fiore, is that we
exploit the type information of terms substantially and this often allows us to
obtain a canonical representation of terms without performing sophisticated
term analyses
Termination of rewrite relations on -terms based on Girard's notion of reducibility
In this paper, we show how to extend the notion of reducibility introduced by
Girard for proving the termination of -reduction in the polymorphic
-calculus, to prove the termination of various kinds of rewrite
relations on -terms, including rewriting modulo some equational theory
and rewriting with matching modulo , by using the notion of
computability closure. This provides a powerful termination criterion for
various higher-order rewriting frameworks, including Klop's Combinatory
Reductions Systems with simple types and Nipkow's Higher-order Rewrite Systems
Unique normal forms for lambda calculus with surjective pairing
AbstractWe consider the equational theory λπ of λ-calculus extended with constants π, π0, π1 and axioms for surjective pairing: π0(πXY) = X, π1(πXY) = Y, π(π0X)(π1X) = X. Two reduction systems yielding the equality of λπ are introduced; the first is not confluent and, for the second, confluence is an open problem. It is shown, however, that in both systems each term possessing a normal form has a unique normal form. Some additional properties and problems in the syntactical analysis of λπ and the corresponding reduction systems are discussed
A Categorical Critical-pair Completion Algorithm
AbstractWe introduce a general critical-pair/completion algorithm, formulated in the language of category theory. It encompasses the Knuth–Bendix procedure for term rewriting systems (also modulo equivalence relations), the Gröbner basis algorithm for polynomial ideal theory, and the resolution procedure for automated theorem proving. We show how these three procedures fit in the general algorithm, and how our approach relates to other categorical modeling approaches to these algorithms, especially term rewriting
Generic bidirectional typing for dependent type theories
Bidirectional typing is a discipline in which the typing judgment is
decomposed explicitly into inference and checking modes, allowing to control
the flow of type information in typing rules and to specify algorithmically how
they should be used. Bidirectional typing has been fruitfully studied and
bidirectional systems have been developed for many type theories. However, the
formal development of bidirectional typing has until now been kept confined to
specific theories, with general guidelines remaining informal. In this work, we
give a generic account of bidirectional typing for a general class of dependent
type theories. This is done by first giving a general definition of type
theories (or equivalently, a logical framework), for which we define
declarative and bidirectional type systems. We then show, in a
theory-independent fashion, that the two systems are equivalent. This
equivalence is then explored to establish the decidability of typing for weak
normalizing theories, yielding a generic type-checking algorithm that has been
implemented in a prototype and used in practice with many theories
- …