Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * Top contributors (to current version): 3 : : * Andrew Reynolds, Gereon Kremer, Mathias Preiner 4 : : * 5 : : * This file is part of the cvc5 project. 6 : : * 7 : : * Copyright (c) 2009-2024 by the authors listed in the file AUTHORS 8 : : * in the top-level source directory and their institutional affiliations. 9 : : * All rights reserved. See the file COPYING in the top-level source 10 : : * directory for licensing information. 11 : : * **************************************************************************** 12 : : * 13 : : * The theory inference utility. 14 : : */ 15 : : 16 : : #include "theory/theory_inference.h" 17 : : 18 : : #include "theory/theory_inference_manager.h" 19 : : 20 : : using namespace cvc5::internal::kind; 21 : : 22 : : namespace cvc5::internal { 23 : : namespace theory { 24 : : 25 : 221005 : SimpleTheoryLemma::SimpleTheoryLemma(InferenceId id, 26 : : Node n, 27 : : LemmaProperty p, 28 : 221005 : ProofGenerator* pg) 29 : 221005 : : TheoryInference(id), d_node(n), d_property(p), d_pg(pg) 30 : : { 31 : 221005 : } 32 : : 33 : 213649 : TrustNode SimpleTheoryLemma::processLemma(LemmaProperty& p) 34 : : { 35 [ - + ][ - + ]: 213649 : Assert(!d_node.isNull()); [ - - ] 36 : 213649 : p = d_property; 37 : 213649 : return TrustNode::mkTrustLemma(d_node, d_pg); 38 : : } 39 : : 40 : 359640 : SimpleTheoryInternalFact::SimpleTheoryInternalFact(InferenceId id, 41 : : Node conc, 42 : : Node exp, 43 : 359640 : ProofGenerator* pg) 44 : 359640 : : TheoryInference(id), d_conc(conc), d_exp(exp), d_pg(pg) 45 : : { 46 : 359640 : } 47 : : 48 : 0 : Node SimpleTheoryInternalFact::processFact(std::vector<Node>& exp, 49 : : ProofGenerator*& pg) 50 : : { 51 : 0 : exp.push_back(d_exp); 52 : 0 : pg = d_pg; 53 : 0 : return d_conc; 54 : : } 55 : : 56 : : } // namespace theory 57 : : } // namespace cvc5::internal