fix(library/unifier): use depth-first search strategy for solving class-instance constraints

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/coercion): error message

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(frontends/lean/info_manager): intrusive smart pointer for info_data

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(frontends/lean/info_manager): to allow cache to be used when producing info data, fixes #37, closes #45

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): add 'SYMBOL' and 'IDENTIFIER' information to info_manager

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/elaborator): generate identifier information for overloaded identifiers

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(tests/lean/interactive): adjust test output to reflect new features

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/module): ignore multiple declarations of 'sorry', fixes #59

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(frontends/lean/server): remove leftover

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/decl_cmds): improve error message for invalid end of theorem

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(tests/lean/interactive): remove leftover from test output

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(bin/lmake): add --always-make(-B) option
fix(bin/lmake): save .olean file when makefile doesn't exist
fix(emacs/lean-util): add missing 'cl-' prefix
checkpoint