3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-22 02:57:50 +00:00
z3/src/tactic/arith/degree_shift_tactic.h
Leonardo de Moura 1ea606092c checkpoint
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-25 15:44:53 -07:00

35 lines
781 B
C++

/*++
Copyright (c) 2011 Microsoft Corporation
Module Name:
degree_shift_tactic.h
Abstract:
Simple degree shift procedure.
Basic idea: if goal G contains a real variable x, x occurs with degrees
d_1, ..., d_k in G, and n = gcd(d_1, ..., d_k) > 1.
Then, replace x^n with a new fresh variable y.
Author:
Leonardo de Moura (leonardo) 2011-12-30.
Revision History:
--*/
#ifndef _DEGREE_SHIFT_TACTIC_H_
#define _DEGREE_SHIFT_TACTIC_H_
#include"params.h"
class ast_manager;
class tactic;
tactic * mk_degree_shift_tactic(ast_manager & m, params_ref const & p = params_ref());
/*
ADD_TACTIC("degree-shift", "try to reduce degree of polynomials (remark: :mul2power simplification is automatically applied).", "mk_degree_shift_tactic(m, p)")
*/
#endif