SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
MCSATSettings.h
Go to the documentation of this file.
1 #pragma once
2 
16 
17 namespace smtrat {
18 namespace mcsat {
19 
20 struct Base {
21  static constexpr bool early_evaluation = false;
22 };
23 
27 };
28 
31  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
33 };
36  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
38 };
39 
40 //OneCell only
46 };
52 };
58 };
64 };
68 };
72 };
76 };
80 };
84 };
88 };
92 };
96 };
100 };
103  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
106 };
109  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
112 };
115  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
118 };
121  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
124 };
127  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
130 };
133  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
134  //TODO add parallel explanation functionality
135  /*
136  using ExplanationBackend = SequentialExplanation<
137  FastParallelExplanation<
138  fm::Explanation<fm::DefaultSettings>,
139  icp::Explanation,
140  vs::Explanation>,
141  FastParallelExplanation<
142  onecellcad::recursive::Explanation<onecellcad::recursive::CoverNullification>,
143  onecellcad::levelwise::Explanation<onecellcad::levelwise::SectionHeuristic1,onecellcad::levelwise::SectorHeuristic1>,
144  onecellcad::levelwise::Explanation<onecellcad::levelwise::SectionHeuristic1,onecellcad::levelwise::SectorHeuristic2>,
145  onecellcad::levelwise::Explanation<onecellcad::levelwise::SectionHeuristic1,onecellcad::levelwise::SectorHeuristic3>,
146  nlsat::Explanation >>;
147  */
149 };
152  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
153  //TODO add parallel explanation functionality
154  /*using ExplanationBackend = FastParallelExplanation<
155  onecellcad::recursive::Explanation<onecellcad::recursive::CoverNullification>,
156  onecellcad::levelwise::Explanation<onecellcad::levelwise::SectionHeuristic1,onecellcad::levelwise::SectorHeuristic1>,
157  onecellcad::levelwise::Explanation<onecellcad::levelwise::SectionHeuristic1,onecellcad::levelwise::SectorHeuristic2>,
158  onecellcad::levelwise::Explanation<onecellcad::levelwise::SectionHeuristic1,onecellcad::levelwise::SectorHeuristic3>,
159  nlsat::Explanation >;
160  */
162 };
166 };
170 };
171 
175 };
179 };
180 
184 };
187  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
189 };
192  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
194 };
197  //using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
199 };
202  // using AssignmentFinderBackend = SequentialAssignment<smtaf::AssignmentFinder<smtaf::DefaultSettings>,arithmetic::AssignmentFinder>;
204 };
205 
209 };
210 
214 };
215 
219 };
220 
221 struct MCSAT_AF_NL : Base {
224 };
225 struct MCSAT_AF_OCNL : Base {
228 };
232 };
236 };
240 };
244 };
245 
249 };
250 
251 }
252 }
std::variant< FormulaT, ClauseChain > Explanation
Definition: smtrat-mcsat.h:14
Class to create the formulas for axioms.
static constexpr bool early_evaluation
Definition: MCSATSettings.h:21