Types of mathematical proofs