Logical and Mathematical Reasoning about Imperative Programs.