io.github.cvc5.ProofRewriteRule Maven / Gradle / Ivy
The newest version!
package io.github.cvc5;
import io.github.cvc5.CVC5ApiException;
import java.util.HashMap;
import java.util.Map;
public enum ProofRewriteRule
{
/**
* This enumeration represents the rewrite rules used in a rewrite proof. Some
* of the rules are internal ad-hoc rewrites, while others are rewrites
* specified by the RARE DSL. This enumeration is used as the first argument to
* the DSL_REWRITE <cvc5.{@link ProofRule#DSL_REWRITE}> proof rule
* and the THEORY_REWRITE <cvc5.{@link ProofRule#THEORY_REWRITE}>
* proof rule.
*/
NONE(0),
/**
* Builtin – Distinct elimination
*
* \[
* \texttt{distinct}(t_1, \ldots, tn) = \bigwedge_{i \neq j} t_i \neq t_j
* \]
*/
DISTINCT_ELIM(1),
/**
* Booleans – Negation Normal Form with normalization
*
* \[
* F = G
* \]
* where \(G\) is the result of applying negation normal form to
* \(F\) with additional normalizations, see
* TheoryBoolRewriter.computeNnfNorm.
*
*/
MACRO_BOOL_NNF_NORM(2),
/**
* Arith – Division by constant elimination
*
* \[
* t / c = t * 1/c
* \]
* where \(c\) is a constant.
*
*/
ARITH_DIV_BY_CONST_ELIM(3),
/**
* Arithmetic - strings predicate entailment
*
* \[
* (= s t) = c
* \]
* \[
* (>= s t) = c
* \]
* where \(c\) is a Boolean constant.
* This macro is elaborated by applications of EVALUATE <cvc5.{@link ProofRule#EVALUATE}>,
* ARITH_POLY_NORM <cvc5.{@link ProofRule#ARITH_POLY_NORM}>,
* ARITH_STRING_PRED_ENTAIL <cvc5.ProofRewriteRule.ARITH_STRING_PRED_ENTAIL>,
* ARITH_STRING_PRED_SAFE_APPROX <cvc5.ProofRewriteRule.ARITH_STRING_PRED_SAFE_APPROX>,
* as well as other rewrites for normalizing arithmetic predicates.
*
*/
MACRO_ARITH_STRING_PRED_ENTAIL(4),
/**
* Arithmetic - strings predicate entailment
*
* \[
* (>= n 0) = true
* \]
* Where \(n\) can be shown to be greater than or equal to \(0\) by
* reasoning about string length being positive and basic properties of
* addition and multiplication.
*
*/
ARITH_STRING_PRED_ENTAIL(5),
/**
* Arithmetic - strings predicate entailment
*
* \[
* (>= n 0) = (>= m 0)
* \]
* Where \(m\) is a safe under-approximation of \(n\), namely
* we have that \((>= n m)\) and \((>= m 0)\).
*
* In detail, subterms of \(n\) may be replaced with other terms to
* obtain \(m\) based on the reasoning described in the paper
* Reynolds et al, CAV 2019, "High-Level Abstractions for Simplifying
* Extended String Constraints in SMT".
*
*/
ARITH_STRING_PRED_SAFE_APPROX(6),
/**
* Equality – Beta reduction
*
* \[
* ((\lambda x_1 \ldots x_n.\> t) \ t_1 \ldots t_n) = t\{x_1 \mapsto t_1,
* \ldots, x_n \mapsto t_n\}
* \]
* The right hand side of the equality in the conclusion is computed using
* standard substitution via {@code Node.substitute}.
*/
BETA_REDUCE(7),
/**
* Arrays – Expansion of array range equality
*
* \[
* \mathit{eqrange}(a,b,i,j)=
* \forall x.\> i \leq x \leq j \rightarrow
* \mathit{select}(a,x)=\mathit{select}(b,x)
* \]
*/
ARRAYS_EQ_RANGE_EXPAND(8),
/**
* Quantifiers – Exists elimination
*
* \[
* \exists x_1\dots x_n.\> F = \neg \forall x_1\dots x_n.\> \neg F
* \]
*/
EXISTS_ELIM(9),
/**
* Quantifiers – Unused variables
*
* \[
* \forall X.\> F = \forall X_1.\> F
* \]
* where \(X_1\) is the subset of \(X\) that appear free in \(F\).
*
*/
QUANT_UNUSED_VARS(10),
/**
* Quantifiers – Merge prenex
*
* \[
* \forall X_1.\> \ldots \forall X_n.\> F = \forall X_1 \ldots X_n.\> F
* \]
* where \(X_1 \ldots X_n\) are lists of variables.
*
*/
QUANT_MERGE_PRENEX(11),
/**
* Quantifiers – Miniscoping
*
* \[
* \forall X.\> F_1 \wedge \ldots \wedge F_n =
* (\forall X.\> F_1) \wedge \ldots \wedge (\forall X.\> F_n)
* \]
*/
QUANT_MINISCOPE(12),
/**
* Quantifiers – Macro connected free variable partitioning
*
* \[
* \forall X.\> F_1 \vee \ldots \vee F_n =
* (\forall X_1.\> F_{1,1} \vee \ldots \vee F_{1,k_1}) \vee \ldots \vee
* (\forall X_m.\> F_{m,1} \vee \ldots \vee F_{m,k_m})
* \]
* where \(X_1, \ldots, X_m\) is a partition of \(X\). This is
* determined by computing the connected components when considering two
* variables in \(X\) to be connected if they occur in the same
* \(F_i\).
*/
MACRO_QUANT_PARTITION_CONNECTED_FV(13),
/**
* Datatypes – Instantiation
*
* \[
* \mathit{is}_C(t) = (t = C(\mathit{sel}_1(t),\dots,\mathit{sel}_n(t)))
* \]
* where \(C\) is the \(n^{\mathit{th}}\) constructor of the type of
* \(t\), and \(\mathit{is}_C\) is the discriminator (tester) for
* \(C\).
*/
DT_INST(14),
/**
* Datatypes - collapse selector
*
* \[
* s_i(c(t_1, \ldots, t_n)) = t_i
* \]
* where \(s_i\) is the \(i^{th}\) selector for constructor \(c\).
*
*/
DT_COLLAPSE_SELECTOR(15),
/**
* Datatypes - collapse tester
*
* \[
* \mathit{is}_c(c(t_1, \ldots, t_n)) = true
* \]
* or alternatively
*
* \[
* \mathit{is}_c(d(t_1, \ldots, t_n)) = false
* \]
* where \(c\) and \(d\) are distinct constructors.
*
*/
DT_COLLAPSE_TESTER(16),
/**
* Datatypes - collapse tester
*
* \[
* \mathit{is}_c(t) = true
* \]
* where \(c\) is the only constructor of its associated datatype.
*
*/
DT_COLLAPSE_TESTER_SINGLETON(17),
/**
* Datatypes - constructor equality
*
* \[
* (c(t_1, \ldots, t_n) = c(s_1, \ldots, s_n)) =
* (t_1 = s_1 \wedge \ldots \wedge t_n = s_n)
* \]
* or alternatively
*
* \[
* (c(t_1, \ldots, t_n) = d(s_1, \ldots, s_m)) = false
* \]
* where \(c\) and \(d\) are distinct constructors.
*
*/
DT_CONS_EQ(18),
/**
* Bitvectors - Unsigned multiplication overflow detection elimination
*
* See M.Gok, M.J. Schulte, P.I. Balzola, "Efficient integer multiplication
* overflow detection circuits", 2001.
* http:
*/
BV_UMULO_ELIMINATE(19),
/**
* Bitvectors - Unsigned multiplication overflow detection elimination
*
* See M.Gok, M.J. Schulte, P.I. Balzola, "Efficient integer multiplication
* overflow detection circuits", 2001.
* http:
*/
BV_SMULO_ELIMINATE(20),
/**
* Bitvectors - Combine like terms during addition by counting terms
*/
BV_ADD_COMBINE_LIKE_TERMS(21),
/**
* Bitvectors - Extract negations from multiplicands
*
* \[
* bvmul(bvneg(a),\ b,\ c) = bvneg(bvmul(a,\ b,\ c))
* \]
*/
BV_MULT_SIMPLIFY(22),
/**
* Bitvectors - Extract continuous substrings of bitvectors
*
* \[
* bvand(a,\ c) = concat(bvand(a[i_0:j_0],\ c_0) ... bvand(a[i_n:j_n],\ c_n))
* \]
* where c0,..., cn are maximally continuous substrings of 0 or 1 in the
* constant c
*/
BV_BITWISE_SLICING(23),
/**
* Strings - regular expression loop elimination
*
* \[
* re.loop_{l,u}(R) = re.union(R^l, \ldots, R^u)
* \]
* where \(u \geq l\).
*
*/
RE_LOOP_ELIM(24),
/**
* Strings - regular expression intersection/union inclusion
*
* \[
* (re.inter\ R) = \mathit{re.inter}(\mathit{re.none}, R_0)
* \]
* where \(R\) is a list of regular expressions containing `r_1`,
* `re.comp(r_2)` and the list \(R_0\) where `r_2` is a superset of
* `r_1`.
*
* or alternatively:
*
* \[
* \mathit{re.union}(R) = \mathit{re.union}(\mathit{re}.\text{*}(\mathit{re.allchar}),\ R_0)
* \]
* where \(R\) is a list of regular expressions containing `r_1`,
* `re.comp(r_2)` and the list \(R_0\), where `r_1` is a superset of
* `r_2`.
*
*/
RE_INTER_UNION_INCLUSION(25),
/**
* Strings - regular expression membership evaluation
*
* \[
* \mathit{str.in\_re}(s, R) = c
* \]
* where \(s\) is a constant string, \(R\) is a constant regular
* expression and \(c\) is true or false.
*
*/
STR_IN_RE_EVAL(26),
/**
* Strings - regular expression membership consume
*
* \[
* \mathit{str.in_re}(s, R) = b
* \]
* where \(b\) is either \(false\) or the result of stripping
* entailed prefixes and suffixes off of \(s\) and \(R\).
*
*/
STR_IN_RE_CONSUME(27),
/**
* Strings - string in regular expression concatenation star character
*
* \[
* \mathit{str.in\_re}(\mathit{str}.\text{++}(s_1, \ldots, s_n), \mathit{re}.\text{*}(R)) =\\ \mathit{str.in\_re}(s_1, \mathit{re}.\text{*}(R)) \wedge \ldots \wedge \mathit{str.in\_re}(s_n, \mathit{re}.\text{*}(R))
* \]
* where all strings in \(R\) have length one.
*
*/
STR_IN_RE_CONCAT_STAR_CHAR(28),
/**
* Strings - string in regular expression sigma
*
* \[
* \mathit{str.in\_re}(s, \mathit{re}.\text{++}(\mathit{re.allchar}, \ldots, \mathit{re.allchar})) = (\mathit{str.len}(s) = n)
* \]
* or alternatively:
*
* \[
* \mathit{str.in\_re}(s, \mathit{re}.\text{++}(\mathit{re.allchar}, \ldots, \mathit{re.allchar}, \mathit{re}.\text{*}(\mathit{re.allchar}))) = (\mathit{str.len}(s) \ge n)
* \]
*/
STR_IN_RE_SIGMA(29),
/**
* Strings - string in regular expression sigma star
*
* \[
* \mathit{str.in\_re}(s, \mathit{re}.\text{*}(\mathit{re}.\text{++}(\mathit{re.allchar}, \ldots, \mathit{re.allchar}))) = (\mathit{str.len}(s) \ \% \ n = 0)
* \]
* where \(n\) is the number of \(\mathit{re.allchar}\) arguments to
* \(\mathit{re}.\text{++}\).
*
*/
STR_IN_RE_SIGMA_STAR(30),
/**
* Strings - strings substring strip symbolic length
*
* \[
* str.substr(s, n, m) = t
* \]
* where \(t\) is obtained by fully or partially stripping components of
* \(s\) based on \(n\) and \(m\).
*
*/
MACRO_SUBSTR_STRIP_SYM_LENGTH(31),
/**
* Sets - empty tester evaluation
*
* \[
* \mathit{sets.is\_empty}(\epsilon) = \top
* \]
* where \(\epsilon\) is the empty set, or alternatively:
*
* \[
* \mathit{sets.is\_empty}(c) = \bot
* \]
* where \(c\) is a constant set that is not the empty set.
*
*/
SETS_IS_EMPTY_EVAL(32),
/**
* Auto-generated from RARE rule arith-plus-zero
*/
ARITH_PLUS_ZERO(33),
/**
* Auto-generated from RARE rule arith-mul-one
*/
ARITH_MUL_ONE(34),
/**
* Auto-generated from RARE rule arith-mul-zero
*/
ARITH_MUL_ZERO(35),
/**
* Auto-generated from RARE rule arith-div-total
*/
ARITH_DIV_TOTAL(36),
/**
* Auto-generated from RARE rule arith-int-div-total
*/
ARITH_INT_DIV_TOTAL(37),
/**
* Auto-generated from RARE rule arith-int-div-total-one
*/
ARITH_INT_DIV_TOTAL_ONE(38),
/**
* Auto-generated from RARE rule arith-int-div-total-zero
*/
ARITH_INT_DIV_TOTAL_ZERO(39),
/**
* Auto-generated from RARE rule arith-int-mod-total
*/
ARITH_INT_MOD_TOTAL(40),
/**
* Auto-generated from RARE rule arith-int-mod-total-one
*/
ARITH_INT_MOD_TOTAL_ONE(41),
/**
* Auto-generated from RARE rule arith-int-mod-total-zero
*/
ARITH_INT_MOD_TOTAL_ZERO(42),
/**
* Auto-generated from RARE rule arith-neg-neg-one
*/
ARITH_NEG_NEG_ONE(43),
/**
* Auto-generated from RARE rule arith-elim-uminus
*/
ARITH_ELIM_UMINUS(44),
/**
* Auto-generated from RARE rule arith-elim-minus
*/
ARITH_ELIM_MINUS(45),
/**
* Auto-generated from RARE rule arith-elim-gt
*/
ARITH_ELIM_GT(46),
/**
* Auto-generated from RARE rule arith-elim-lt
*/
ARITH_ELIM_LT(47),
/**
* Auto-generated from RARE rule arith-elim-int-gt
*/
ARITH_ELIM_INT_GT(48),
/**
* Auto-generated from RARE rule arith-elim-int-lt
*/
ARITH_ELIM_INT_LT(49),
/**
* Auto-generated from RARE rule arith-elim-leq
*/
ARITH_ELIM_LEQ(50),
/**
* Auto-generated from RARE rule arith-leq-norm
*/
ARITH_LEQ_NORM(51),
/**
* Auto-generated from RARE rule arith-geq-tighten
*/
ARITH_GEQ_TIGHTEN(52),
/**
* Auto-generated from RARE rule arith-geq-norm1
*/
ARITH_GEQ_NORM1(53),
/**
* Auto-generated from RARE rule arith-geq-norm2
*/
ARITH_GEQ_NORM2(54),
/**
* Auto-generated from RARE rule arith-refl-leq
*/
ARITH_REFL_LEQ(55),
/**
* Auto-generated from RARE rule arith-refl-lt
*/
ARITH_REFL_LT(56),
/**
* Auto-generated from RARE rule arith-refl-geq
*/
ARITH_REFL_GEQ(57),
/**
* Auto-generated from RARE rule arith-refl-gt
*/
ARITH_REFL_GT(58),
/**
* Auto-generated from RARE rule arith-real-eq-elim
*/
ARITH_REAL_EQ_ELIM(59),
/**
* Auto-generated from RARE rule arith-int-eq-elim
*/
ARITH_INT_EQ_ELIM(60),
/**
* Auto-generated from RARE rule arith-plus-flatten
*/
ARITH_PLUS_FLATTEN(61),
/**
* Auto-generated from RARE rule arith-mult-flatten
*/
ARITH_MULT_FLATTEN(62),
/**
* Auto-generated from RARE rule arith-mult-dist
*/
ARITH_MULT_DIST(63),
/**
* Auto-generated from RARE rule arith-plus-cancel1
*/
ARITH_PLUS_CANCEL1(64),
/**
* Auto-generated from RARE rule arith-plus-cancel2
*/
ARITH_PLUS_CANCEL2(65),
/**
* Auto-generated from RARE rule arith-abs-elim
*/
ARITH_ABS_ELIM(66),
/**
* Auto-generated from RARE rule arith-to-real-elim
*/
ARITH_TO_REAL_ELIM(67),
/**
* Auto-generated from RARE rule arith-to-int-elim-to-real
*/
ARITH_TO_INT_ELIM_TO_REAL(68),
/**
* Auto-generated from RARE rule arith-div-elim-to-real1
*/
ARITH_DIV_ELIM_TO_REAL1(69),
/**
* Auto-generated from RARE rule arith-div-elim-to-real2
*/
ARITH_DIV_ELIM_TO_REAL2(70),
/**
* Auto-generated from RARE rule array-read-over-write
*/
ARRAY_READ_OVER_WRITE(71),
/**
* Auto-generated from RARE rule array-read-over-write2
*/
ARRAY_READ_OVER_WRITE2(72),
/**
* Auto-generated from RARE rule array-store-overwrite
*/
ARRAY_STORE_OVERWRITE(73),
/**
* Auto-generated from RARE rule array-store-self
*/
ARRAY_STORE_SELF(74),
/**
* Auto-generated from RARE rule boolean-double-not-elim
*/
BOOL_DOUBLE_NOT_ELIM(75),
/**
* Auto-generated from RARE rule boolean-not-true
*/
BOOL_NOT_TRUE(76),
/**
* Auto-generated from RARE rule boolean-not-false
*/
BOOL_NOT_FALSE(77),
/**
* Auto-generated from RARE rule boolean-eq-true
*/
BOOL_EQ_TRUE(78),
/**
* Auto-generated from RARE rule boolean-eq-false
*/
BOOL_EQ_FALSE(79),
/**
* Auto-generated from RARE rule boolean-eq-nrefl
*/
BOOL_EQ_NREFL(80),
/**
* Auto-generated from RARE rule boolean-impl-false1
*/
BOOL_IMPL_FALSE1(81),
/**
* Auto-generated from RARE rule boolean-impl-false2
*/
BOOL_IMPL_FALSE2(82),
/**
* Auto-generated from RARE rule boolean-impl-true1
*/
BOOL_IMPL_TRUE1(83),
/**
* Auto-generated from RARE rule boolean-impl-true2
*/
BOOL_IMPL_TRUE2(84),
/**
* Auto-generated from RARE rule boolean-impl-elim
*/
BOOL_IMPL_ELIM(85),
/**
* Auto-generated from RARE rule boolean-or-true
*/
BOOL_OR_TRUE(86),
/**
* Auto-generated from RARE rule boolean-or-false
*/
BOOL_OR_FALSE(87),
/**
* Auto-generated from RARE rule boolean-or-flatten
*/
BOOL_OR_FLATTEN(88),
/**
* Auto-generated from RARE rule boolean-or-dup
*/
BOOL_OR_DUP(89),
/**
* Auto-generated from RARE rule boolean-and-true
*/
BOOL_AND_TRUE(90),
/**
* Auto-generated from RARE rule boolean-and-false
*/
BOOL_AND_FALSE(91),
/**
* Auto-generated from RARE rule boolean-and-flatten
*/
BOOL_AND_FLATTEN(92),
/**
* Auto-generated from RARE rule boolean-and-dup
*/
BOOL_AND_DUP(93),
/**
* Auto-generated from RARE rule boolean-and-conf
*/
BOOL_AND_CONF(94),
/**
* Auto-generated from RARE rule boolean-or-taut
*/
BOOL_OR_TAUT(95),
/**
* Auto-generated from RARE rule boolean-or-de-morgan
*/
BOOL_OR_DE_MORGAN(96),
/**
* Auto-generated from RARE rule boolean-implies-de-morgan
*/
BOOL_IMPLIES_DE_MORGAN(97),
/**
* Auto-generated from RARE rule boolean-and-de-morgan
*/
BOOL_AND_DE_MORGAN(98),
/**
* Auto-generated from RARE rule boolean-xor-refl
*/
BOOL_XOR_REFL(99),
/**
* Auto-generated from RARE rule boolean-xor-nrefl
*/
BOOL_XOR_NREFL(100),
/**
* Auto-generated from RARE rule boolean-xor-false
*/
BOOL_XOR_FALSE(101),
/**
* Auto-generated from RARE rule boolean-xor-true
*/
BOOL_XOR_TRUE(102),
/**
* Auto-generated from RARE rule boolean-xor-comm
*/
BOOL_XOR_COMM(103),
/**
* Auto-generated from RARE rule boolean-xor-elim
*/
BOOL_XOR_ELIM(104),
/**
* Auto-generated from RARE rule boolean-not-xor-elim
*/
BOOL_NOT_XOR_ELIM(105),
/**
* Auto-generated from RARE rule boolean-not-eq-elim
*/
BOOL_NOT_EQ_ELIM(106),
/**
* Auto-generated from RARE rule ite-neg-branch
*/
ITE_NEG_BRANCH(107),
/**
* Auto-generated from RARE rule ite-then-true
*/
ITE_THEN_TRUE(108),
/**
* Auto-generated from RARE rule ite-else-false
*/
ITE_ELSE_FALSE(109),
/**
* Auto-generated from RARE rule ite-then-false
*/
ITE_THEN_FALSE(110),
/**
* Auto-generated from RARE rule ite-else-true
*/
ITE_ELSE_TRUE(111),
/**
* Auto-generated from RARE rule ite-then-lookahead-self
*/
ITE_THEN_LOOKAHEAD_SELF(112),
/**
* Auto-generated from RARE rule ite-else-lookahead-self
*/
ITE_ELSE_LOOKAHEAD_SELF(113),
/**
* Auto-generated from RARE rule boolean-not-ite-elim
*/
BOOL_NOT_ITE_ELIM(114),
/**
* Auto-generated from RARE rule ite-true-cond
*/
ITE_TRUE_COND(115),
/**
* Auto-generated from RARE rule ite-false-cond
*/
ITE_FALSE_COND(116),
/**
* Auto-generated from RARE rule ite-not-cond
*/
ITE_NOT_COND(117),
/**
* Auto-generated from RARE rule ite-eq-branch
*/
ITE_EQ_BRANCH(118),
/**
* Auto-generated from RARE rule ite-then-lookahead
*/
ITE_THEN_LOOKAHEAD(119),
/**
* Auto-generated from RARE rule ite-else-lookahead
*/
ITE_ELSE_LOOKAHEAD(120),
/**
* Auto-generated from RARE rule ite-then-neg-lookahead
*/
ITE_THEN_NEG_LOOKAHEAD(121),
/**
* Auto-generated from RARE rule ite-else-neg-lookahead
*/
ITE_ELSE_NEG_LOOKAHEAD(122),
/**
* Auto-generated from RARE rule bv-concat-flatten
*/
BV_CONCAT_FLATTEN(123),
/**
* Auto-generated from RARE rule bv-concat-extract-merge
*/
BV_CONCAT_EXTRACT_MERGE(124),
/**
* Auto-generated from RARE rule bv-extract-extract
*/
BV_EXTRACT_EXTRACT(125),
/**
* Auto-generated from RARE rule bv-extract-whole
*/
BV_EXTRACT_WHOLE(126),
/**
* Auto-generated from RARE rule bv-extract-concat-1
*/
BV_EXTRACT_CONCAT_1(127),
/**
* Auto-generated from RARE rule bv-extract-concat-2
*/
BV_EXTRACT_CONCAT_2(128),
/**
* Auto-generated from RARE rule bv-extract-concat-3
*/
BV_EXTRACT_CONCAT_3(129),
/**
* Auto-generated from RARE rule bv-extract-concat-4
*/
BV_EXTRACT_CONCAT_4(130),
/**
* Auto-generated from RARE rule bv-extract-bitwise-and
*/
BV_EXTRACT_BITWISE_AND(131),
/**
* Auto-generated from RARE rule bv-extract-bitwise-or
*/
BV_EXTRACT_BITWISE_OR(132),
/**
* Auto-generated from RARE rule bv-extract-bitwise-xor
*/
BV_EXTRACT_BITWISE_XOR(133),
/**
* Auto-generated from RARE rule bv-extract-not
*/
BV_EXTRACT_NOT(134),
/**
* Auto-generated from RARE rule bv-extract-sign-extend-1
*/
BV_EXTRACT_SIGN_EXTEND_1(135),
/**
* Auto-generated from RARE rule bv-extract-sign-extend-2
*/
BV_EXTRACT_SIGN_EXTEND_2(136),
/**
* Auto-generated from RARE rule bv-extract-sign-extend-3
*/
BV_EXTRACT_SIGN_EXTEND_3(137),
/**
* Auto-generated from RARE rule bv-neg-mult
*/
BV_NEG_MULT(138),
/**
* Auto-generated from RARE rule bv-neg-add
*/
BV_NEG_ADD(139),
/**
* Auto-generated from RARE rule bv-mult-distrib--neg
*/
BV_MULT_DISTRIB_CONST_NEG(140),
/**
* Auto-generated from RARE rule bv-mult-distrib--add
*/
BV_MULT_DISTRIB_CONST_ADD(141),
/**
* Auto-generated from RARE rule bv-mult-distrib--sub
*/
BV_MULT_DISTRIB_CONST_SUB(142),
/**
* Auto-generated from RARE rule bv-mult-distrib-1
*/
BV_MULT_DISTRIB_1(143),
/**
* Auto-generated from RARE rule bv-mult-distrib-2
*/
BV_MULT_DISTRIB_2(144),
/**
* Auto-generated from RARE rule bv-not-xor
*/
BV_NOT_XOR(145),
/**
* Auto-generated from RARE rule bv-and-simplify-1
*/
BV_AND_SIMPLIFY_1(146),
/**
* Auto-generated from RARE rule bv-and-simplify-2
*/
BV_AND_SIMPLIFY_2(147),
/**
* Auto-generated from RARE rule bv-or-simplify-1
*/
BV_OR_SIMPLIFY_1(148),
/**
* Auto-generated from RARE rule bv-or-simplify-2
*/
BV_OR_SIMPLIFY_2(149),
/**
* Auto-generated from RARE rule bv-xor-simplify-1
*/
BV_XOR_SIMPLIFY_1(150),
/**
* Auto-generated from RARE rule bv-xor-simplify-2
*/
BV_XOR_SIMPLIFY_2(151),
/**
* Auto-generated from RARE rule bv-xor-simplify-3
*/
BV_XOR_SIMPLIFY_3(152),
/**
* Auto-generated from RARE rule bv-ult-add-one
*/
BV_ULT_ADD_ONE(153),
/**
* Auto-generated from RARE rule bv-concat-to-mult
*/
BV_CONCAT_TO_MULT(154),
/**
* Auto-generated from RARE rule bv-mult-slt-mult-1
*/
BV_MULT_SLT_MULT_1(155),
/**
* Auto-generated from RARE rule bv-mult-slt-mult-2
*/
BV_MULT_SLT_MULT_2(156),
/**
* Auto-generated from RARE rule bv-commutative-and
*/
BV_COMMUTATIVE_AND(157),
/**
* Auto-generated from RARE rule bv-commutative-or
*/
BV_COMMUTATIVE_OR(158),
/**
* Auto-generated from RARE rule bv-commutative-xor
*/
BV_COMMUTATIVE_XOR(159),
/**
* Auto-generated from RARE rule bv-commutative-mul
*/
BV_COMMUTATIVE_MUL(160),
/**
* Auto-generated from RARE rule bv-or-zero
*/
BV_OR_ZERO(161),
/**
* Auto-generated from RARE rule bv-mul-one
*/
BV_MUL_ONE(162),
/**
* Auto-generated from RARE rule bv-mul-zero
*/
BV_MUL_ZERO(163),
/**
* Auto-generated from RARE rule bv-add-zero
*/
BV_ADD_ZERO(164),
/**
* Auto-generated from RARE rule bv-add-two
*/
BV_ADD_TWO(165),
/**
* Auto-generated from RARE rule bv-zero-extend-eliminate-0
*/
BV_ZERO_EXTEND_ELIMINATE_0(166),
/**
* Auto-generated from RARE rule bv-sign-extend-eliminate-0
*/
BV_SIGN_EXTEND_ELIMINATE_0(167),
/**
* Auto-generated from RARE rule bv-not-neq
*/
BV_NOT_NEQ(168),
/**
* Auto-generated from RARE rule bv-ult-ones
*/
BV_ULT_ONES(169),
/**
* Auto-generated from RARE rule bv-or-flatten
*/
BV_OR_FLATTEN(170),
/**
* Auto-generated from RARE rule bv-xor-flatten
*/
BV_XOR_FLATTEN(171),
/**
* Auto-generated from RARE rule bv-and-flatten
*/
BV_AND_FLATTEN(172),
/**
* Auto-generated from RARE rule bv-mul-flatten
*/
BV_MUL_FLATTEN(173),
/**
* Auto-generated from RARE rule bv-concat-merge-
*/
BV_CONCAT_MERGE_CONST(174),
/**
* Auto-generated from RARE rule bv-commutative-add
*/
BV_COMMUTATIVE_ADD(175),
/**
* Auto-generated from RARE rule bv-neg-sub
*/
BV_NEG_SUB(176),
/**
* Auto-generated from RARE rule bv-neg-idemp
*/
BV_NEG_IDEMP(177),
/**
* Auto-generated from RARE rule bv-sub-eliminate
*/
BV_SUB_ELIMINATE(178),
/**
* Auto-generated from RARE rule bv-ugt-eliminate
*/
BV_UGT_ELIMINATE(179),
/**
* Auto-generated from RARE rule bv-uge-eliminate
*/
BV_UGE_ELIMINATE(180),
/**
* Auto-generated from RARE rule bv-sgt-eliminate
*/
BV_SGT_ELIMINATE(181),
/**
* Auto-generated from RARE rule bv-sge-eliminate
*/
BV_SGE_ELIMINATE(182),
/**
* Auto-generated from RARE rule bv-slt-eliminate
*/
BV_SLT_ELIMINATE(183),
/**
* Auto-generated from RARE rule bv-sle-eliminate
*/
BV_SLE_ELIMINATE(184),
/**
* Auto-generated from RARE rule bv-redor-eliminate
*/
BV_REDOR_ELIMINATE(185),
/**
* Auto-generated from RARE rule bv-redand-eliminate
*/
BV_REDAND_ELIMINATE(186),
/**
* Auto-generated from RARE rule bv-ule-eliminate
*/
BV_ULE_ELIMINATE(187),
/**
* Auto-generated from RARE rule bv-comp-eliminate
*/
BV_COMP_ELIMINATE(188),
/**
* Auto-generated from RARE rule bv-repeat-eliminate-1
*/
BV_REPEAT_ELIMINATE_1(189),
/**
* Auto-generated from RARE rule bv-repeat-eliminate-2
*/
BV_REPEAT_ELIMINATE_2(190),
/**
* Auto-generated from RARE rule bv-rotate-left-eliminate-1
*/
BV_ROTATE_LEFT_ELIMINATE_1(191),
/**
* Auto-generated from RARE rule bv-rotate-left-eliminate-2
*/
BV_ROTATE_LEFT_ELIMINATE_2(192),
/**
* Auto-generated from RARE rule bv-rotate-right-eliminate-1
*/
BV_ROTATE_RIGHT_ELIMINATE_1(193),
/**
* Auto-generated from RARE rule bv-rotate-right-eliminate-2
*/
BV_ROTATE_RIGHT_ELIMINATE_2(194),
/**
* Auto-generated from RARE rule bv-nand-eliminate
*/
BV_NAND_ELIMINATE(195),
/**
* Auto-generated from RARE rule bv-nor-eliminate
*/
BV_NOR_ELIMINATE(196),
/**
* Auto-generated from RARE rule bv-xnor-eliminate
*/
BV_XNOR_ELIMINATE(197),
/**
* Auto-generated from RARE rule bv-sdiv-eliminate
*/
BV_SDIV_ELIMINATE(198),
/**
* Auto-generated from RARE rule bv-sdiv-eliminate-fewer-bitwise-ops
*/
BV_SDIV_ELIMINATE_FEWER_BITWISE_OPS(199),
/**
* Auto-generated from RARE rule bv-zero-extend-eliminate
*/
BV_ZERO_EXTEND_ELIMINATE(200),
/**
* Auto-generated from RARE rule bv-sign-extend-eliminate
*/
BV_SIGN_EXTEND_ELIMINATE(201),
/**
* Auto-generated from RARE rule bv-uaddo-eliminate
*/
BV_UADDO_ELIMINATE(202),
/**
* Auto-generated from RARE rule bv-saddo-eliminate
*/
BV_SADDO_ELIMINATE(203),
/**
* Auto-generated from RARE rule bv-sdivo-eliminate
*/
BV_SDIVO_ELIMINATE(204),
/**
* Auto-generated from RARE rule bv-smod-eliminate
*/
BV_SMOD_ELIMINATE(205),
/**
* Auto-generated from RARE rule bv-smod-eliminate-fewer-bitwise-ops
*/
BV_SMOD_ELIMINATE_FEWER_BITWISE_OPS(206),
/**
* Auto-generated from RARE rule bv-srem-eliminate
*/
BV_SREM_ELIMINATE(207),
/**
* Auto-generated from RARE rule bv-srem-eliminate-fewer-bitwise-ops
*/
BV_SREM_ELIMINATE_FEWER_BITWISE_OPS(208),
/**
* Auto-generated from RARE rule bv-usubo-eliminate
*/
BV_USUBO_ELIMINATE(209),
/**
* Auto-generated from RARE rule bv-ssubo-eliminate
*/
BV_SSUBO_ELIMINATE(210),
/**
* Auto-generated from RARE rule bv-ite-equal-children
*/
BV_ITE_EQUAL_CHILDREN(211),
/**
* Auto-generated from RARE rule bv-ite--children-1
*/
BV_ITE_CONST_CHILDREN_1(212),
/**
* Auto-generated from RARE rule bv-ite--children-2
*/
BV_ITE_CONST_CHILDREN_2(213),
/**
* Auto-generated from RARE rule bv-ite-equal-cond-1
*/
BV_ITE_EQUAL_COND_1(214),
/**
* Auto-generated from RARE rule bv-ite-equal-cond-2
*/
BV_ITE_EQUAL_COND_2(215),
/**
* Auto-generated from RARE rule bv-ite-equal-cond-3
*/
BV_ITE_EQUAL_COND_3(216),
/**
* Auto-generated from RARE rule bv-ite-merge-then-if
*/
BV_ITE_MERGE_THEN_IF(217),
/**
* Auto-generated from RARE rule bv-ite-merge-else-if
*/
BV_ITE_MERGE_ELSE_IF(218),
/**
* Auto-generated from RARE rule bv-ite-merge-then-else
*/
BV_ITE_MERGE_THEN_ELSE(219),
/**
* Auto-generated from RARE rule bv-ite-merge-else-else
*/
BV_ITE_MERGE_ELSE_ELSE(220),
/**
* Auto-generated from RARE rule bv-shl-by--0
*/
BV_SHL_BY_CONST_0(221),
/**
* Auto-generated from RARE rule bv-shl-by--1
*/
BV_SHL_BY_CONST_1(222),
/**
* Auto-generated from RARE rule bv-shl-by--2
*/
BV_SHL_BY_CONST_2(223),
/**
* Auto-generated from RARE rule bv-lshr-by--0
*/
BV_LSHR_BY_CONST_0(224),
/**
* Auto-generated from RARE rule bv-lshr-by--1
*/
BV_LSHR_BY_CONST_1(225),
/**
* Auto-generated from RARE rule bv-lshr-by--2
*/
BV_LSHR_BY_CONST_2(226),
/**
* Auto-generated from RARE rule bv-ashr-by--0
*/
BV_ASHR_BY_CONST_0(227),
/**
* Auto-generated from RARE rule bv-ashr-by--1
*/
BV_ASHR_BY_CONST_1(228),
/**
* Auto-generated from RARE rule bv-ashr-by--2
*/
BV_ASHR_BY_CONST_2(229),
/**
* Auto-generated from RARE rule bv-and-concat-pullup
*/
BV_AND_CONCAT_PULLUP(230),
/**
* Auto-generated from RARE rule bv-or-concat-pullup
*/
BV_OR_CONCAT_PULLUP(231),
/**
* Auto-generated from RARE rule bv-xor-concat-pullup
*/
BV_XOR_CONCAT_PULLUP(232),
/**
* Auto-generated from RARE rule bv-bitwise-idemp-1
*/
BV_BITWISE_IDEMP_1(233),
/**
* Auto-generated from RARE rule bv-bitwise-idemp-2
*/
BV_BITWISE_IDEMP_2(234),
/**
* Auto-generated from RARE rule bv-and-zero
*/
BV_AND_ZERO(235),
/**
* Auto-generated from RARE rule bv-and-one
*/
BV_AND_ONE(236),
/**
* Auto-generated from RARE rule bv-or-one
*/
BV_OR_ONE(237),
/**
* Auto-generated from RARE rule bv-xor-duplicate
*/
BV_XOR_DUPLICATE(238),
/**
* Auto-generated from RARE rule bv-xor-ones
*/
BV_XOR_ONES(239),
/**
* Auto-generated from RARE rule bv-xor-zero
*/
BV_XOR_ZERO(240),
/**
* Auto-generated from RARE rule bv-bitwise-not-and
*/
BV_BITWISE_NOT_AND(241),
/**
* Auto-generated from RARE rule bv-bitwise-not-or
*/
BV_BITWISE_NOT_OR(242),
/**
* Auto-generated from RARE rule bv-xor-not
*/
BV_XOR_NOT(243),
/**
* Auto-generated from RARE rule bv-not-idemp
*/
BV_NOT_IDEMP(244),
/**
* Auto-generated from RARE rule bv-ult-zero-1
*/
BV_ULT_ZERO_1(245),
/**
* Auto-generated from RARE rule bv-ult-zero-2
*/
BV_ULT_ZERO_2(246),
/**
* Auto-generated from RARE rule bv-ult-self
*/
BV_ULT_SELF(247),
/**
* Auto-generated from RARE rule bv-lt-self
*/
BV_LT_SELF(248),
/**
* Auto-generated from RARE rule bv-ule-self
*/
BV_ULE_SELF(249),
/**
* Auto-generated from RARE rule bv-ule-zero
*/
BV_ULE_ZERO(250),
/**
* Auto-generated from RARE rule bv-zero-ule
*/
BV_ZERO_ULE(251),
/**
* Auto-generated from RARE rule bv-sle-self
*/
BV_SLE_SELF(252),
/**
* Auto-generated from RARE rule bv-ule-max
*/
BV_ULE_MAX(253),
/**
* Auto-generated from RARE rule bv-not-ult
*/
BV_NOT_ULT(254),
/**
* Auto-generated from RARE rule bv-not-ule
*/
BV_NOT_ULE(255),
/**
* Auto-generated from RARE rule bv-not-sle
*/
BV_NOT_SLE(256),
/**
* Auto-generated from RARE rule bv-mult-pow2-1
*/
BV_MULT_POW2_1(257),
/**
* Auto-generated from RARE rule bv-mult-pow2-2
*/
BV_MULT_POW2_2(258),
/**
* Auto-generated from RARE rule bv-mult-pow2-2b
*/
BV_MULT_POW2_2B(259),
/**
* Auto-generated from RARE rule bv-extract-mult-leading-bit
*/
BV_EXTRACT_MULT_LEADING_BIT(260),
/**
* Auto-generated from RARE rule bv-udiv-pow2-not-one
*/
BV_UDIV_POW2_NOT_ONE(261),
/**
* Auto-generated from RARE rule bv-udiv-zero
*/
BV_UDIV_ZERO(262),
/**
* Auto-generated from RARE rule bv-udiv-one
*/
BV_UDIV_ONE(263),
/**
* Auto-generated from RARE rule bv-urem-pow2-not-one
*/
BV_UREM_POW2_NOT_ONE(264),
/**
* Auto-generated from RARE rule bv-urem-one
*/
BV_UREM_ONE(265),
/**
* Auto-generated from RARE rule bv-urem-self
*/
BV_UREM_SELF(266),
/**
* Auto-generated from RARE rule bv-shl-zero
*/
BV_SHL_ZERO(267),
/**
* Auto-generated from RARE rule bv-lshr-zero
*/
BV_LSHR_ZERO(268),
/**
* Auto-generated from RARE rule bv-ashr-zero
*/
BV_ASHR_ZERO(269),
/**
* Auto-generated from RARE rule bv-ugt-urem
*/
BV_UGT_UREM(270),
/**
* Auto-generated from RARE rule bv-ult-one
*/
BV_ULT_ONE(271),
/**
* Auto-generated from RARE rule bv-slt-zero
*/
BV_SLT_ZERO(272),
/**
* Auto-generated from RARE rule bv-merge-sign-extend-1
*/
BV_MERGE_SIGN_EXTEND_1(273),
/**
* Auto-generated from RARE rule bv-merge-sign-extend-2
*/
BV_MERGE_SIGN_EXTEND_2(274),
/**
* Auto-generated from RARE rule bv-merge-sign-extend-3
*/
BV_MERGE_SIGN_EXTEND_3(275),
/**
* Auto-generated from RARE rule bv-sign-extend-eq--1
*/
BV_SIGN_EXTEND_EQ_CONST_1(276),
/**
* Auto-generated from RARE rule bv-sign-extend-eq--2
*/
BV_SIGN_EXTEND_EQ_CONST_2(277),
/**
* Auto-generated from RARE rule bv-zero-extend-eq--1
*/
BV_ZERO_EXTEND_EQ_CONST_1(278),
/**
* Auto-generated from RARE rule bv-zero-extend-eq--2
*/
BV_ZERO_EXTEND_EQ_CONST_2(279),
/**
* Auto-generated from RARE rule bv-zero-extend-ult--1
*/
BV_ZERO_EXTEND_ULT_CONST_1(280),
/**
* Auto-generated from RARE rule bv-zero-extend-ult--2
*/
BV_ZERO_EXTEND_ULT_CONST_2(281),
/**
* Auto-generated from RARE rule bv-sign-extend-ult--1
*/
BV_SIGN_EXTEND_ULT_CONST_1(282),
/**
* Auto-generated from RARE rule bv-sign-extend-ult--2
*/
BV_SIGN_EXTEND_ULT_CONST_2(283),
/**
* Auto-generated from RARE rule bv-sign-extend-ult--3
*/
BV_SIGN_EXTEND_ULT_CONST_3(284),
/**
* Auto-generated from RARE rule bv-sign-extend-ult--4
*/
BV_SIGN_EXTEND_ULT_CONST_4(285),
/**
* Auto-generated from RARE rule sets-eq-singleton-emp
*/
SETS_EQ_SINGLETON_EMP(286),
/**
* Auto-generated from RARE rule sets-member-singleton
*/
SETS_MEMBER_SINGLETON(287),
/**
* Auto-generated from RARE rule sets-member-emp
*/
SETS_MEMBER_EMP(288),
/**
* Auto-generated from RARE rule sets-subset-elim
*/
SETS_SUBSET_ELIM(289),
/**
* Auto-generated from RARE rule sets-union-comm
*/
SETS_UNION_COMM(290),
/**
* Auto-generated from RARE rule sets-inter-comm
*/
SETS_INTER_COMM(291),
/**
* Auto-generated from RARE rule sets-inter-emp1
*/
SETS_INTER_EMP1(292),
/**
* Auto-generated from RARE rule sets-inter-emp2
*/
SETS_INTER_EMP2(293),
/**
* Auto-generated from RARE rule sets-minus-emp1
*/
SETS_MINUS_EMP1(294),
/**
* Auto-generated from RARE rule sets-minus-emp2
*/
SETS_MINUS_EMP2(295),
/**
* Auto-generated from RARE rule sets-union-emp1
*/
SETS_UNION_EMP1(296),
/**
* Auto-generated from RARE rule sets-union-emp2
*/
SETS_UNION_EMP2(297),
/**
* Auto-generated from RARE rule sets-inter-member
*/
SETS_INTER_MEMBER(298),
/**
* Auto-generated from RARE rule sets-minus-member
*/
SETS_MINUS_MEMBER(299),
/**
* Auto-generated from RARE rule sets-union-member
*/
SETS_UNION_MEMBER(300),
/**
* Auto-generated from RARE rule sets-choose-singleton
*/
SETS_CHOOSE_SINGLETON(301),
/**
* Auto-generated from RARE rule sets-card-singleton
*/
SETS_CARD_SINGLETON(302),
/**
* Auto-generated from RARE rule sets-card-union
*/
SETS_CARD_UNION(303),
/**
* Auto-generated from RARE rule sets-card-minus
*/
SETS_CARD_MINUS(304),
/**
* Auto-generated from RARE rule sets-card-emp
*/
SETS_CARD_EMP(305),
/**
* Auto-generated from RARE rule str-eq-ctn-false
*/
STR_EQ_CTN_FALSE(306),
/**
* Auto-generated from RARE rule str-eq-ctn-full-false1
*/
STR_EQ_CTN_FULL_FALSE1(307),
/**
* Auto-generated from RARE rule str-eq-ctn-full-false2
*/
STR_EQ_CTN_FULL_FALSE2(308),
/**
* Auto-generated from RARE rule str-concat-flatten
*/
STR_CONCAT_FLATTEN(309),
/**
* Auto-generated from RARE rule str-concat-flatten-eq
*/
STR_CONCAT_FLATTEN_EQ(310),
/**
* Auto-generated from RARE rule str-concat-flatten-eq-rev
*/
STR_CONCAT_FLATTEN_EQ_REV(311),
/**
* Auto-generated from RARE rule str-substr-empty-str
*/
STR_SUBSTR_EMPTY_STR(312),
/**
* Auto-generated from RARE rule str-substr-empty-range
*/
STR_SUBSTR_EMPTY_RANGE(313),
/**
* Auto-generated from RARE rule str-substr-empty-start
*/
STR_SUBSTR_EMPTY_START(314),
/**
* Auto-generated from RARE rule str-substr-empty-start-neg
*/
STR_SUBSTR_EMPTY_START_NEG(315),
/**
* Auto-generated from RARE rule str-substr-eq-empty
*/
STR_SUBSTR_EQ_EMPTY(316),
/**
* Auto-generated from RARE rule str-len-replace-inv
*/
STR_LEN_REPLACE_INV(317),
/**
* Auto-generated from RARE rule str-len-update-inv
*/
STR_LEN_UPDATE_INV(318),
/**
* Auto-generated from RARE rule str-len-substr-in-range
*/
STR_LEN_SUBSTR_IN_RANGE(319),
/**
* Auto-generated from RARE rule str-len-substr-ub1
*/
STR_LEN_SUBSTR_UB1(320),
/**
* Auto-generated from RARE rule str-len-substr-ub2
*/
STR_LEN_SUBSTR_UB2(321),
/**
* Auto-generated from RARE rule str-concat-clash
*/
STR_CONCAT_CLASH(322),
/**
* Auto-generated from RARE rule str-concat-clash-rev
*/
STR_CONCAT_CLASH_REV(323),
/**
* Auto-generated from RARE rule str-concat-clash2
*/
STR_CONCAT_CLASH2(324),
/**
* Auto-generated from RARE rule str-concat-clash2-rev
*/
STR_CONCAT_CLASH2_REV(325),
/**
* Auto-generated from RARE rule str-concat-unify
*/
STR_CONCAT_UNIFY(326),
/**
* Auto-generated from RARE rule str-concat-unify-rev
*/
STR_CONCAT_UNIFY_REV(327),
/**
* Auto-generated from RARE rule str-concat-unify-base
*/
STR_CONCAT_UNIFY_BASE(328),
/**
* Auto-generated from RARE rule str-concat-unify-base-rev
*/
STR_CONCAT_UNIFY_BASE_REV(329),
/**
* Auto-generated from RARE rule str-concat-clash-char
*/
STR_CONCAT_CLASH_CHAR(330),
/**
* Auto-generated from RARE rule str-concat-clash-char-rev
*/
STR_CONCAT_CLASH_CHAR_REV(331),
/**
* Auto-generated from RARE rule str-prefixof-elim
*/
STR_PREFIXOF_ELIM(332),
/**
* Auto-generated from RARE rule str-suffixof-elim
*/
STR_SUFFIXOF_ELIM(333),
/**
* Auto-generated from RARE rule str-prefixof-one
*/
STR_PREFIXOF_ONE(334),
/**
* Auto-generated from RARE rule str-suffixof-one
*/
STR_SUFFIXOF_ONE(335),
/**
* Auto-generated from RARE rule str-substr-combine1
*/
STR_SUBSTR_COMBINE1(336),
/**
* Auto-generated from RARE rule str-substr-combine2
*/
STR_SUBSTR_COMBINE2(337),
/**
* Auto-generated from RARE rule str-substr-combine3
*/
STR_SUBSTR_COMBINE3(338),
/**
* Auto-generated from RARE rule str-substr-combine4
*/
STR_SUBSTR_COMBINE4(339),
/**
* Auto-generated from RARE rule str-substr-concat1
*/
STR_SUBSTR_CONCAT1(340),
/**
* Auto-generated from RARE rule str-substr-concat2
*/
STR_SUBSTR_CONCAT2(341),
/**
* Auto-generated from RARE rule str-substr-full
*/
STR_SUBSTR_FULL(342),
/**
* Auto-generated from RARE rule str-substr-full-eq
*/
STR_SUBSTR_FULL_EQ(343),
/**
* Auto-generated from RARE rule str-contains-refl
*/
STR_CONTAINS_REFL(344),
/**
* Auto-generated from RARE rule str-contains-concat-find
*/
STR_CONTAINS_CONCAT_FIND(345),
/**
* Auto-generated from RARE rule str-contains-split-char
*/
STR_CONTAINS_SPLIT_CHAR(346),
/**
* Auto-generated from RARE rule str-contains-lt-len
*/
STR_CONTAINS_LT_LEN(347),
/**
* Auto-generated from RARE rule str-contains-leq-len-eq
*/
STR_CONTAINS_LEQ_LEN_EQ(348),
/**
* Auto-generated from RARE rule str-contains-emp
*/
STR_CONTAINS_EMP(349),
/**
* Auto-generated from RARE rule str-contains-is-emp
*/
STR_CONTAINS_IS_EMP(350),
/**
* Auto-generated from RARE rule str-concat-emp
*/
STR_CONCAT_EMP(351),
/**
* Auto-generated from RARE rule str-at-elim
*/
STR_AT_ELIM(352),
/**
* Auto-generated from RARE rule str-replace-self
*/
STR_REPLACE_SELF(353),
/**
* Auto-generated from RARE rule str-replace-no-contains
*/
STR_REPLACE_NO_CONTAINS(354),
/**
* Auto-generated from RARE rule str-replace-empty
*/
STR_REPLACE_EMPTY(355),
/**
* Auto-generated from RARE rule str-len-concat-rec
*/
STR_LEN_CONCAT_REC(356),
/**
* Auto-generated from RARE rule str-indexof-self
*/
STR_INDEXOF_SELF(357),
/**
* Auto-generated from RARE rule str-indexof-no-contains
*/
STR_INDEXOF_NO_CONTAINS(358),
/**
* Auto-generated from RARE rule str-to-lower-concat
*/
STR_TO_LOWER_CONCAT(359),
/**
* Auto-generated from RARE rule str-to-upper-concat
*/
STR_TO_UPPER_CONCAT(360),
/**
* Auto-generated from RARE rule str-to-lower-upper
*/
STR_TO_LOWER_UPPER(361),
/**
* Auto-generated from RARE rule str-to-upper-lower
*/
STR_TO_UPPER_LOWER(362),
/**
* Auto-generated from RARE rule re-all-elim
*/
RE_ALL_ELIM(363),
/**
* Auto-generated from RARE rule re-opt-elim
*/
RE_OPT_ELIM(364),
/**
* Auto-generated from RARE rule re-diff-elim
*/
RE_DIFF_ELIM(365),
/**
* Auto-generated from RARE rule re-concat-emp
*/
RE_CONCAT_EMP(366),
/**
* Auto-generated from RARE rule re-concat-none
*/
RE_CONCAT_NONE(367),
/**
* Auto-generated from RARE rule re-concat-flatten
*/
RE_CONCAT_FLATTEN(368),
/**
* Auto-generated from RARE rule re-concat-star-swap
*/
RE_CONCAT_STAR_SWAP(369),
/**
* Auto-generated from RARE rule re-concat-merge
*/
RE_CONCAT_MERGE(370),
/**
* Auto-generated from RARE rule re-union-all
*/
RE_UNION_ALL(371),
/**
* Auto-generated from RARE rule re-union-none
*/
RE_UNION_NONE(372),
/**
* Auto-generated from RARE rule re-union-flatten
*/
RE_UNION_FLATTEN(373),
/**
* Auto-generated from RARE rule re-union-dup
*/
RE_UNION_DUP(374),
/**
* Auto-generated from RARE rule re-inter-all
*/
RE_INTER_ALL(375),
/**
* Auto-generated from RARE rule re-inter-none
*/
RE_INTER_NONE(376),
/**
* Auto-generated from RARE rule re-inter-flatten
*/
RE_INTER_FLATTEN(377),
/**
* Auto-generated from RARE rule re-inter-dup
*/
RE_INTER_DUP(378),
/**
* Auto-generated from RARE rule re-loop-neg
*/
RE_LOOP_NEG(379),
/**
* Auto-generated from RARE rule re-inter-cstring
*/
RE_INTER_CSTRING(380),
/**
* Auto-generated from RARE rule re-inter-cstring-neg
*/
RE_INTER_CSTRING_NEG(381),
/**
* Auto-generated from RARE rule str-nth-elim-code
*/
STR_NTH_ELIM_CODE(382),
/**
* Auto-generated from RARE rule str-substr-len-include
*/
STR_SUBSTR_LEN_INCLUDE(383),
/**
* Auto-generated from RARE rule str-substr-len-include-pre
*/
STR_SUBSTR_LEN_INCLUDE_PRE(384),
/**
* Auto-generated from RARE rule str-substr-len-skip
*/
STR_SUBSTR_LEN_SKIP(385),
/**
* Auto-generated from RARE rule seq-rev-concat
*/
SEQ_REV_CONCAT(386),
/**
* Auto-generated from RARE rule seq-len-unit
*/
SEQ_LEN_UNIT(387),
/**
* Auto-generated from RARE rule seq-nth-unit
*/
SEQ_NTH_UNIT(388),
/**
* Auto-generated from RARE rule seq-rev-unit
*/
SEQ_REV_UNIT(389),
/**
* Auto-generated from RARE rule re-in-empty
*/
RE_IN_EMPTY(390),
/**
* Auto-generated from RARE rule re-in-sigma
*/
RE_IN_SIGMA(391),
/**
* Auto-generated from RARE rule re-in-sigma-star
*/
RE_IN_SIGMA_STAR(392),
/**
* Auto-generated from RARE rule re-in-cstring
*/
RE_IN_CSTRING(393),
/**
* Auto-generated from RARE rule re-in-comp
*/
RE_IN_COMP(394),
/**
* Auto-generated from RARE rule str-in-re-union-elim
*/
STR_IN_RE_UNION_ELIM(395),
/**
* Auto-generated from RARE rule str-in-re-inter-elim
*/
STR_IN_RE_INTER_ELIM(396),
/**
* Auto-generated from RARE rule str-in-re-range-elim
*/
STR_IN_RE_RANGE_ELIM(397),
/**
* Auto-generated from RARE rule str-in-re-contains
*/
STR_IN_RE_CONTAINS(398),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix
*/
STR_IN_RE_STRIP_PREFIX(399),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-neg
*/
STR_IN_RE_STRIP_PREFIX_NEG(400),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-sr-single
*/
STR_IN_RE_STRIP_PREFIX_SR_SINGLE(401),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-sr-single-neg
*/
STR_IN_RE_STRIP_PREFIX_SR_SINGLE_NEG(402),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-srs-single
*/
STR_IN_RE_STRIP_PREFIX_SRS_SINGLE(403),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-srs-single-neg
*/
STR_IN_RE_STRIP_PREFIX_SRS_SINGLE_NEG(404),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-s-single
*/
STR_IN_RE_STRIP_PREFIX_S_SINGLE(405),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-s-single-neg
*/
STR_IN_RE_STRIP_PREFIX_S_SINGLE_NEG(406),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base
*/
STR_IN_RE_STRIP_PREFIX_BASE(407),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-neg
*/
STR_IN_RE_STRIP_PREFIX_BASE_NEG(408),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-s-single
*/
STR_IN_RE_STRIP_PREFIX_BASE_S_SINGLE(409),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-s-single-neg
*/
STR_IN_RE_STRIP_PREFIX_BASE_S_SINGLE_NEG(410),
/**
* Auto-generated from RARE rule str-in-re-strip-char
*/
STR_IN_RE_STRIP_CHAR(411),
/**
* Auto-generated from RARE rule str-in-re-strip-char-s-single
*/
STR_IN_RE_STRIP_CHAR_S_SINGLE(412),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-rev
*/
STR_IN_RE_STRIP_PREFIX_REV(413),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-neg-rev
*/
STR_IN_RE_STRIP_PREFIX_NEG_REV(414),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-sr-single-rev
*/
STR_IN_RE_STRIP_PREFIX_SR_SINGLE_REV(415),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-sr-single-neg-rev
*/
STR_IN_RE_STRIP_PREFIX_SR_SINGLE_NEG_REV(416),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-srs-single-rev
*/
STR_IN_RE_STRIP_PREFIX_SRS_SINGLE_REV(417),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-srs-single-neg-rev
*/
STR_IN_RE_STRIP_PREFIX_SRS_SINGLE_NEG_REV(418),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-s-single-rev
*/
STR_IN_RE_STRIP_PREFIX_S_SINGLE_REV(419),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-s-single-neg-rev
*/
STR_IN_RE_STRIP_PREFIX_S_SINGLE_NEG_REV(420),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-rev
*/
STR_IN_RE_STRIP_PREFIX_BASE_REV(421),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-neg-rev
*/
STR_IN_RE_STRIP_PREFIX_BASE_NEG_REV(422),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-s-single-rev
*/
STR_IN_RE_STRIP_PREFIX_BASE_S_SINGLE_REV(423),
/**
* Auto-generated from RARE rule str-in-re-strip-prefix-base-s-single-neg-rev
*/
STR_IN_RE_STRIP_PREFIX_BASE_S_SINGLE_NEG_REV(424),
/**
* Auto-generated from RARE rule str-in-re-strip-char-rev
*/
STR_IN_RE_STRIP_CHAR_REV(425),
/**
* Auto-generated from RARE rule str-in-re-strip-char-s-single-rev
*/
STR_IN_RE_STRIP_CHAR_S_SINGLE_REV(426),
/**
* Auto-generated from RARE rule str-in-re-req-unfold
*/
STR_IN_RE_REQ_UNFOLD(427),
/**
* Auto-generated from RARE rule str-in-re-req-unfold-rev
*/
STR_IN_RE_REQ_UNFOLD_REV(428),
/**
* Auto-generated from RARE rule str-in-re-skip-unfold
*/
STR_IN_RE_SKIP_UNFOLD(429),
/**
* Auto-generated from RARE rule str-in-re-skip-unfold-rev
*/
STR_IN_RE_SKIP_UNFOLD_REV(430),
/**
* Auto-generated from RARE rule str-in-re-test-unfold
*/
STR_IN_RE_TEST_UNFOLD(431),
/**
* Auto-generated from RARE rule str-in-re-test-unfold-rev
*/
STR_IN_RE_TEST_UNFOLD_REV(432),
/**
* Auto-generated from RARE rule eq-refl
*/
EQ_REFL(433),
/**
* Auto-generated from RARE rule eq-symm
*/
EQ_SYMM(434),
/**
* Auto-generated from RARE rule distinct-binary-elim
*/
DISTINCT_BINARY_ELIM(435),
/**
* Auto-generated from RARE rule uf-bv2nat-geq-elim
*/
UF_BV2NAT_GEQ_ELIM(436),
;
/* the int value of the ProofRewriteRule */
private int value;
private static int minValue = 0;
private static int maxValue = 0;
private static Map enumMap = new HashMap<>();
private ProofRewriteRule(int value)
{
this.value = value;
}
static
{
boolean firstValue = true;
for (ProofRewriteRule enumerator : ProofRewriteRule.values())
{
int value = enumerator.getValue();
if (firstValue)
{
minValue = value;
maxValue = value;
firstValue = false;
}
minValue = Math.min(minValue, value);
maxValue = Math.max(maxValue, value);
enumMap.put(value, enumerator);
}
}
public static ProofRewriteRule fromInt(int value) throws CVC5ApiException
{
if (value < minValue || value > maxValue)
{
throw new CVC5ApiException("ProofRewriteRule value " + value + " is outside the valid range ["
+ minValue + "," + maxValue + "]");
}
return enumMap.get(value);
}
public int getValue()
{
return value;
}
}