Theory Presentation Combinators

  • Jacques Carette
  • Russell O’Connor
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7362)


We motivate and give semantics to theory presentation combinators as the foundational building blocks for a scalable library of theories. The key observation is that the category of contexts and fibered categories are the ideal theoretical tools for this purpose.


Type Theory Theory Presentation General Extension Categorical Logic Abelian Semigroup 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Asperti, A., Sacerdoti Coen, C.: Some Considerations on the Usability of Interactive Provers. In: Autexier, S., Calmet, J., Delahaye, D., Ion, P.D.F., Rideau, L., Rioboo, R., Sexton, A.P. (eds.) AISC 2010. LNCS, vol. 6167, pp. 147–156. Springer, Heidelberg (2010), CrossRefGoogle Scholar
  2. 2.
    Burstall, R.M., Goguen, J.A.: Putting theories together to make specifications. In: IJCAI, pp. 1045–1058 (1977)Google Scholar
  3. 3.
    Burstall, R.M., Goguen, J.A.: The Semantics of Clear, a Specification Language. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 292–332. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  4. 4.
    Carette, J., Farmer, W.M.: High-Level Theories. In: Autexier, S., Campbell, J., Rubio, J., Sorge, V., Suzuki, M., Wiedijk, F. (eds.) AISC 2008, Calculemus 2008, and MKM 2008. LNCS (LNAI), vol. 5144, pp. 232–245. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Carette, J., Farmer, W.M., Jeremic, F., Maccio, V., O’Connor, R., Tran, Q.: The mathscheme library: Some preliminary experiments. Tech. rep., University of Bologna, Italy (2011), uBLCS-2011-04Google Scholar
  6. 6.
    Carette, J., Kiselyov, O.: Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code. Sci. Comput. Program. 76(5), 349–375 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Carette, J., O’Connor, R.: Theory Presentation Combinators (2012),
  8. 8.
    Cartmell, J.: Generalised algebraic theories and contextual categories. Annals of Pure and Applied Logic 32, 209–243 (1986), MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    CoFI (The Common Framework Initiative): Casl Reference Manual. LNCS, IFIP Series, vol. 2960. Springer (2004)Google Scholar
  10. 10.
    Farmer, W.M., Guttman, J.D., Thayer, F.J.: Little Theories. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 567–581. Springer, Heidelberg (1992)Google Scholar
  11. 11.
    Garillot, F., Gonthier, G., Mahboubi, A., Rideau, L.: Packaging Mathematical Structures. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 327–342. Springer, Heidelberg (2009), CrossRefGoogle Scholar
  12. 12.
    Geuvers, H., Wiedijk, F., Zwanenburg, J.: A Constructive Proof of the Fundamental Theorem of Algebra without Using the Rationals. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol. 2277, pp. 96–111. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Grabowski, A., Schwarzweller, C.: On Duplication in Mathematical Repositories. In: Autexier, S., Calmet, J., Delahaye, D., Ion, P., Rideau, L., Rioboo, R., Sexton, A. (eds.) AISC 2010. LNCS, vol. 6167, pp. 300–314. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  14. 14.
    Jacobs, B.: Categorical Logic and Type Theory. Studies in Logic and the Foundations of Mathematics, vol. 141. North Holland, Amsterdam (1999)zbMATHGoogle Scholar
  15. 15.
    Oriat, C.: Detecting equivalence of modular specifications with categorical diagrams. Theor. Comput. Sci. 247(1-2), 141–190 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Rabe, F., Kohlhase, M.: A Scalable Module System,
  17. 17.
    Sacerdoti Coen, C., Tassi, E.: Nonuniform coercions via unification hints. In: Hirschowitz, T. (ed.) TYPES. EPTCS, vol. 53, pp. 16–29 (2009)Google Scholar
  18. 18.
    Smith, D.R.: Constructing specification morphisms. Journal of Symbolic Computation 15, 5–6 (1993)CrossRefGoogle Scholar
  19. 19.
    Smith, D.R.: Mechanizing the development of software. In: Broy, M., Steinbrueggen, R. (eds.) Calculational System Design, Proceedings of the NATO Advanced Study Institute, pp. 251–292. IOS Press, Amsterdam (1999)Google Scholar
  20. 20.
    Spitters, B., van der Weegen, E.: Type classes for mathematics in type theory. Mathematical Structures in Computer Science 21(4), 795–825 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Wiedijk, F.: Estimating the cost of a standard library for a mathematical proof checker (2001),

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Jacques Carette
    • 1
  • Russell O’Connor
    • 1
  1. 1.Department of Computing and SoftwareMcMaster UniversityHamiltonCanada

Personalised recommendations