Dragging Proofs Out of Pictures

  • Ralf Hinze
  • Dan Marsden
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9600)


String diagrams provide category theory with a different and very distinctive visual flavour. We demonstrate that they are an effective tool for equational reasoning using a variety of examples evolving around the composition of monads. A deductive approach is followed, discovering necessary concepts as we go along. In particular, we show that the Yang–Baxter equation arises naturally when composing three monads. We are also concerned with the pragmatics of string diagrams. Diagrams are carefully arranged to provide geometric intution for the proof steps being followed. We introduce thick wires to distinguish composite functors and suggest a two-dimensional analogue of parenthesis to partition diagrams.


Natural Transformation Proof Obligation Baxter Equation Proof Step Triangular Number 
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.



The authors are very grateful to Tarmo Uustalu for bringing compatible compositions and iterated distributive laws to their attention. We would also like to thank the two anonymous reviewers for their helpful comments and feedback. This work has been partially funded by EPSRC grant numbers EP/J010995/1, EP/I03808X/1 and AFSOR grant “Algorithmic and Logical Aspects when Composing Meanings”. The main part of the work was done while the first author was affiliated with the University of Oxford.


  1. Beck, J.: Distributive laws. In: Appelgate, H., et al. (eds.) Seminar on Triples and Categorical Homotopy Theory. Lecture Notes in Mathematics, vol. 80, pp. 119–140. Springer, Heidelberg (1969)CrossRefGoogle Scholar
  2. Cheng, E.: Iterated distributive laws. ArXiv e-prints, October 2007Google Scholar
  3. Hinze, R., Marsden, D.: Equational reasoning with lollipops, forks, cups, caps, snakes, and speedometers. José Oliveira Festschrift (2015, to appear)Google Scholar
  4. Joyal, A., Street, R.: Geometry of tensor calculus I. Adv. Math. 88, 55–113 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  5. King, D.J., Wadler, P.: Combining monads. In: Launchbury, J., Sansom, P. (eds.) Proceedings of the 1992 Glasgow Workshop on Functional Programming. Workshops in Computing, pp. 134–143. Springer, Berlin/Heidelberg (1993)CrossRefGoogle Scholar
  6. Knuth, D.E.: The Art of Computer Programming. Sorting and Searching, vol. 3, 2nd edn. Addison-Wesley Publishing Company, Reading (1998)zbMATHGoogle Scholar
  7. Manes, E.G.: Algebraic Theories. Springer, Heidelberg (1976)CrossRefzbMATHGoogle Scholar
  8. Marsden, D.: Category theory using string diagrams (2014). arXiv preprint arXiv:1401.7220
  9. Penrose, R.: Applications of negative dimensional tensors. In: Welsh, D.J.A. (ed.) Combinatorial Mathematics and its Applications, pp. 221–244. Academic Press, New York (1971)Google Scholar
  10. Peyton Jones, S.L., Wadler, P.: Imperative functional programming. In: Proceedings of the 20th Annual ACM Symposium on Principles of Programming Languages, pp. 71–84, Charleston, South Carolina, January 1993Google Scholar
  11. Wadler, P.: Comprehending monads. In: Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, pp. 61–78. ACM Press, June 1990Google Scholar
  12. Wadler, P.: The essence of functional programming. In: Proceedings of the 19th Annual ACM Symposium on Principles of Programming Languages, Sante Fe, New Mexico, pp. 1–14, January 1992Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Institute for Computing and Information Sciences (iCIS)Radboud UniversityNijmegenThe Netherlands
  2. 2.Department of Computer ScienceUniversity of OxfordOxfordEngland, UK

Personalised recommendations