Logic And Proof Techniques