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