Rippling Meta-Level Guidance for Mathematical Reasoning: An annotated calculus and a unification algorithm