00001 // -*- c++ -*- 00002 //***************************************************************************** 00014 //***************************************************************************** 00015 00016 #ifndef polybori_groebner_TimesConstantImplication_h_ 00017 #define polybori_groebner_TimesConstantImplication_h_ 00018 00019 // include basic definitions 00020 #include "groebner_defs.h" 00021 00022 BEGIN_NAMESPACE_PBORIGB 00023 00031 class TimesConstantImplication { 00032 public: 00033 template <class PairType> 00034 Polynomial operator()(const Polynomial& lhs, const PairType& rhs) const { 00035 return lhs * (lhs.ring().variable(rhs.first) + bool(rhs.second) ); 00036 } 00037 }; 00038 00039 END_NAMESPACE_PBORIGB 00040 00041 #endif /* polybori_groebner_TimesConstantImplication_h_ */