/*++ Copyright (c) 2017 Microsoft Corporation Module Name: Abstract: Author: Nikolaj Bjorner (nbjorner) Lev Nachmanson (levnach) Revision History: --*/ #pragma once namespace lp { struct explanation { void clear() { m_explanation.clear(); } vector> m_explanation; void push_justification(constraint_index j, const mpq& v) { m_explanation.push_back(std::make_pair(v, j)); } void push_justification(constraint_index j) { m_explanation.push_back(std::make_pair(one_of_type(), j)); } }; }