updated proof and rules