Fix type checker and elaborator for let expressions. Fix get_coercions (we need to pass the context). Fix pretty printer for def_type_mismatch_exception.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Fix bug in the elaborator. Move character ' to class A

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add missing case to elaborator

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Fix problem with pretty printer. Add another test for elaborator

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add Cast, DomInj and RanInj. Improve operator << for lean_frontend objects.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Improve check_pi in lean elaborator

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add casting propagation and normalization

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add casting propagation and normalization