## Completeness of global evaluation logic (2006)

Venue: | IN MFCS 06, LNCS 4162 |

Citations: | 2 - 1 self |

### BibTeX

@INPROCEEDINGS{Goncharov06completenessof,

author = {Sergey Goncharov and Lutz Schröder and Till Mossakowski},

title = {Completeness of global evaluation logic},

booktitle = {IN MFCS 06, LNCS 4162},

year = {2006},

pages = {447--458},

publisher = {Springer}

}

### OpenURL

### Abstract

Monads serve the abstract encapsulation of side effects in semantics and functional programming. Various monad-based specification languages have been introduced in order to express requirements on generic side-effecting programs. A basic role is played here by global evaluation logic, concerned with formulae which may be thought of as being universally quantified over the state space; this formalism is the fundament of more advanced logics such as monad-based Hoare logic or dynamic logic. We prove completeness of global evaluation logic for models in cartesian categories with a distinguished Heyting algebra object.

### Citations

945 |
Categories for the working mathematician
- Lane
- 1971
(Show Context)
Citation Context ...→ T B a morphismsf ∗ : T A → T B such that η ∗ A = idT A, f ∗ ηA = f, and g ∗ f ∗ = (g ∗ f) ∗ . This description is equivalent to the more familiar one via an endofunctor with unit and multiplication =-=[6]-=-. In order to support a language with finitary operations and multi-variable contexts (see below), one needs a further ingredient: a monad is called strong if it is equipped with a natural transformat... |

747 | Notions of computation and monads
- Moggi
- 1991
(Show Context)
Citation Context ...sis of the abstract treatment of side effects in modern functional programming languages and in associated specification languages. The computational significance of monads was first noticed by Moggi =-=[7]-=-. They were subsequently incorporated in the design of the functional programming language Haskell [11] as the principal means of dealing with impure features such as I/O, but also as a convenient mod... |

574 | Term Rewriting Systems
- Klop
- 1992
(Show Context)
Citation Context ...ere we count sequential dobindings do ¯x ← ¯p; q as one application (rather than n applications) of do. We define the strict well-founded ordering ≫ on multisets of integers as the multiset extension =-=[1, 5]-=- of the standard ordering > of the integers, generated by closure under multiset union and transitivity from the clauses {a} ≫ {b1, . . . , br} if a > bi for all i. Then we put ¯p ≻ ¯p ′ iff 〈µ(¯p), h... |

201 | Proving Termination with Multiset Orderings
- Dershowitz, Manna
- 1979
(Show Context)
Citation Context ...ere we count sequential dobindings do ¯x ← ¯p; q as one application (rather than n applications) of do. We define the strict well-founded ordering ≫ on multisets of integers as the multiset extension =-=[1, 5]-=- of the standard ordering > of the integers, generated by closure under multiset union and transitivity from the clauses {a} ≫ {b1, . . . , br} if a > bi for all i. Then we put ¯p ≻ ¯p ′ iff 〈µ(¯p), h... |

90 | Evaluation logic
- Pitts
- 1990
(Show Context)
Citation Context ...ted and equipped with a clearly delineated scope [9, 2]. The use of monads in programming has led to the design of various specification logics for monadic programs, including Pitts’ evaluation logic =-=[12]-=-, Moggi’s globalized version of evaluation logic [8], a monad-based Hoare logic [13], and a monad-based dynamic logic related to evaluation logic [14]. The basic tool in the semantics of the latter tw... |

59 | Monadic parsing in haskell
- Hutton, Meijer
- 1998
(Show Context)
Citation Context ...f the functional programming language Haskell [11] as the principal means of dealing with impure features such as I/O, but also as a convenient mode of expression for state threading, e.g. in parsing =-=[3]-=-. Monads are by now also well-established as a tool in semantics (cf. [15] for a recent example, and [4] for an application to the semantics of Java). The advantage of the abstraction of notions of si... |

28 | Monadic encapsulation of effects: a revised approach (extended version
- Moggi, Sabry
(Show Context)
Citation Context ...can be instantiated with many particular monads, thus promoting the reuse of concepts and indeed programs. Secondly, side effects are cleanly encapsulated and equipped with a clearly delineated scope =-=[9, 2]-=-. The use of monads in programming has led to the design of various specification logics for monadic programs, including Pitts’ evaluation logic [12], Moggi’s globalized version of evaluation logic [8... |

26 | On a monadic semantics for freshness - Shinwell, Pitts |

19 | A semantics for evaluation logic
- Moggi
- 1995
(Show Context)
Citation Context ...mulae of the form [x ← p] φ, which talk only about results of programs rather than equalities between programs; thus, global evaluation logic provides a black-box view of programs, while the logic of =-=[8]-=- provides a glass-box view. 7s8 3 A Proof Calculus for Global Evaluation Logic We now present a proof system for global evaluation logic over simple monads (finding a complete calculus for the general... |

17 | Monadic regions
- Fluet, Morrisett
- 2006
(Show Context)
Citation Context ...can be instantiated with many particular monads, thus promoting the reuse of concepts and indeed programs. Secondly, side effects are cleanly encapsulated and equipped with a clearly delineated scope =-=[9, 2]-=-. The use of monads in programming has led to the design of various specification logics for monadic programs, including Pitts’ evaluation logic [12], Moggi’s globalized version of evaluation logic [8... |

13 | Monad-independent dynamic logic in HasCasl
- Schroder, Mossakowski
(Show Context)
Citation Context ...nadic programs, including Pitts’ evaluation logic [12], Moggi’s globalized version of evaluation logic [8], a monad-based Hoare logic [13], and a monad-based dynamic logic related to evaluation logic =-=[14]-=-. The basic tool in the semantics of the latter two logics is global evaluation logic, concerned with statements of the nature ‘after execution of a given program from any initial state, it is the cas... |

10 | Monad-independent Hoare logic in HasCasl
- Schroder, Mossakowski
- 2003
(Show Context)
Citation Context ...mming has led to the design of various specification logics for monadic programs, including Pitts’ evaluation logic [12], Moggi’s globalized version of evaluation logic [8], a monad-based Hoare logic =-=[13]-=-, and a monad-based dynamic logic related to evaluation logic [14]. The basic tool in the semantics of the latter two logics is global evaluation logic, concerned with statements of the nature ‘after ... |

3 |
Coalgebras and Monads in the Semantics of Java. Theoret
- Jacobs, Poll
(Show Context)
Citation Context ...s such as I/O, but also as a convenient mode of expression for state threading, e.g. in parsing [3]. Monads are by now also well-established as a tool in semantics (cf. [15] for a recent example, and =-=[4]-=- for an application to the semantics of Java). The advantage of the abstraction of notions of side effect as monads is twofold: firstly, one obtains a generic framework that can be instantiated with m... |

1 |
Completeness of monad-based dynamic logic
- Mossakowski, Schröder, et al.
- 2006
(Show Context)
Citation Context .... This work forms part of an ongoing effort to establish completeness results for monad-based computational logics. A further result in this direction is the completeness of monad-based dynamic logic =-=[10]-=-. While no completeness result for the local semantics of evaluation logic is given in [12], Moggi does prove completeness for his global version of evaluation logic [8]. The crucial difference betwee... |

1 | x ← ¯p; v ← ret〈¯x, ξ〉; ¯z ← ¯r ′ ] η ′ ⊢⊣ [¯x ← ¯p; u ← ret〈¯x, ⊤〉; v ← ret〈fst(u), snd(u) ∧ ξ〉; ¯z ← ¯r ′ ] η ′ where ¯r ′ = ¯r[snd(v)/y, fst(v)/¯x], η ′ = η[snd(v)/y, fst(v)/¯x]. Since do ¯x ← ¯p; ret〈¯x, ξ ↔ χ〉 = do ¯x ← ¯p; ret〈¯x, ⊤〉, we can continu - unknown authors |