/********************* */ /*! \file theory_inference.cpp ** \verbatim ** Top contributors (to current version): ** Andrew Reynolds ** This file is part of the CVC4 project. ** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS ** in the top-level source directory and their institutional affiliations. ** All rights reserved. See the file COPYING in the top-level source ** directory for licensing information.\endverbatim ** ** \brief The theory inference utility **/ #include "theory/theory_inference.h" #include "theory/theory_inference_manager.h" using namespace CVC4::kind; namespace CVC4 { namespace theory { SimpleTheoryLemma::SimpleTheoryLemma(InferenceId id, Node n, LemmaProperty p, ProofGenerator* pg) : TheoryInference(id), d_node(n), d_property(p), d_pg(pg) { } TrustNode SimpleTheoryLemma::processLemma(LemmaProperty& p) { Assert(!d_node.isNull()); p = d_property; return TrustNode::mkTrustLemma(d_node, d_pg); } SimpleTheoryInternalFact::SimpleTheoryInternalFact(InferenceId id, Node conc, Node exp, ProofGenerator* pg) : TheoryInference(id), d_conc(conc), d_exp(exp), d_pg(pg) { } Node SimpleTheoryInternalFact::processFact(std::vector& exp, ProofGenerator*& pg) { exp.push_back(d_exp); pg = d_pg; return d_conc; } } // namespace theory } // namespace CVC4