feat(library/blast/simplifier/simplifier_actions): only add symplified hypothesis if it is not "true"

This commit is contained in:
Leonardo de Moura 2015-12-31 14:25:38 -08:00
parent bd03619b5c
commit fdcdfbf385
3 changed files with 7 additions and 1 deletions

View file

@ -118,7 +118,8 @@ action_result simplify_hypothesis_action(hypothesis_idx hidx) {
// they are definitionally equal
new_h_proof = h.get_self();
}
s.mk_hypothesis(r.get_new(), new_h_proof);
if (!is_true(r.get_new()))
s.mk_hypothesis(r.get_new(), new_h_proof);
s.del_hypothesis(hidx);
return action_result::new_branch();
}

View file

@ -418,6 +418,10 @@ expr mk_true() {
return *g_true;
}
bool is_true(expr const & e) {
return e == *g_true;
}
expr mk_true_intro() {
return *g_true_intro;
}

View file

@ -110,6 +110,7 @@ level get_datatype_level(expr ind_type);
expr instantiate_univ_param (expr const & e, name const & p, level const & l);
expr mk_true();
bool is_true(expr const & e);
expr mk_true_intro();
bool is_and(expr const & e, expr & arg1, expr & arg2);