Text this: Building program construction and verification tools from algebraic principles.