implementing computational mathematics and providing logic-based tools that help automate programming