feat(frontends/lean): calculational proofs

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): add syntax sugar for applying Subst in calculational proofs

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(builtin/Nat): cleanup all proofs using calculational proof style

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(tests/lean): add version of the Nat library full of holes

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>