Formal mathematical techniques