fix(library/unifier): cyclic assignment (?M <- ?M)

This was producing nonterminating behavior on example described at issue #489
This commit is contained in:
Leonardo de Moura 2015-04-20 17:35:37 -07:00
parent 431eade894
commit 28dad944c5

View file

@ -1998,7 +1998,7 @@ struct unifier_fn {
buffer<expr> lhs_args, rhs_args; buffer<expr> lhs_args, rhs_args;
expr ml = get_app_args(lhs, lhs_args); expr ml = get_app_args(lhs, lhs_args);
expr mr = get_app_args(rhs, rhs_args); expr mr = get_app_args(rhs, rhs_args);
if (ml == mr) { if (mlocal_name(ml) == mlocal_name(mr)) {
discard(c); discard(c);
return true; return true;
} }