mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
add incremental version of value propagate
This commit is contained in:
parent
decb3d3907
commit
a64c7c5d19
8 changed files with 203 additions and 81 deletions
|
@ -45,6 +45,7 @@ z3_add_component(core_tactics
|
|||
occf_tactic.h
|
||||
pb_preprocess_tactic.h
|
||||
propagate_values_tactic.h
|
||||
propagate_values2_tactic.h
|
||||
reduce_args_tactic.h
|
||||
simplify_tactic.h
|
||||
solve_eqs_tactic.h
|
||||
|
|
|
@ -20,7 +20,6 @@ Author:
|
|||
#include "tactic/tactic.h"
|
||||
#include "tactic/dependent_expr_state_tactic.h"
|
||||
#include "ast/simplifiers/elim_unconstrained.h"
|
||||
#include "ast/simplifiers/elim_unconstrained.h"
|
||||
|
||||
class elim_uncnstr2_tactic_factory : public dependent_expr_simplifier_factory {
|
||||
public:
|
||||
|
|
41
src/tactic/core/propagate_values2_tactic.h
Normal file
41
src/tactic/core/propagate_values2_tactic.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*++
|
||||
Copyright (c) 2022 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
propagate_values2_tactic.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tactic for propagating equalities (= t v) where v is a value
|
||||
|
||||
Author:
|
||||
|
||||
Nikolaj Bjorner (nbjorner) 2022-11-24
|
||||
|
||||
--*/
|
||||
|
||||
#include "util/params.h"
|
||||
#pragma once
|
||||
|
||||
#include "util/params.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "tactic/dependent_expr_state_tactic.h"
|
||||
#include "ast/simplifiers/propagate_values.h"
|
||||
|
||||
class propagate_values2_tactic_factory : public dependent_expr_simplifier_factory {
|
||||
public:
|
||||
dependent_expr_simplifier* mk(ast_manager& m, params_ref const& p, dependent_expr_state& s) override {
|
||||
return alloc(propagate_values, m, s);
|
||||
}
|
||||
};
|
||||
|
||||
inline tactic * mk_propagate_values2_tactic(ast_manager & m, params_ref const & p = params_ref()) {
|
||||
return alloc(dependent_expr_state_tactic, m, p, alloc(propagate_values2_tactic_factory), "propagate-values2");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
ADD_TACTIC("propagate-valuesx2", "propagate constants.", "mk_propagate_values2_tactic(m, p)")
|
||||
*/
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue