Add head_reduce_mmv (reduction function modulo metavariables)

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Fix is_convertible propositions => type

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Refactor elaborator using new metavar library.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Fix clang++ compilation problem.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Fix name clash problem when pretty printing

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Attach elaborator the lean default parser

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

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

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Mark implicit arguments of builtin symbols

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add another example that demonstrates how to use implicit arguments

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Change how the (auxiliary) explicit definitions are encoded in the system. The previous encoding was confusing the pretty printer, and the definition looked recursive.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add latest example to regression suite

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