SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
STropSettings.h
Go to the documentation of this file.
1 /**
2  * @file STropSettings.h
3  * @author Ă–mer Sali <oemer.sali@rwth-aachen.de>
4  *
5  * @version 2022-04-19
6  * Created on 2017-09-13.
7  */
8 
9 #pragma once
10 #include "Subtropical.h"
11 
12 namespace smtrat {
17 
18 /// Take conjunctions incrementally, construct linear formulas for LRA solver
20  /// Name of the Module
21  static constexpr auto moduleName = "STropModule<STropSettings1>";
22  /// Type of linear separating hyperplane to search for
24  /// incremental mode for SMT solving
26 
27  static constexpr bool output_only = false;
28 };
29 
30 /* Transform formula into equivalent equation
31  * Sum up coefficients, if sum is less than 0 then find positive point (using reduction).
32  * if sum is greater than 0 find negative point (using reduction).
33  * Otherwise (x_1,...,x_n) = (1,...,1) is a solution
34  */
36  /// Name of the Module
37  static constexpr auto moduleName = "STropModule<STropSettings2>";
38  /// Type of linear separating hyperplane to search for
40  /// transformation of the formula to an equation
41  static constexpr Mode mode = Mode::TRANSFORM_EQUATION;
42 
43  static constexpr bool output_only = false;
44 };
45 
46 /// Transform to NNF then replace each constraint with its linear formula (equations become FALSE). Then let LRA solver solve.
48  /// Name of the Module
49  static constexpr auto moduleName = "STropModule<STropSettings3>";
50  /// Type of linear separating hyperplane to search for
52  /// transformation of the formula to a linear formula, preserving the Boolean structure
53  static constexpr Mode mode = Mode::TRANSFORM_FORMULA;
54 
55  static constexpr bool output_only = false;
56 };
57 
58 /// Transform to NNF then replace each constraint with its linear formula (equations become FALSE). Then let LRA solver solve.
60  /// Name of the Module
61  static constexpr auto moduleName = "STropModule<STropSettings3b>";
62  /// Type of linear separating hyperplane to search for
64  /// transformation of the formula to a linear formula, preserving the Boolean structure
66 
67  static constexpr bool output_only = false;
68 };
69 
71  /// Name of the Module
72  static constexpr auto moduleName = "STropModule<STropSettings2OutputOnly>";
73  /// Type of linear separating hyperplane to search for
75  /// transformation of the formula to an equation
76  static constexpr Mode mode = Mode::TRANSFORM_EQUATION;
77 
78  static constexpr bool output_only = true;
79 };
80 
82  /// Name of the Module
83  static constexpr auto moduleName = "STropModule<STropSettings3OutputOnly>";
84  /// Type of linear separating hyperplane to search for
86  /// transformation of the formula to a linear formula, preserving the Boolean structure
87  static constexpr Mode mode = Mode::TRANSFORM_FORMULA;
88 
89  static constexpr bool output_only = true;
90 };
91 
93  /// Name of the Module
94  static constexpr auto moduleName = "STropModule<STropSettings3bOutputOnly>";
95  /// Type of linear separating hyperplane to search for
97  /// transformation of the formula to a linear formula, preserving the Boolean structure
99 
100  static constexpr bool output_only = true;
101 };
102 } // namespace smtrat
Class to create the formulas for axioms.
@ INCREMENTAL_CONSTRAINTS
Take conjunctions incrementally, construct linear formulas for LRA solver.
Definition: STropSettings.h:19
static constexpr Mode mode
incremental mode for SMT solving
Definition: STropSettings.h:25
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:23
static constexpr bool output_only
Definition: STropSettings.h:27
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:21
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:74
static constexpr bool output_only
Definition: STropSettings.h:78
static constexpr Mode mode
transformation of the formula to an equation
Definition: STropSettings.h:76
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:72
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:37
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:39
static constexpr bool output_only
Definition: STropSettings.h:43
static constexpr Mode mode
transformation of the formula to an equation
Definition: STropSettings.h:41
static constexpr Mode mode
transformation of the formula to a linear formula, preserving the Boolean structure
Definition: STropSettings.h:87
static constexpr bool output_only
Definition: STropSettings.h:89
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:85
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:83
Transform to NNF then replace each constraint with its linear formula (equations become FALSE)....
Definition: STropSettings.h:47
static constexpr bool output_only
Definition: STropSettings.h:55
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:49
static constexpr Mode mode
transformation of the formula to a linear formula, preserving the Boolean structure
Definition: STropSettings.h:53
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:51
static constexpr Mode mode
transformation of the formula to a linear formula, preserving the Boolean structure
Definition: STropSettings.h:98
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:94
static constexpr bool output_only
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:96
Transform to NNF then replace each constraint with its linear formula (equations become FALSE)....
Definition: STropSettings.h:59
static constexpr Mode mode
transformation of the formula to a linear formula, preserving the Boolean structure
Definition: STropSettings.h:65
static constexpr subtropical::SeparatorType separatorType
Type of linear separating hyperplane to search for.
Definition: STropSettings.h:63
static constexpr auto moduleName
Name of the Module.
Definition: STropSettings.h:61
static constexpr bool output_only
Definition: STropSettings.h:67