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 : : * Instantiation engine strategy base class. 11 : : */ 12 : : 13 : : #include "theory/quantifiers/ematching/inst_strategy.h" 14 : : 15 : : #include "smt/env.h" 16 : : #include "theory/quantifiers/quantifiers_state.h" 17 : : 18 : : namespace cvc5::internal { 19 : : namespace theory { 20 : : namespace quantifiers { 21 : : 22 : 87552 : InstStrategy::InstStrategy(Env& env, 23 : : inst::TriggerDatabase& td, 24 : : QuantifiersState& qs, 25 : : QuantifiersInferenceManager& qim, 26 : : QuantifiersRegistry& qr, 27 : 87552 : TermRegistry& tr) 28 : 87552 : : EnvObj(env), d_td(td), d_qstate(qs), d_qim(qim), d_qreg(qr), d_treg(tr) 29 : : { 30 : 87552 : } 31 : 86882 : InstStrategy::~InstStrategy() {} 32 : 79210 : void InstStrategy::presolve() {} 33 : 0 : std::string InstStrategy::identify() const { return std::string("Unknown"); } 34 : : 35 : 285853 : options::UserPatMode InstStrategy::getInstUserPatMode() const 36 : : { 37 : 285853 : if (options().quantifiers.userPatternsQuant 38 [ - + ]: 285853 : == options::UserPatMode::INTERLEAVE) 39 : : { 40 [ - - ]: 0 : return d_qstate.getInstRounds() % 2 == 0 ? options::UserPatMode::USE 41 : 0 : : options::UserPatMode::RESORT; 42 : : } 43 : 285853 : return options().quantifiers.userPatternsQuant; 44 : : } 45 : : 46 : : } // namespace quantifiers 47 : : } // namespace theory 48 : : } // namespace cvc5::internal