Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * Top contributors (to current version): 3 : : * Andrew Reynolds, Gereon Kremer 4 : : * 5 : : * This file is part of the cvc5 project. 6 : : * 7 : : * Copyright (c) 2009-2025 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 : : * Instantiation engine strategy base class. 14 : : */ 15 : : 16 : : #include "theory/quantifiers/ematching/inst_strategy.h" 17 : : 18 : : #include "smt/env.h" 19 : : #include "theory/quantifiers/quantifiers_state.h" 20 : : 21 : : namespace cvc5::internal { 22 : : namespace theory { 23 : : namespace quantifiers { 24 : : 25 : 84952 : InstStrategy::InstStrategy(Env& env, 26 : : inst::TriggerDatabase& td, 27 : : QuantifiersState& qs, 28 : : QuantifiersInferenceManager& qim, 29 : : QuantifiersRegistry& qr, 30 : 84952 : TermRegistry& tr) 31 : 84952 : : EnvObj(env), d_td(td), d_qstate(qs), d_qim(qim), d_qreg(qr), d_treg(tr) 32 : : { 33 : 84952 : } 34 : 84288 : InstStrategy::~InstStrategy() {} 35 : 76618 : void InstStrategy::presolve() {} 36 : 0 : std::string InstStrategy::identify() const { return std::string("Unknown"); } 37 : : 38 : 280635 : options::UserPatMode InstStrategy::getInstUserPatMode() const 39 : : { 40 : 280635 : if (options().quantifiers.userPatternsQuant 41 [ - + ]: 280635 : == options::UserPatMode::INTERLEAVE) 42 : : { 43 [ - - ]: 0 : return d_qstate.getInstRounds() % 2 == 0 ? options::UserPatMode::USE 44 : 0 : : options::UserPatMode::RESORT; 45 : : } 46 : 280635 : return options().quantifiers.userPatternsQuant; 47 : : } 48 : : 49 : : } // namespace quantifiers 50 : : } // namespace theory 51 : : } // namespace cvc5::internal