3 #include "../utils/Bookkeeping.h"
10 template<
typename... Backends>
13 using B = std::tuple<Backends...>;
15 template<std::size_t N = 0, carl::EnableIfBool<N == std::tuple_size<B>::value> = carl::dummy>
20 template<std::size_t N = 0, carl::EnableIfBool<N < std::tuple_size<B>::value> = carl::dummy>
22 auto res = std::get<N>(
mBackends)(data,
var, reason, force_use_core);
24 return explain<N+1>(data,
var, reason, force_use_core);
28 return explain<0>(data,
var, reason, force_use_core);
Represent the trail, i.e.
Class to create the formulas for axioms.
carl::Formulas< Poly > FormulasT
#define SMTRAT_LOG_ERROR(channel, msg)
std::tuple< Backends... > B
std::optional< Explanation > explain(const mcsat::Bookkeeping &, carl::Variable, const FormulasT &, bool) const