40,406 research outputs found
Delayed substitutions
This paper investigates an approach to substitution alternative to
the implicit treatment of the -calculus and the explicit
treatment of explicit substitution calculi. In this approach,
substitutions are delayed (but not executed) explicitly. We
implement this idea with two calculi, one where substitution is a
primitive construction of the calculus, the other where
substitutions is represented by a -redex. For both calculi,
confluence and (preservation of) strong normalisation are proved
(the latter fails for a related system due to Revesz, as we show).
Applications of delayed substitutions are of theoretical nature.
The strong normalisation result implies strong normalisation for
other calculi, like the computational lambda-calculus,
lambda-calculi with generalised applications, or calculi of
cut-elimination for sequent calculus. We give an investigation of
the computational interpretation of cut-elimination in terms of
generation, execution, and delaying of substitutions, paying
particular attention to how generalised applications improve such
interpretation
Lazy AC-Pattern Matching for Rewriting
We define a lazy pattern-matching mechanism modulo associativity and
commutativity. The solutions of a pattern-matching problem are stored in a lazy
list composed of a first substitution at the head and a non-evaluated object
that encodes the remaining computations. We integrate the lazy AC-matching in a
strategy language: rewriting rule and strategy application produce a lazy list
of terms.Comment: In Proceedings WRS 2011, arXiv:1204.531
Guarded Cubical Type Theory: Path Equality for Guarded Recursion
This paper improves the treatment of equality in guarded dependent type
theory (GDTT), by combining it with cubical type theory (CTT). GDTT is an
extensional type theory with guarded recursive types, which are useful for
building models of program logics, and for programming and reasoning with
coinductive types. We wish to implement GDTT with decidable type-checking,
while still supporting non-trivial equality proofs that reason about the
extensions of guarded recursive constructions. CTT is a variation of
Martin-L\"of type theory in which the identity type is replaced by abstract
paths between terms. CTT provides a computational interpretation of functional
extensionality, is conjectured to have decidable type checking, and has an
implemented type-checker. Our new type theory, called guarded cubical type
theory, provides a computational interpretation of extensionality for guarded
recursive types. This further expands the foundations of CTT as a basis for
formalisation in mathematics and computer science. We present examples to
demonstrate the expressivity of our type theory, all of which have been checked
using a prototype type-checker implementation, and present semantics in a
presheaf category.Comment: 17 pages, to be published in proceedings of CSL 201
Independence in CLP Languages
Studying independence of goals has proven very useful in the context of logic programming. In particular, it has provided a formal basis for powerful automatic parallelization tools, since independence ensures that two goals may be evaluated in parallel while preserving correctness and eciency. We extend the concept of independence to constraint logic programs (CLP) and
prove that it also ensures the correctness and eciency of the parallel evaluation of independent goals. Independence for CLP languages is more complex than for logic programming as search space preservation is necessary but no longer sucient for ensuring correctness and eciency. Two
additional issues arise. The rst is that the cost of constraint solving may depend upon the order constraints are encountered. The second is the need to handle dynamic scheduling. We clarify these issues by proposing various types of search independence and constraint solver independence, and show how they can be combined to allow dierent optimizations, from parallelism to intelligent
backtracking. Sucient conditions for independence which can be evaluated \a priori" at run-time are also proposed. Our study also yields new insights into independence in logic programming languages. In particular, we show that search space preservation is not only a sucient but also a necessary condition for ensuring correctness and eciency of parallel execution
Transforming floundering into success
We show how logic programs with "delays" can be transformed to programs
without delays in a way which preserves information concerning floundering
(also known as deadlock). This allows a declarative (model-theoretic),
bottom-up or goal independent approach to be used for analysis and debugging of
properties related to floundering. We rely on some previously introduced
restrictions on delay primitives and a key observation which allows properties
such as groundness to be analysed by approximating the (ground) success set.
This paper is to appear in Theory and Practice of Logic Programming (TPLP).
Keywords: Floundering, delays, coroutining, program analysis, abstract
interpretation, program transformation, declarative debuggingComment: Number of pages: 24 Number of figures: 9 Number of tables: non
Recommended from our members
Refresh my memory: Episodic memory reinstatements intrude on working memory maintenance
A fundamental question in memory research is how different forms of memory interact. Previous research has shown that people rely on working memory (WM) in short-term recognition tasks; a common view is that episodic memory (EM) only influences performance on these tasks when WM maintenance is disrupted. However, retrieval of memories from EM has been widely observed during brief periods of quiescence, raising the possibility that EM retrievals during maintenance-critically, before a response can be prepared-might affect short-term recognition memory performance even in the absence of distraction. We hypothesized that this influence would be mediated by the lingering presence of reactivated EM content in WM. We obtained support for this hypothesis in three experiments, showing that delay-period EM reactivation introduces incidentally-associated information ( context ) into WM, and that these retrieved associations negatively impact subsequent recognition, leading to substitution errors (Experiment 1) and slowing of accurate responses (Experiment 2). fMRI pattern analysis showed that slowing is mediated by the content of EM reinstatement (Experiment 3). These results expose a previously hidden influence of EM on WM, raising new questions about the adaptive nature of their interaction
A declarative characterization of different types of multicomponent tree adjoining grammars
Multicomponent Tree Adjoining Grammars (MCTAGs) are a formalism that has been shown to be useful for many natural language applications. The definition of non-local MCTAG however is problematic since it refers to the process of the derivation itself: a simultaneity constraint must be respected concerning the way the members of the elementary tree sets are added. Looking only at the result of a derivation (i.e., the derived tree and the derivation tree), this simultaneity is no longer visible and therefore cannot be checked. I.e., this way of characterizing MCTAG does not allow to abstract away from the concrete order of derivation. In this paper, we propose an alternative definition of MCTAG that characterizes the trees in the tree language of an MCTAG via the properties of the derivation trees (in the underlying TAG) the MCTAG licences. We provide similar characterizations for various types of MCTAG. These characterizations give a better understanding of the formalisms, they allow a more systematic comparison of different types of MCTAG, and, furthermore, they can be exploited for parsing
Image processing using miniKanren
An integral image is one of the most efficient optimization technique for
image processing. However an integral image is only a special case of delayed
stream or memoization. This research discusses generalizing concept of integral
image optimization technique, and how to generate an integral image optimized
program code automatically from abstracted image processing algorithm. In oder
to abstruct algorithms, we forces to miniKanren
Supporting process reuse in PROMENADE
Process reuse (the ability to construct new processes by assembling already built ones) and process harvesting (the ability to build generic processes
that may be further reused, from existing ones) are two crucial issues in
process technology. Both activities involve defining a set of mechanisms,
like abstraction, adaptation, composition, etc. which are appropriate to
achieve their goals. In this report, we define a general framework to
process reuse and harvesting that proposes a complete set of mechanisms to
deal with both activities. This general framework is particularized to the
context of a process modelling language to model software processes, called
PROMENADE. A definition of the identified reuse and harvesting mecha-nisms
is proposed in the context of PROMENADE. Finally, two process reuse case
studies which composes various reuse mechanisms are presented.Postprint (published version
- âŠ