Abstract
We discuss the treatment of initial datatypes and final process types in the wide-spectrum language HasCasl. In particular, we present specifications that illustrate how datatypes and process types arise as bootstrapped concepts using HasCasl’s type class mechanism, and we decribe constructions of types of finite and infinite trees that establish the conservativity of datatype and process type declarations adhering to certain reasonable formats. The latter amounts to modifying known constructions from HOL to avoid unique choice; in categorical terminology, this means that we establish that quasitoposes with an internal natural numbers object support initial algebras and final coalgebras for a range of polynomial functors, thereby partially generalizing corresponding results from topos theory.
This work forms part of the DFG-project HasCASL (KR 1191/7-2).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Adámek, J., Herrlich, H., Strecker, G.E.: Abstract and Concrete Categories. Wiley Interscience, Chichester (1990)
Berghofer, S., Wenzel, M.: Inductive datatypes in HOL - lessons learned in formal-logic engineering. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 19–36. Springer, Heidelberg (1999)
Bidoit, M., Mosses, P.D. (eds.): CASL User Manual. LNCS, vol. 2900. Springer, Heidelberg (2004)
Birkedal, L., Møgelberg, R.E.: Categorical models for abadi and plotkin’s logic for parametricity. Math. Struct. Comput. Sci. 15 (2005)
Gunter, E.L.: A broader class of trees for recursive type definitions for HOL. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 141–154. Springer, Heidelberg (1994)
Kiselyov, O., Lämmel, R., Schupke, K.: Strongly typed heterogeneous collections. In: Haskell Workshop, pp. 96–107. ACM Press, New York (2004)
Lambek, J., Scott, P.J.: Introduction to Higher-Order Categorical Logic. Cambridge (1986)
Moerdijk, I., Palmgren, E.: Wellfounded trees in categories. Ann. Pure Appl. Logic 104, 189–218 (2000)
Moggi, E.: Categories of partial morphisms and the λ p -calculus. In: Poigné, A., Pitt, D.H., Rydeheard, D.E., Abramsky, S. (eds.) Category Theory and Computer Programming. LNCS, vol. 240, pp. 242–251. Springer, Heidelberg (1986)
Mossakowski, T., Maeder, C., Lüttich, K.: The Heterogeneous Tool Set. In: Tools and Algorithms for the Construction and Analysis of Systems. LNCS, vol. 4424, pp. 519–522. Springer, Heidelberg (2007)
Mossakowski, T., Schröder, L., Roggenbach, M., Reichel, H.: Algebraic-co-algebraic specification in CoCASL. J. Logic Algebraic Programming 67, 146–197 (2006)
Mosses, P.D. (ed.): CASL Reference Manual. LNCS, vol. 2960. Springer, Heidelberg (2004)
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
Paulson, L.C.: Mechanizing coinduction and corecursion in higher-order logic. J. Log. Comput. 7, 175–204 (1997)
Phoa, W.: An introduction to fibrations, topos theory, the effective topos and modest sets. Research report ECS-LFCS-92-208, Lab. for Foundations of Computer Science, University of Edinburgh (1992)
Rosolini, G., Streicher, T.: Comparing models of higher type computation. In: Realizability Semantics and Applications. ENTCS, vol. 23 (1999)
Schröder, L.: The logic of the partial λ-calculus with equality. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 385–399. Springer, Heidelberg (2004)
Schröder, L.: The HasCASL prologue - categorical syntax and semantics of the partial λ-calculus. Theoret. Comput. Sci. 353, 1–25 (2006)
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.) ETAPS 2003 and FASE 2003. LNCS, vol. 2621, pp. 261–277. Springer, Heidelberg (2003)
Schröder, L., Mossakowski, T.: Generic exception handling and the Java monad. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 443–459. Springer, Heidelberg (2004)
Schröder, L., Mossakowski, T.: Monad-independent dynamic logic in HasCASL. J. Logic Comput. 14, 571–619 (2004)
Schröder, L., Mossakowski, T., Lüth, C.: Type class polymorphism in an institutional framework. In: Fiadeiro, J.L., Mosses, P.D., Orejas, F. (eds.) WADT 2004. LNCS, vol. 3423, pp. 234–248. Springer, Heidelberg (2005)
Schröder, L., Mossakowski, T., Maeder, C.: HasCASL – Integrated functional specification and programming. Language summary. Available under, http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/HasCASL
Walter, D., Schröder, L., Mossakowski, T.: Parametrized exceptions. In: Fiadeiro, J.L., Harman, N., Roggenbach, M., Rutten, J. (eds.) CALCO 2005. LNCS, vol. 3629, pp. 424–438. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schröder, L. (2007). Bootstrapping Types and Cotypes in HasCASL . In: Mossakowski, T., Montanari, U., Haveraaen, M. (eds) Algebra and Coalgebra in Computer Science. CALCO 2007. Lecture Notes in Computer Science, vol 4624. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73859-6_30
Download citation
DOI: https://doi.org/10.1007/978-3-540-73859-6_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73857-2
Online ISBN: 978-3-540-73859-6
eBook Packages: Computer ScienceComputer Science (R0)