feat(frontends/lean): connect new elaborator to frontend

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean): infer type of definitions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/type_checker): improve 'declaration still has metavars' error message

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/decl_cmds): allow binders but no type in definitions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/unifier): set conflict if type mismatch during metavariable assignment

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/error_handling): pretty print unifier exceptions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/unifier): bug in lambda_abstract_locals auxiliary function

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/type_checker): bug in the app_delayed_justification object

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/parser): add missing save_pos

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/type_checker): use the application to provide error location

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/elaborator): to cache values, we must push/pop whenever we update the m_ctx

Thus, we are disabling the cache for now.
It is also unclear whether it is useful or not.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): add '@' explicit notation

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/expr): add flat_app auxiliary function

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