Abelson, H. & Sussman, G. J. (1996). Structure and Interpretation of Computer Programs (second edition). Cambridge, MA: MIT Press.

Arana, A. (2008). Logical and semantic purity. Protosociology, 25, 36–48.

Avigad, J. (2006). Mathematical method and proof. Synthese, 152(1), 105–159.

Avigad, J. Understanding proofs. In Mancosu, P., editor. The Philosophy of Mathematical Practice. Oxford: Oxford University Press, pp. 317–353.

Avigad, J. (2010). Understanding, formal verification, and the philosophy of mathematics. Journal of the Indian Council of Philosophical Research, 27, 161–197.

Avigad, J. & Harrison, J. (2014). Formally verified mathematics. Communications of the ACM, 57(4), 66–75.

Avigad, J. & Morris, R. (2014). The concept of “character” in Dirichlet’s theorem on primes in an arithmetic progression. Archive for History of Exact Sciences, 68(3), 265–326.

Avigad, J. & Morris, R. (2016). Character and object. Review of Symbolic Logic, 9, 480–510.

Baldwin, C. Y. & Clark, K. B. (1999). Design Rules: The Power of Modularity, Vol. 1. Cambridge, MA: MIT Press.

Barrett, H. C. & Kurzban, R. (2006). Modularity in cognition: Framing the debate. Psychological Review, 113, 628–647.

Bhargava, M. (2004). Higher composition laws. I. A new view on Gauss composition, and quadratic generalizations. Annals of Mathematics, 159(1), 217–250.

Bourbaki, N. (1950). The architecture of mathematics. The American Mathematical Monthly, 57(4), 221–232. Translated from the French by Dresden, Arnold. The original version appeared in F. Le Lionnais ed., *Les grands courants de la pensée mathématique*, Cahiers du Sud, 1948.

Buchmann, J. & Vollmer, U. (2007). Binary Quadratic Forms: An Algorithmic Approach. Berlin: Springer.

Callebaut, W. & Rasskin-Gutman, D. (2005). Modularity: Understanding the Development and Evolution of Natural Complex Systems. Cambridge, MA: MIT Press.

Carruthers, P. (2006). The Architecture of the Mind: Massive Modularity and the Flexibility of Thought. Oxford: Oxford University Press.

Cox, D. A. (2014). Primes of the Form x^{2} + ny^{2}
: Fermat, Class Field Theory, and Complex Multiplication. Hoboken, NJ: Wiley.

de Moura, L., Kong, S., Avigad, J., van Doorn, F., & von Raumer, J. (2015). The Lean theorem prover. In Felty, A. P., and Middeldorp, A., editors. Automated Deduction–CADE-25, 25th International Conference on Automated Deduction, Berlin, Germany, August 1-7, 2015. Cham, Switzerland: Springer International Publishing, pp. 378–388.

Detlefsen, M. & Arana, A. (2011). Purity of methods. Philosophers’ Imprint, 11(2), 1–20.

Dijkstra, E. W. (1982). On the role of scientific thought. In Dijkstra, E. W., editor. Selected Writings on Computing: A personal Perspective. New York, NY: Springer, pp. 60–66.

Edwards, H. E. (2001). Riemann’s Zeta Function. Mineola, NY: Dover Publications Inc. Reprint of the 1974 original [Academic Press, New York].

Edwards, H. E. (2005). Essays in Constructive Mathematics. New York: Springer.

Fodor, J. A. (1983). The Modularity of Mind. Cambridge, MA: MIT Press.

Gonthier, G., Asperti, A., Avigad, J., Bertot, Y., Cohen, C., Garillot, F., Roux, S., Mahboubi, A., O’Connor, R., Biha, S. O., Pasca, I., Rideau, L., Solovyev, A., Tassi, E., & Théry, L. (2013). A machine-checked proof of the odd order theorem. In
Blazy, S., Paulin-Mohring, C., and Pichardie, D., editors. Interactive Theorem Proving. Lecture Notes in Computer Science, Vol. 7998. Heidelberg: Springer, pp. 163–179.

Harper, R. (2016). Practical Foundations for Programming Languages (second edition). New York, NY: Cambridge University Press.

Kitcher, P. (1989). Explanatary unification and the causal structure of the world. In Kitcher, P. and Salmon, W., editors. Scientific Explanation. Minneapolis: University of Minnesota Press, pp. 410–505.

Lemmermeyer, F. (2000). Reciprocity Laws: From Euler to Eisenstein. Springer Monographs in Mathematics. Berlin: Springer-Verlag.

Mancosu, P. Mathematical explanation: Why it matters. In Mancosu, P., editor. The Philosophy of Mathematical Practice. Oxford: Oxford University Press, pp. 134–440.

Mancosu, P. (editor) (2008). The Philosophy of Mathematical Practice. Oxford: Oxford University Press.

Manders, K.
*Expressive Means and Mathematical Understanding*, manuscript.

Manders, K. The Euclidean diagram. In Mancosu, P., editor. The Philosophy of Mathematical Practice. Oxford: Oxford University Press, pp. 80–133.

Myers, G. J. (1978). Composite/Structured Design. New York: Van Nostrand Reinhold.

Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12), 1053–1058.

Robinson, J. A. & Voronkov, A. (editors) (2001). Handbook of Automated Reasoning, Vol. 2. New York: Elsevier, and Cambridge, MA: MIT Press.

Simon, H. A. (1962). The architecture of complexity. Proceedings of the American Philosophical Society, 106(6), 467–482.

Simon, H. A. (1997). Administrative Behavior (fourth edition). New York: Free Press; First edition, New York: Macmillan, 1947.

Steiner, M. (1978). Mathematical explanation. Philosophical Studies, 34, 133–151.

Struik, D. J. (1969). A Source Book in Mathematics, 1200–1800. Source Books in the History of the Sciences. Cambridge, MA: Harvard University Press.

Tappenden, J. Mathematical concepts and definitions. In Mancosu, P., editor. The Philosophy of Mathematical Practice. Oxford: Oxford University Press, pp. 256–275.

Wirth, N. (1971). Program development by stepwise refinement. Communications of the ACM, 14(4), 221–227.