feat(library/blast): add simp_rule_sets to branch

This commit is contained in:
Leonardo de Moura 2015-11-14 13:16:00 -08:00
parent 0f4e59a84f
commit 9921228dd5
2 changed files with 13 additions and 0 deletions

View file

@ -155,6 +155,7 @@ class simple_strategy {
} }
optional<expr> search() { optional<expr> search() {
curr_state().set_simp_rule_sets(get_simp_rule_sets(env()));
state s = curr_state(); state s = curr_state();
unsigned d = m_config.m_init_depth; unsigned d = m_config.m_init_depth;
while (true) { while (true) {

View file

@ -9,6 +9,7 @@ Author: Leonardo de Moura
#include "kernel/expr.h" #include "kernel/expr.h"
#include "library/head_map.h" #include "library/head_map.h"
#include "library/tactic/goal.h" #include "library/tactic/goal.h"
#include "library/simplifier/simp_rule_set.h"
#include "library/blast/action_result.h" #include "library/blast/action_result.h"
#include "library/blast/hypothesis.h" #include "library/blast/hypothesis.h"
@ -129,6 +130,7 @@ class branch {
forward_deps m_forward_deps; // given an entry (h -> {h_1, ..., h_n}), we have that each h_i uses h. forward_deps m_forward_deps; // given an entry (h -> {h_1, ..., h_n}), we have that each h_i uses h.
expr m_target; expr m_target;
hypothesis_idx_set m_target_deps; hypothesis_idx_set m_target_deps;
simp_rule_sets m_simp_rule_sets;
}; };
/** \brief Proof state for the blast tactic */ /** \brief Proof state for the blast tactic */
@ -400,6 +402,16 @@ public:
assignment_snapshot save_assignment(); assignment_snapshot save_assignment();
void restore_assignment(assignment_snapshot const & s); void restore_assignment(assignment_snapshot const & s);
/************************
Simplification rules
*************************/
void set_simp_rule_sets(simp_rule_sets const & s) {
m_branch.m_simp_rule_sets = s;
}
simp_rule_sets get_simp_rule_sets() const {
return m_branch.m_simp_rule_sets;
}
/************************ /************************
Debugging support Debugging support
*************************/ *************************/