refactor(library/elaborator): remove hackish rule

After the recent fixes, the hack in process_metavar is not needed anymore.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(builtin/kernel): mark exists as opaque after proving key theorems

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(builtin/kernel): add Not.*Elim theorems

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parser): namespaces

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(builtin): use namespaces when defining nat, int and real.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/pp): pretty print SetOpaque command

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