Results 11  20
of
287
A logic for algebraic effects
 IN 4TH FOSSACS
, 2001
"... We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to ..."
Abstract

Cited by 40 (14 self)
 Add to MetaCart
We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to obtain the logic, which is a classical firstorder multisorted logic with higherorder value and computation types, as in Levy’s callbypushvalue, a principle of induction over computations, a free algebra principle, and predicate fixed points. This logic embraces Moggi’s computational λcalculus, and also, via definable modalities, HennessyMilner logic, and evaluation logic, though Hoare logic presents difficulties.
Nominal logic programming
, 2006
"... Nominal logic is an extension of firstorder logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, αequivalence). This article investigates logic programming based on nominal logic. This technique is especial ..."
Abstract

Cited by 39 (9 self)
 Add to MetaCart
Nominal logic is an extension of firstorder logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, αequivalence). This article investigates logic programming based on nominal logic. This technique is especially wellsuited for prototyping type systems, proof theories, operational semantics rules, and other formal systems in which bound names are present. In many cases, nominal logic programs are essentially literal translations of “paper” specifications. As such, nominal logic programming provides an executable specification language for prototyping, communicating, and experimenting with formal systems. We describe some typical nominal logic programs, and develop the modeltheoretic, prooftheoretic, and operational semantics of such programs. Besides being of interest for ensuring the correct behavior of implementations, these results provide a rigorous foundation for techniques for analysis and reasoning about nominal logic programs, as we illustrate via two examples.
Nominal rewriting
 Information and Computation
"... Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting ma ..."
Abstract

Cited by 33 (14 self)
 Add to MetaCart
(Show Context)
Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting maintains a strict distinction between variables of the objectlanguage (atoms) and of the metalanguage (variables or unknowns). Atoms may be bound by a special abstraction operation, but variables cannot be bound, giving the framework a pronounced firstorder character, since substitution of terms for variables is not captureavoiding. We show how good properties of firstorder rewriting survive the extension, by giving an efficient rewriting algorithm, a critical pair lemma, and a confluence theorem
Practical programming with higherorder encodings and dependent types
 In Proceedings of the European Symposium on Programming (ESOP ’08
, 2008
"... Abstract. Higherorder abstract syntax (HOAS) refers to the technique of representing variables of an objectlanguage using variables of a metalanguage. The standard firstorder alternatives force the programmer to deal with superficial concerns such as substitutions, whose implementation is often ..."
Abstract

Cited by 33 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Higherorder abstract syntax (HOAS) refers to the technique of representing variables of an objectlanguage using variables of a metalanguage. The standard firstorder alternatives force the programmer to deal with superficial concerns such as substitutions, whose implementation is often routine, tedious, and errorprone. In this paper, we describe the underlying calculus of Delphin. Delphin is a fully implemented functionalprogramming language supporting reasoning over higherorder encodings and dependent types, while maintaining the benefits of HOAS. More specifically, just as representations utilizing HOAS free the programmer from concerns of handling explicit contexts and substitutions, our system permits programming over such encodings without making these constructs explicit, leading to concise and elegant programs. To this end our system distinguishes bindings of variables intended for instantiation from those that will remain uninstantiated, utilizing a variation of Miller and Tiu’s ∇quantifier [1]. 1
Automata with group actions
 In LICS
, 2011
"... Abstract—Our motivating question is a MyhillNerode theorem for infinite alphabets. We consider several kinds of those: alphabets whose letters can be compared only for equality, but also ones with more structure, such as a total order or a partial order. We develop a framework for studying such alp ..."
Abstract

Cited by 33 (8 self)
 Add to MetaCart
(Show Context)
Abstract—Our motivating question is a MyhillNerode theorem for infinite alphabets. We consider several kinds of those: alphabets whose letters can be compared only for equality, but also ones with more structure, such as a total order or a partial order. We develop a framework for studying such alphabets, where the key role is played by the automorphism group of the alphabet. This framework builds on the idea of nominal sets of Gabbay and Pitts; nominal sets are the special case of our framework where letters can be only compared for equality. We use the framework to uniformly generalize to infinite alphabets parts of automata theory, including decidability results. In the case of letters compared for equality, we obtain automata equivalent in expressive power to finite memory automata, as defined by Francez and Kaminski. I.
The Complexity of Equivariant Unification
 In Proceedings of the 31st International Colloquium on Automata, Languages and Programming (ICALP 2004), volume 3142 of LNCS
"... Nominal logic is a firstorder theory of names and binding based on a primitive operation of swapping rather than substitution. Urban, Pitts, and Gabbay have developed a nominal unification algorithm that unifies terms up to nominal equality. However, because of nominal logic's equivariance pri ..."
Abstract

Cited by 32 (7 self)
 Add to MetaCart
Nominal logic is a firstorder theory of names and binding based on a primitive operation of swapping rather than substitution. Urban, Pitts, and Gabbay have developed a nominal unification algorithm that unifies terms up to nominal equality. However, because of nominal logic's equivariance principle, atomic formulas can be provably equivalent without being provably equal as terms, so resolution using nominal unification is sound but incomplete. For complete resolution, a more general form of unification called equivariant unification, or "unification up to a permutation" is required. Similarly, for rewrite rules expressed in nominal logic, a more general form of matching called equivariant matching is necessary. In this paper, we study the complexity of the decision problem for equivariant unification and matching. We show that these problems are NPcomplete in general. However, when one of the terms is essentially firstorder, equivariant and nominal unification coincide. This shows that equivariant unification can be performed efficiently in many interesting common cases: for example, anypurely firstorder logic program or rewrite system can be run efficiently on nominal terms.
A Sequent Calculus for Nominal Logic
 IN PROC. LICS’04
, 2004
"... Nominal logic is a theory of names and binding based on the primitive concepts of freshness and swapping, with a selfdual N  (or "new")quantifier, originally presented as a Hilbertstyle axiom system extending firstorder logic. We present a sequent calculus for nominal logic called Fre ..."
Abstract

Cited by 32 (16 self)
 Add to MetaCart
Nominal logic is a theory of names and binding based on the primitive concepts of freshness and swapping, with a selfdual N  (or "new")quantifier, originally presented as a Hilbertstyle axiom system extending firstorder logic. We present a sequent calculus for nominal logic called Fresh Logic, or FL, admitting cutelimination. We use FL to provide a prooftheoretic foundation for nominal logic programming and show how to interpret $FOL^{\Delta abla}$, another logic with a selfdual quantifier, within FL.
On a monadic semantics for freshness
 THEORETICAL COMPUTER SCIENCE
, 2005
"... A standard monad of continuations, when constructed with domains in the world of FMsets [4], is shown to provide a model of dynamic allocation of fresh names that is both simple and useful. In particular, it is used to prove that the powerful facilities for manipulating fresh names and binding oper ..."
Abstract

Cited by 30 (7 self)
 Add to MetaCart
A standard monad of continuations, when constructed with domains in the world of FMsets [4], is shown to provide a model of dynamic allocation of fresh names that is both simple and useful. In particular, it is used to prove that the powerful facilities for manipulating fresh names and binding operations provided by the “Fresh ” series of metalanguages [15,17,18] respect αequivalence of objectlevel languages up to metalevel contextual equivalence.
A Simpler Proof Theory for Nominal Logic
 In FOSSACS 2005, number 3441 in LNCS
, 2005
"... Nominal logic is a variant of firstorder logic which provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the newquantifier, which quantifies over fresh names (names not appearing in any values considered so far). Previous attempts have been made ..."
Abstract

Cited by 29 (11 self)
 Add to MetaCart
(Show Context)
Nominal logic is a variant of firstorder logic which provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the newquantifier, which quantifies over fresh names (names not appearing in any values considered so far). Previous attempts have been made to develop convenient rules for reasoning with the newquantifier, but we argue that none of these attempts is completely satisfactory. In this paper we develop a new sequent calculus for nominal logic in which the rules for the newquantifier are much simpler than in previous attempts. We also prove several structural and metatheoretic properties, including cutelimination, consistency, and conservativity with respect to Pitts' axiomatization of nominal logic; these proofs are considerably simpler for our system. 1
Domain theory for concurrency
, 2003
"... Concurrent computation can be given an abstract mathematical treatment very similar to that provided for sequential computation by domain theory and denotational semantics of Scott and Strachey. ..."
Abstract

Cited by 29 (6 self)
 Add to MetaCart
(Show Context)
Concurrent computation can be given an abstract mathematical treatment very similar to that provided for sequential computation by domain theory and denotational semantics of Scott and Strachey.