Abstract
Proofs are central to mathematical practice in large part due to the heuristic role that some of them play. Not only do they help establish a result, but often provide new avenues of mathematical research. Jody Azzouni has argued that underlying the practice of creating mathematical proofs there is a very specific norm: to each proof there should be a corresponding algorithmic derivation, a derivation in an algorithmic system. Here a framework is provided to classify and assess mathematical proofs. It is argued that there is a plurality of kinds of proofs in mathematics and a plurality of roles these proofs play. In the end, mathematical practice is far less unified in this respect than it may seem to be.