feat(library/simplifier): enforce max_steps option

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(library/simplifier): add test for the single_pass option in the simplifier

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(builtin/kernel): put the congruence theorems in a format that is easier for the simplifier to process

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(kernel): remove dead file

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel/instantiate): remove code duplication

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/max_sharing): check for imminent stack overflows and interruptions in the expression sharing maximizer

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(kernel): remove comment, we decided to have Eta as a simplification rule

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/simplifier): congruence theorem compilation

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/simplifier): congruence theorem compilation