@@ -0,0 +1,1777 @@
+// This file is part of JavaSMT,%0A// an API wrapper for a collection of SMT solvers:%0A// https://github.com/sosy-lab/java-smt%0A//%0A// SPDX-FileCopyrightText: 2020 Dirk Beyer %3Chttps://www.sosy-lab.org%3E%0A//%0A// SPDX-License-Identifier: Apache-2.0%0A%0Apackage org.sosy_lab.java_smt.solvers.cvc5;%0A%0Aimport io.github.cvc5.api.Kind;%0Aimport io.github.cvc5.api.Solver;%0Aimport io.github.cvc5.api.Sort;%0Aimport io.github.cvc5.api.Term;%0Aimport org.sosy_lab.java_smt.api.Formula;%0Aimport org.sosy_lab.java_smt.api.FormulaType;%0Aimport org.sosy_lab.java_smt.api.FormulaType.ArrayFormulaType;%0Aimport org.sosy_lab.java_smt.basicimpl.AbstractArrayFormulaManager;%0A%0Apublic class CVC5ArrayFormulaManager extends AbstractArrayFormulaManager%3CTerm, Sort, Solver, Term%3E %7B%0A%0A  private final Solver solver;%0A%0A  public CVC5ArrayFormulaManager(CVC5FormulaCreator pFormulaCreator) %7B%0A    super(pFormulaCreator);%0A    solver = pFormulaCreator.getEnv();%0A  %7D%0A%0A  @Override%0A  protected Term select(Term pArray, Term pIndex) %7B%0A    return solver.mkTerm(Kind.SELECT, pArray, pIndex);%0A  %7D%0A%0A  @Override%0A  protected Term store(Term pArray, Term pIndex, Term pValue) %7B%0A    return solver.mkTerm(Kind.STORE, pArray, pIndex, pValue);%0A  %7D%0A%0A  @Override%0A  @SuppressWarnings(%22MethodTypeParameterName%22)%0A  protected %3CTI extends Formula, TE extends Formula%3E Term internalMakeArray(%0A      String pName, FormulaType%3CTI%3E pIndexType, FormulaType%3CTE%3E pElementType) %7B%0A    final ArrayFormulaType%3CTI, TE%3E arrayFormulaType =%0A        FormulaType.getArrayType(pIndexType, pElementType);%0A    final Sort cvc5ArrayType = toSolverType(arrayFormulaType);%0A    return getFormulaCreator().makeVariable(cvc5ArrayType, pName);%0A  %7D%0A%0A  @Override%0A  protected Term equivalence(Term pArray1, Term pArray2) %7B%0A    return solver.mkTerm(Kind.EQUAL, pArray1, pArray2);%0A  %7D%0A%7D%0A

Add CVC5ArrayFormulaManager