Proving mathematical statements