forall_constraint::forall_constraint(Enode * const e, lbool const p) : constraint(constraint_type::Forall), m_enode(e), m_forall_vars(extract_forall_vars(e->getCdr()->getCdr())), m_body(e->getCdr()->getCar()), m_polarity(p) {}
generic_forall_constraint::generic_forall_constraint(Enode * const e, lbool const p) : constraint(constraint_type::GenericForall, e), m_forall_vars(extract_forall_vars(e->getCdr()->getCdr())), m_body(e->getCdr()->getCar()), m_polarity(p) { }