Remove logic request (#6089)
[cvc5.git] / src / preprocessing / passes / apply_substs.h
1 /********************* */
2 /*! \file apply_substs.h
3 ** \verbatim
4 ** Top contributors (to current version):
5 ** Aina Niemetz, Mathias Preiner, Gereon Kremer
6 ** This file is part of the CVC4 project.
7 ** Copyright (c) 2009-2021 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.\endverbatim
11 **
12 ** \brief Apply substitutions preprocessing pass.
13 **
14 ** Apply top level substitutions to assertions, rewrite, and store back into
15 ** assertions.
16 **/
17
18 #include "cvc4_private.h"
19
20 #ifndef CVC4__PREPROCESSING__PASSES__APPLY_SUBSTS_H
21 #define CVC4__PREPROCESSING__PASSES__APPLY_SUBSTS_H
22
23 #include "preprocessing/preprocessing_pass.h"
24
25 namespace CVC4 {
26 namespace preprocessing {
27
28 class PreprocessingPassContext;
29
30 namespace passes {
31
32 class ApplySubsts : public PreprocessingPass
33 {
34 public:
35 ApplySubsts(PreprocessingPassContext* preprocContext);
36
37 protected:
38 /**
39 * Apply assertionsToPreprocess->getTopLevelSubstitutions() to the
40 * assertions, in assertionsToPreprocess, rewrite, and store back into
41 * given assertion pipeline.
42 */
43 PreprocessingPassResult applyInternal(
44 AssertionPipeline* assertionsToPreprocess) override;
45 };
46
47 } // namespace passes
48 } // namespace preprocessing
49 } // namespace CVC4
50
51 #endif