Discrete Math with Proof