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