Text this: Theory of submodular programs