## Adequacy for Algebraic Effects (2001)

### Cached

### Download Links

- [www.dcs.ed.ac.uk]
- [homepages.inf.ed.ac.uk]
- [www.dcs.ed.ac.uk]
- [www.dcs.ed.ac.uk]
- [homepages.inf.ed.ac.uk]
- [www.dcs.ed.ac.uk]
- [www.dcs.ed.ac.uk]
- DBLP

### Other Repositories/Bibliography

Venue: | in Proc. FOSSACS 2001 (eds. F. Honsell and M. Miculan), LNCS |

Citations: | 30 - 16 self |

### BibTeX

@INPROCEEDINGS{Plotkin01adequacyfor,

author = {Gordon Plotkin and John Power},

title = {Adequacy for Algebraic Effects},

booktitle = {in Proc. FOSSACS 2001 (eds. F. Honsell and M. Miculan), LNCS},

year = {2001},

pages = {1--24},

publisher = {SpringerVerlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

. Moggi proposed a monadic account of computational e#ects. He also presented the computational #-calculus, #c , a core call-by-value functional programming language for e#ects; the e#ects are obtained by adding appropriate operations. The question arises as to whether one can give a corresponding treatment of operational semantics. We do this in the case of algebraic e#ects where the operations are given by a single-sorted algebraic signature, and their semantics is supported by the monad, in a certain sense. We consider call-by-value PCF with--- and without---recursion, an extension of #c with arithmetic. We prove general adequacy theorems, and illustrate these with two examples: nondeterminism and probabilistic nondeterminism. 1 Introduction Moggi introduced the idea of a general account of computational e#ects, proposing encapsulating them via monads T : C # C; the main idea is that T (x) is the type of computations of elements of x. He also presented the computational #-calcul...

### Citations

1361 | An axiomatic basis for computer programming
- Hoare
- 1969
(Show Context)
Citation Context ...w that Moggi’s computational λ-calculus, and, via definable modalities, Hennessy-Milner logic and evaluation logic are all embraced by our logic; we also observe the problems in embracing Hoare logic =-=[8]-=-. In Section 5, we briefly study the introduction of recursion and its logic and semantics. Finally, Section 6 discusses some open problems.2 The a-calculus The a-calculus consists of three parts: on... |

1205 |
The temporal logic of programs
- Pnueli
- 1977
(Show Context)
Citation Context ...st-order sequent calculus with a principle of induction over computations and predicate fixed points. The terms of this logic are value and computation terms, so according to Pnuelli’s classification =-=[25]-=-, our logic is an exogenous logic, as computation terms are parts of propositions, rather than an endogenous logic, where all propositions concern a single computation. 3.1 Syntax First-order value th... |

733 | Notions of Computation and Monads
- Moggi
- 1991
(Show Context)
Citation Context ...operations, specified by a signature Σ. Moggi introduced the consideration of these operations in the context of his metalanguage ML(Σ) whose purpose is to give the semantics of programming language=-=s [21, 22]-=-, but which is not itself thought of as a programming language. In our view any complete account of computation should incorporate a treatment of operational semantics; this has been lacking for the m... |

708 | Separation logic: A logic for shared mutable data structures
- Reynolds
- 2002
(Show Context)
Citation Context ...yet looking for a logic over a general category, one could still ask for logics over categories of presheaves and sheaves, for the consideration of new names or variables [4, 20], or separation logic =-=[28]-=-, with its additional logical connectives. Acknowledgments The authors would like to thank Andrej Bauer, Paul Levy, John Power, Mojca Pretnar, and Alex Simpson for their insightful comments and suppor... |

493 | Algebraic laws for nondeterminism and concurrency
- Hennessy, Milner
- 1985
(Show Context)
Citation Context ...poses a logic for algebraic effects [22], and aims to show that it provides a rich framework, which embraces both approaches that have developed around specific effects, such as Hennessy-Milner logic =-=[7]-=- for concurrency, and more abstract approaches originating from the representation of computational effects with monads, such as Pitts’ evaluation logic [17, 15, 16]. (We define an embrace to be a tra... |

456 | Domain Theory
- Abramsky, Jung
- 1994
(Show Context)
Citation Context ...consider two monads, for nondeterminism and probabilistic non-determinism. Nondeterminism The original powerdomain construction was not defined for all dcppos; the free continuous algebra approach of =-=[12, 1]-=- gave a usable definition for all dcppos. For dcpos we take T (P ) to be the free dcppo over P which is also a continuous semilattice. This can be usefully analysed further. Let S(P ) be the free cont... |

441 | Computational lambda-calculus and monads
- MOGGI
- 1989
(Show Context)
Citation Context ... C → C; the main idea is that T (x) is the type of computations of elements of x. He also presented the computational λ-calculus λc as a core call-by-value functional programming language for effe=-=cts [20]. -=-The effects themselves are obtained by adding appropriate operations, specified by a signature Σ. Moggi introduced the consideration of these operations in the context of his metalanguage ML(Σ) whos... |

377 | Basic concepts of enriched category theory, volume 64
- Kelly
- 1982
(Show Context)
Citation Context ...e also consider an intermediate “medium step” semantics which is big step as regards effect-free computation and small step as regards effects. For the semantics we assume a suitable order-enrichm=-=ent [16]-=- in order to give a least fixed-point semantics to recursion. This then yields an adequacy theorem, which is the main result of the paper. One wonders if a more general treatment of recursion is possi... |

268 | The essence of compiling with continuations
- Flanagan, Sabry, et al.
- 1993
(Show Context)
Citation Context ..., 23] to get a uniform theory of effects that accounted for their source: we call such effects algebraic. All of the effects mentioned above are algebraic, with the notable exception of continuations =-=[3]-=-, which have to be treated differently [9]. ∗ Supported by EPSRC grant GR/586371/01 and a Royal SocietyWolfson Award Fellowship. † Supported by EPSRC grant GR/586371/01. In the algebraic approach, the... |

239 |
The Formal Semantics of Programming Languages
- Winskel
- 1993
(Show Context)
Citation Context ...l general adequacy theorem can be proved. So we consider a call-by-value PCF with algebraic effects, an extension of the computational λ-calculus with operations, arithmetic and recursion (see, e.g.,=-= [32, 30]-=- for versions of call-byvalue PCF). We begin by treating the sublanguage without recursion. Section 2 presents both small step and big step operational semantics and also an associated evaluation func... |

212 | A Powerdomain Construction
- Plotkin
- 1976
(Show Context)
Citation Context ...-theoretic representation of powerdomains, and there is some work to be done in extending the theory of bifinite domains to predomains (a dcpo P should be bifinite if, and only if, P⊥ is); see, e.g.=-=, [1, 23, 24] for detai-=-ls on powerdomains. However part of the conjectured theorem is simple to state, that at any type σ, if M : σ then ⊥∈ [[M]](∗) if, and only if, M ↓n. As well as the above convex powerdomain, ... |

207 | A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13
- GABBAY, PITTS
- 2002
(Show Context)
Citation Context ...d Set and ω-Cpo, and without yet looking for a logic over a general category, one could still ask for logics over categories of presheaves and sheaves, for the consideration of new names or variables =-=[4, 20]-=-, or separation logic [28], with its additional logical connectives. Acknowledgments The authors would like to thank Andrej Bauer, Paul Levy, John Power, Mojca Pretnar, and Alex Simpson for their insi... |

165 |
An Abstract View of Programming Languages
- Moggi
- 1989
(Show Context)
Citation Context ...operations, specified by a signature Σ. Moggi introduced the consideration of these operations in the context of his metalanguage ML(Σ) whose purpose is to give the semantics of programming language=-=s [21, 22]-=-, but which is not itself thought of as a programming language. In our view any complete account of computation should incorporate a treatment of operational semantics; this has been lacking for the m... |

138 | Handbook of Categorical Algebra - Borceux - 1994 |

136 |
Probabilistic Non-determinism
- Jones
- 1990
(Show Context)
Citation Context ...lub the evaluation of the term; one can accomplish this by adding the axiom M ⇒ Ω and the rule Rec (f : σ → τ, x : σ.M) ⇒ λx : σ.M[Rec (f : σ → τ, x : σ.M)/f] to the other rules; thi=-=s idea appears in [13]. We d-=-o not enter further into these issues here.sAs before there is a natural equational theory. The axioms are as before (but for the extended language) together with Rec (f : σ → τ, x : σ.M) = λx :... |

134 | G.: Towards a mathematical operational semantics - Turi, Plotkin - 1997 |

125 |
A probabilistic powerdomain of evaluations
- Jones, Plotkin
- 1989
(Show Context)
Citation Context ...r (Smyth) and lower (Hoare) powerdomains. Probabilistic Nondeterminism We take T to be V, where V(P ) is the dcpo of all evaluations on P . This functor and its strong monad structure is discussed in =-=[14]-=-, and see, e.g., [15]; we just note that ηP (x) is the singleton evaluation. The semantics of probabilistic choice + is again an affine combination, this time of evaluations ν +X ν ′ = 1/2ν + 1/2ν ′ V... |

90 | Full abstraction for a simple parallel programming language
- HENNESSY, PLOTKIN
- 1979
(Show Context)
Citation Context ...tions; it is in thatssense that they are purely formal. One might instead have introduced equations corresponding to the intended effects, e.g., semilattice equations for finite nondeterminism, as in =-=[12]-=- and then worked with operational semantics up to provable equality. The small step semantics proceeds by means of two kinds of transitions between closed terms, an unlabelled one and a labelled one M... |

88 | The HOL logic
- Pitts
- 1993
(Show Context)
Citation Context ...ific effects, such as Hennessy-Milner logic [7] for concurrency, and more abstract approaches originating from the representation of computational effects with monads, such as Pitts’ evaluation logic =-=[17, 15, 16]-=-. (We define an embrace to be a translation, which preserves provable judgements. If the translation also reflects provable judgements, we call it a strong embrace.) Section 2 introduces the a-calculu... |

55 | Notions of computation determine monads
- Plotkin, Power
- 2002
(Show Context)
Citation Context ...n two elements of any given type. The equations for the operations, for example saying that or is a semi-lattice operation, generate a free algebra monad, which is exactly the monad proposed by Moggi =-=[20]-=- to model the corresponding effect. This article proposes a logic for algebraic effects [22], and aims to show that it provides a rich framework, which embraces both approaches that have developed aro... |

48 |
A type-theoretical alternative to ISWIM
- Scott
- 1993
(Show Context)
Citation Context ...ment already failed [23] to give a natural operational semantics for state. Such a treatment could fit well with Pitts’ ‘ad hoc’ approach to state [17]. 5 Recursion We sketch a version of Scott’s LCF =-=[30, 6]-=-, adapted to algebraic computational effects, but make no claim of definitiveness. The logic is an extension of our logic for algebraic effects over Set, based instead on the category ω-Cpo of ω-cpos ... |

40 | The troublesome probabilistic powerdomain
- Jung, Tix
- 1998
(Show Context)
Citation Context ...Hoare) powerdomains.sProbabilistic Nondeterminism We take T to be V, where V(P ) is the dcpo of all evaluations on P ; this functor and its strong monad structure is discussed in [14], and see, e.g., =-=[15]; we just-=- note that ηP (x) is the singleton evaluation. The semantics of probabilistic choice + is again a linear combination, this time of evaluations ν +X ν ′ = 1/2ν + 1/2ν ′ V(P ) is a dcppo which ... |

33 | Power.Algebraic Operations and Generic Effects
- Plotkin, John
- 2003
(Show Context)
Citation Context ... the idea that computations for an element of (say) a set A are modelled by elements of T A, where T is the monad. Plotkin and Power then proposed representing the effects by operations and equations =-=[19, 21, 23]-=- to get a uniform theory of effects that accounted for their source: we call such effects algebraic. All of the effects mentioned above are algebraic, with the notable exception of continuations [3], ... |

32 |
Algebraic Semantics
- Guessarian
- 1981
(Show Context)
Citation Context ...tial as both ordinary and probabilistic powerdomains are considered.sOur treatment of operational semantics might well be seen as rather formal (cf. the formal results for recursion schemes in, e.g., =-=[8]-=-) and does not immediately specialise to the usual accounts for the examples at hand. In a way this has to be so: it is hard to imagine a theory which yields the natural operational semantics for any ... |

32 | A fully abstract game semantics for finite nondeterminism
- Harmer, Mccusker
- 1999
(Show Context)
Citation Context ...types (actually at all types), it follows that no |M | (n) is total and hence that M �↓n. Essentially this result is in [29] and a stronger one for both call-by-name and call-by-value is in [10]; =-=see [3, 11, 9]-=- for work on call-by-name and nondeterminism. One can presumably also prove an adequacy theorem at other types, but the statement is more complex due to need for closure operators in the set-theoretic... |

30 | R.: Probabilistic Games Semantics
- Danos, Harmer
- 2000
(Show Context)
Citation Context ...theorem for FPC with probabilistic choice was already proved in [13] (FPC can be viewed as an extension of our PCF with recursive types); for work on call-by-name and probabilistic nondeterminism see =-=[6]-=-. 7 Conclusions It is interesting to work out other examples. Printing provides one example, where one has a unary operation print a for each symbol a of an alphabet A, and for Set one can take the (n... |

26 | Computational effects and operations: an overview
- Plotkin, Power
- 2004
(Show Context)
Citation Context ... the idea that computations for an element of (say) a set A are modelled by elements of T A, where T is the monad. Plotkin and Power then proposed representing the effects by operations and equations =-=[19, 21, 23]-=- to get a uniform theory of effects that accounted for their source: we call such effects algebraic. All of the effects mentioned above are algebraic, with the notable exception of continuations [3], ... |

25 | Nondeterminism and probabilistic choice: obeying the laws
- Mislove
(Show Context)
Citation Context ...istributive law λ : Dω(F + (X)) → F + (Dω(X))which makes this a monad; this way to combine the two forms of nondeterminism is used in a domain-theoretic context in [4]—modulo actions—and ment=-=ioned in [19]-=- where an interesting idea of restricting to affine sets of evaluations is advocated. In so far as we are successful with such examples, the question of how to treat other monads and their operations ... |

20 |
Exceptional syntax
- Benton, Kennedy
(Show Context)
Citation Context ...s τ are interpreted by models [τ ] of the theory L. The value types are interpreted by [Uτ ] = U [τ ] and in the obvious way in other cases, while computation types are interpreted by [F σ ] = F [σ ] =-=[1]-=- = 1 [τ 1 × τ 2 ] = [τ 1 ] × [τ 2 ] [σ → τ ] = [τ ] [σ ] , where the model structure is defined component-wise for M1 × M2 and point-wise for M A . The context x1 : σ1, . . . , xn : σn is interpreted ... |

19 | A semantics for evaluation logic
- Moggi
- 1995
(Show Context)
Citation Context ...ific effects, such as Hennessy-Milner logic [7] for concurrency, and more abstract approaches originating from the representation of computational effects with monads, such as Pitts’ evaluation logic =-=[17, 15, 16]-=-. (We define an embrace to be a translation, which preserves provable judgements. If the translation also reflects provable judgements, we call it a strong embrace.) Section 2 introduces the a-calculu... |

18 |
A mathematical semantics for a nondeterministic typed λcalculus. Theoret
- Hennessy, Ashcroft
- 1980
(Show Context)
Citation Context ...types (actually at all types), it follows that no |M | (n) is total and hence that M �↓n. Essentially this result is in [29] and a stronger one for both call-by-name and call-by-value is in [10]; =-=see [3, 11, 9]-=- for work on call-by-name and nondeterminism. One can presumably also prove an adequacy theorem at other types, but the statement is more complex due to need for closure operators in the set-theoretic... |

16 |
The Semantics of Call-by-value and Call-byname in a nondeterministic Environment
- Hennessy
- 1980
(Show Context)
Citation Context ...at ground types (actually at all types), it follows that no |M | (n) is total and hence that M �↓n. Essentially this result is in [29] and a stronger one for both call-by-name and call-by-value is=-= in [10]-=-; see [3, 11, 9] for work on call-by-name and nondeterminism. One can presumably also prove an adequacy theorem at other types, but the statement is more complex due to need for closure operators in t... |

15 |
A representable approach to finite nondeterminism
- Anderson, Power
- 1997
(Show Context)
Citation Context ...ms of a suitable class of categorical structures appropriately extending the usual monadic view of the computational λ-calculus; this could as well have been based on closed Freyd categories [28] and=-= [2]-=- is a treatment of nondeterminism along such lines. Section 4 considers two examples: nondeterminism and probabilistic nondeterminism. We consider the full language with recursion in Section 5. Small ... |

15 | Call-by-push-value: A subsuming paradigm
- Levy
- 1999
(Show Context)
Citation Context ...ge variations, such as an extension with recursive types or call-by-name; for the latter it would be preferable to use a framework incorporating both parameter-calling mechanisms, such as Lévy’s CB=-=PV [18]-=-. More intriguingly, one would wish to reconcile this work with the co-algebraic treatment of operational semantics in [31] with its use of behaviour functors and co-monads contrasting with our use of... |

12 | Monad-independent dynamic logic in HasCasl, J. Logic Comput., to appear. Earlier version
- Schröder, Mossakowski
- 2003
(Show Context)
Citation Context ...braic effects, but much clearly remains to be done. To mention one example, we expect to get an embrace of global evaluation logic [5], while we have not yet investigated the embrace of dynamic logic =-=[29]-=-. The question of how to account for computation deconstructors, such as exception handlers [1, 13, 21] also remains open, hence so does the question of what their logic may be. Beyond Set and ω-Cpo, ... |

10 | Discrete lawvere theories and computational effects
- Hyland, Power
- 2006
(Show Context)
Citation Context ...all base types occurring in arities by countable sets. Then the effect theory gives rise to a countable discrete Lawvere ω-cpo theory L and an adjunction F ⊣ U : ModL(ω-Cpo) → ω-Cpo in a standard way =-=[11]-=-. 6 Future work We have presented some evidence of the expressiveness and strength of our logic of algebraic effects, but much clearly remains to be done. To mention one example, we expect to get an e... |

9 | Modularity and Dyads - Power, Robinson - 1999 |

9 | Computational adequacy in an elementary topos
- Simpson
- 1999
(Show Context)
Citation Context ...l general adequacy theorem can be proved. So we consider a call-by-value PCF with algebraic effects, an extension of the computational λ-calculus with operations, arithmetic and recursion (see, e.g.,=-= [32, 30]-=- for versions of call-byvalue PCF). We begin by treating the sublanguage without recursion. Section 2 presents both small step and big step operational semantics and also an associated evaluation func... |

8 |
A Syntactic Approach to Modularity
- Cenciarelli, Moggi
- 1993
(Show Context)
Citation Context ...ther monads and their operations is the more pressing; exceptions, state and continuations all come immediately to mind. Possibly relevant here is the translational approach to defining operations in =-=[5],-=- but adapted to λc rather than the metalanguage; the idea would be to recover operational semantics via the translations. Ultimately, we would hope to incorporate the treatment ofsoperational semanti... |

8 |
Call-by-value and non-determinism
- Sieber
- 1993
(Show Context)
Citation Context ... x =⊥. Then ⊥ is in every [[|M | (n) ]](∗). Since no [[V ]](∗) is {⊥} at ground types (actually at all types), it follows that no |M | (n) is total and hence that M �↓n. Essentially this=-= result is in [29]-=- and a stronger one for both call-by-name and call-by-value is in [10]; see [3, 11, 9] for work on call-by-name and nondeterminism. One can presumably also prove an adequacy theorem at other types, bu... |

8 | Combining algebraic effects with continuations
- Hyland, Levy, et al.
(Show Context)
Citation Context ...hat accounted for their source: we call such effects algebraic. All of the effects mentioned above are algebraic, with the notable exception of continuations [3], which have to be treated differently =-=[9]-=-. ∗ Supported by EPSRC grant GR/586371/01 and a Royal SocietyWolfson Award Fellowship. † Supported by EPSRC grant GR/586371/01. In the algebraic approach, the arguments of an operation represent possi... |

8 | Call-by-push-value: Decomposing call-by-value and call-by-name
- Levy
(Show Context)
Citation Context ...s, thereby canonising the order of evaluation. In Section 3 it is extended to a classical first-order multi-sorted logic with higher-order value and computation types, as in Levy’s call-by-push-value =-=[12]-=-, a principle of induction over computations, a free algebra principle, and predicate fixed points. Next, in Section 4, we show that Moggi’s computational λ-calculus, and, via definable modalities, He... |

7 | Monads and adjunctions for global exceptions
- Levy
- 2006
(Show Context)
Citation Context ...embrace of global evaluation logic [5], while we have not yet investigated the embrace of dynamic logic [29]. The question of how to account for computation deconstructors, such as exception handlers =-=[1, 13, 21]-=- also remains open, hence so does the question of what their logic may be. Beyond Set and ω-Cpo, and without yet looking for a logic over a general category, one could still ask for logics over catego... |

7 |
From comodels to coalgebras: State and arrays
- Power, Shkaravska
(Show Context)
Citation Context ...let xn be !ln in let z be t in let y1 be !l1 in . . . let yn be !ln in return〈⃗x, ⃗y〉](ϕ(⃗x) ⇒ ϕ ′ (⃗x, ⃗y)) . However, this does not seem natural to us. The answer may lie in a coalgebraic treatment =-=[27, 24]-=- of state, as an algebraic treatment already failed [23] to give a natural operational semantics for state. Such a treatment could fit well with Pitts’ ‘ad hoc’ approach to state [17]. 5 Recursion We ... |

5 |
Some varieties of equational logic
- Plotkin
- 2006
(Show Context)
Citation Context ...were to describe a memory holding an infinite set of data by routinely generalising the operations to infinitary ones, we would be left with an infinitary syntax [19]. We take an alternative approach =-=[18]-=-, and allow each argument of an operation to be dependent on values of base types, for example lookupl((d : dat).updatel ′,d(ξ)) is an effect term for a computation that copies the datum d from l to l... |

4 | A Modular Approach to Denotational Semantics - Power, Rosolini - 1998 |

4 | Tensors of comodels and models for operational semantics
- Plotkin, Power
(Show Context)
Citation Context ...let xn be !ln in let z be t in let y1 be !l1 in . . . let yn be !ln in return〈⃗x, ⃗y〉](ϕ(⃗x) ⇒ ϕ ′ (⃗x, ⃗y)) . However, this does not seem natural to us. The answer may lie in a coalgebraic treatment =-=[27, 24]-=- of state, as an algebraic treatment already failed [23] to give a natural operational semantics for state. Such a treatment could fit well with Pitts’ ‘ad hoc’ approach to state [17]. 5 Recursion We ... |

3 |
Algebraic automata and context free sets
- Mezei, Wright
- 1967
(Show Context)
Citation Context ...erminate. Theorem 2. Adequacy Suppose that M : σ. Then [[M ] = [[|M |]] Proof. This is an immediate consequence of Proposition 2 and Lemma 2 This result is very much in the spirit of Mezei and Wright =-=[19]-=-, and Theorem 4.26 of [8] is a similar result for recursive program schemes. Such results say that the denotational semantics of a program is that of the result of a preliminary symbolic computation. ... |

2 |
Nondeterminism and Fully Abstract Models, in Informatique Théorique et
- Astesiano, Costa
- 1980
(Show Context)
Citation Context ...types (actually at all types), it follows that no |M | (n) is total and hence that M �↓n. Essentially this result is in [29] and a stronger one for both call-by-name and call-by-value is in [10]; =-=see [3, 11, 9]-=- for work on call-by-name and nondeterminism. One can presumably also prove an adequacy theorem at other types, but the statement is more complex due to need for closure operators in the set-theoretic... |

2 |
Domain Equations for
- Baier, Kwiatkowska
- 2000
(Show Context)
Citation Context ...y nondeterminism; there is natural distributive law λ : Dω(F + (X)) → F + (Dω(X))which makes this a monad; this way to combine the two forms of nondeterminism is used in a domain-theoretic contex=-=t in [4]—m-=-odulo actions—and mentioned in [19] where an interesting idea of restricting to affine sets of evaluations is advocated. In so far as we are successful with such examples, the question of how to tre... |