Abstract
Monads have been recognized by Moggi as an elegant device for dealing with stateful computation in functional programming languages. In previous work, we have introduced a Hoare calculus for partial correctness of monadic programs. All this has been done in an entirely monad-independent way. Here, we extend this to a monad-independent dynamic logic (assuming a moderate amount of additional infrastructure for the monad). Dynamic logic is more expressive than the Hoare calculus; in particular, it allows reasoning about termination and total correctness. As the background formalism for these concepts, we use the logic of HasCasl, a higher-order language for functional specification and programming.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Astesiano, E., Bidoit, M., Kirchner, H., Krieg-Brückner, B., Mosses, P.D., Sannella, D., Tarlecki, A.: Casl: the Common Algebraic Specification Language. Theoret. Comput. Sci. 286, 153–196 (2002)
CoFI. The Common Framework Initiative for algebraic specification and development, electronic archives, http://www.brics.dk/Projects/CoFI
CoFI Language Design Task Group. Casl – The CoFI Algebraic Specification Language – Summary, version 1.0. Documents/CASL/Summary. In: [2] (July 1999)
The Haskell mailing list (2002), http://www.haskell.org/mailinglist.html
Jones, S.P., Hughes, J., Augustsson, L., Barton, D., Boutel, B., Burton, W., Fasel, J., Hammond, K., Hinze, R., Hudak, P., Johnsson, T., Jones, M., Launchbury, J., Meijer, E., Peterson, J., Reid, A., Runciman, C., Wadler, P.: Haskell 98: A non-strict, purely functional language (1999), http://www.haskell.org/onlinereport
Loeckx, J., Sieber, K.: The Foundations of Program Verification. Wiley, Chichester (1987)
Mac Lane, S.: Categories for the Working Mathematician. Springer, Heidelberg (1997)
Moggi, E.: Notions of computation and monads. Inform. and Comput. 93, 55–92 (1991)
Moggi, E.: A semantics for evaluation logic. Fund. Inform. 22, 117–152 (1995)
Pitts, A.: Evaluation logic. In: Higher Order Workshop. Workshops in Computing, pp. 162–189. Springer, Heidelberg (1991)
Plotkin, G., Power, J.: Notions of computation determine monads. In: Nielsen, M., Engberg, U. (eds.) FOSSACS 2002. LNCS, vol. 2303, pp. 342–356. Springer, Heidelberg (2002)
Plotkin, G., Stirling, C.: A framework for intuitionistic modal logic. In: Theoretical Aspects of Reasoning about Knowledge. Morgan Kaufmann, San Francisco (1986)
Pratt, V.: Semantical considerations on Floyd-Hoare logic. In: Foundations of Computer Science, pp. 109–121. IEEE, Los Alamitos (1976)
Regensburger, F.: HOLCF: Higher order logic of computable functions. In: Schubert, E.T., Alves-Foss, J., Windley, P. (eds.) HUG 1995. LNCS, vol. 971, pp. 293–307. Springer, Heidelberg (1995)
Schröder, L.: Classifying categories for partial equational logic. In: Category Theory and Computer Science. ENTCS, vol. 69 (2002)
Schröder, L., Mossakowski, T.: HasCasl: Towards integrated specification and development of functional programs. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 99–116. Springer, Heidelberg (2002)
Schröder, L., Mossakowski, T.: Monad-independent Hoare logic in HasCasl. In: Pezzé, M. (ed.) FASE 2003. LNCS, vol. 2621, pp. 261–277. Springer, Heidelberg (2003)
Scott, D.S.: Relating theories of the λ-calculus. In: To H.B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formalisms, pp. 403–450. Academic Press, London (1980)
Simpson, A.K.: The Proof Theory and Semantics of Intuitionistic Modal Logic. PhD thesis, University of Edinburgh (1994)
Wadler, P.: How to declare an imperative. ACM Computing Surveys 29, 240–263 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schröder, L., Mossakowski, T. (2003). Monad-Independent Dynamic Logic in HasCasl . In: Wirsing, M., Pattinson, D., Hennicker, R. (eds) Recent Trends in Algebraic Development Techniques. WADT 2002. Lecture Notes in Computer Science, vol 2755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40020-2_25
Download citation
DOI: https://doi.org/10.1007/978-3-540-40020-2_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20537-1
Online ISBN: 978-3-540-40020-2
eBook Packages: Springer Book Archive