Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * Top contributors (to current version): 3 : : * Andrew Reynolds 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 : : * Implementation of bound variable identifiers. 14 : : */ 15 : : 16 : : #include "expr/bound_var_id.h" 17 : : 18 : : #include <sstream> 19 : : 20 : : namespace cvc5::internal { 21 : : 22 : 0 : const char* toString(BoundVarId id) 23 : : { 24 [ - - ][ - - ]: 0 : switch (id) [ - - ][ - - ] [ - - ][ - - ] [ - - ][ - - ] [ - - ][ - - ] [ - - ] 25 : : { 26 : 0 : case BoundVarId::REAL_ALGEBRAIC_NUMBER_WITNESS: 27 : 0 : return "REAL_ALGEBRAIC_NUMBER_WITNESS"; 28 : 0 : case BoundVarId::ARITH_TR_PURIFY: return "ARITH_TR_PURIFY"; 29 : 0 : case BoundVarId::ARRAYS_EQ_RANGE: return "ARRAYS_EQ_RANGE"; 30 : 0 : case BoundVarId::BAGS_FIRST_INDEX: return "BAGS_FIRST_INDEX"; 31 : 0 : case BoundVarId::BAGS_SECOND_INDEX: return "BAGS_SECOND_INDEX"; 32 : 0 : case BoundVarId::SETS_FIRST_INDEX: return "SETS_FIRST_INDEX"; 33 : 0 : case BoundVarId::STRINGS_RE_ELIM_CONCAT_INDEX: 34 : 0 : return "STRINGS_RE_ELIM_CONCAT_INDEX"; 35 : 0 : case BoundVarId::STRINGS_RE_ELIM_STAR_INDEX: 36 : 0 : return "STRINGS_RE_ELIM_STAR_INDEX"; 37 : 0 : case BoundVarId::STRINGS_INDEX: return "STRINGS_INDEX"; 38 : 0 : case BoundVarId::STRINGS_LENGTH: return "STRINGS_LENGTH"; 39 : 0 : case BoundVarId::STRINGS_REG_EXP_EQ: return "STRINGS_REG_EXP_EQ"; 40 : 0 : case BoundVarId::STRINGS_SEQ_MODEL: return "STRINGS_SEQ_MODEL"; 41 : 0 : case BoundVarId::STRINGS_VALUE_FOR_LENGTH: 42 : 0 : return "STRINGS_VALUE_FOR_LENGTH"; 43 : 0 : case BoundVarId::FUN_BOUND_VAR_LIST: return "FUN_BOUND_VAR_LIST"; 44 : 0 : case BoundVarId::ELIM_SHADOW: return "ELIM_SHADOW"; 45 : 0 : case BoundVarId::QUANT_DT_EXPAND: return "QUANT_DT_EXPAND"; 46 : 0 : case BoundVarId::QUANT_DT_SPLIT: return "QUANT_DT_SPLIT"; 47 : 0 : case BoundVarId::QUANT_REW_MINISCOPE: return "QUANT_REW_MINISCOPE"; 48 : 0 : case BoundVarId::QUANT_REW_PRENEX: return "QUANT_REW_PRENEX"; 49 : 0 : case BoundVarId::QUANT_SYGUS_BUILTIN_FV: return "QUANT_SYGUS_BUILTIN_FV"; 50 : 0 : case BoundVarId::VALID_WITNESS_VAR: return "VALID_WITNESS_VAR"; 51 : 0 : default: return "?"; 52 : : } 53 : : } 54 : : 55 : 0 : std::ostream& operator<<(std::ostream& out, BoundVarId id) 56 : : { 57 : 0 : out << toString(id); 58 : 0 : return out; 59 : : } 60 : : 61 : : } // namespace cvc5::internal