Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * Top contributors (to current version): 3 : : * Andrew Reynolds, Andres Noetzli, 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 : : * Implementation of quantifier module. 14 : : */ 15 : : 16 : : #include "theory/quantifiers/quant_module.h" 17 : : 18 : : using namespace cvc5::internal::kind; 19 : : 20 : : namespace cvc5::internal { 21 : : namespace theory { 22 : : namespace quantifiers { 23 : : 24 : 265773 : QuantifiersModule::QuantifiersModule( 25 : : Env& env, 26 : : quantifiers::QuantifiersState& qs, 27 : : quantifiers::QuantifiersInferenceManager& qim, 28 : : quantifiers::QuantifiersRegistry& qr, 29 : 265773 : quantifiers::TermRegistry& tr) 30 : 265773 : : EnvObj(env), d_qstate(qs), d_qim(qim), d_qreg(qr), d_treg(tr) 31 : : { 32 : 265773 : } 33 : : 34 : 66144 : QuantifiersModule::QEffort QuantifiersModule::needsModel(Theory::Effort e) 35 : : { 36 : 66144 : return QEFFORT_NONE; 37 : : } 38 : : 39 : 38634 : eq::EqualityEngine* QuantifiersModule::getEqualityEngine() const 40 : : { 41 : 38634 : return d_qstate.getEqualityEngine(); 42 : : } 43 : : 44 : 2425670 : bool QuantifiersModule::areEqual(TNode n1, TNode n2) const 45 : : { 46 : 2425670 : return d_qstate.areEqual(n1, n2); 47 : : } 48 : : 49 : 24 : bool QuantifiersModule::areDisequal(TNode n1, TNode n2) const 50 : : { 51 : 24 : return d_qstate.areDisequal(n1, n2); 52 : : } 53 : : 54 : 6882870 : TNode QuantifiersModule::getRepresentative(TNode n) const 55 : : { 56 : 6882870 : return d_qstate.getRepresentative(n); 57 : : } 58 : : 59 : 9309040 : quantifiers::TermDb* QuantifiersModule::getTermDatabase() const 60 : : { 61 : 9309040 : return d_treg.getTermDatabase(); 62 : : } 63 : : 64 : 379018 : quantifiers::QuantifiersState& QuantifiersModule::getState() 65 : : { 66 : 379018 : return d_qstate; 67 : : } 68 : : 69 : : quantifiers::QuantifiersInferenceManager& 70 : 0 : QuantifiersModule::getInferenceManager() 71 : : { 72 : 0 : return d_qim; 73 : : } 74 : : 75 : 0 : quantifiers::QuantifiersRegistry& QuantifiersModule::getQuantifiersRegistry() 76 : : { 77 : 0 : return d_qreg; 78 : : } 79 : : 80 : 406542 : quantifiers::TermRegistry& QuantifiersModule::getTermRegistry() 81 : : { 82 : 406542 : return d_treg; 83 : : } 84 : : 85 : 76558 : void QuantifiersModule::beginCallDebug() { d_qim.beginCallDebug(this); } 86 : : 87 : 76558 : void QuantifiersModule::endCallDebug() { d_qim.endCallDebug(); } 88 : : 89 : : } // namespace quantifiers 90 : : } // namespace theory 91 : : } // namespace cvc5::internal