Connect++ 0.6.1
A fast, readable connection prover for first-order logic.
Loading...
Searching...
No Matches
params Struct Reference

Structure containing all the command line and other options. More...

#include <Parameters.hpp>

Static Public Member Functions

static void set_default_schedule ()
 
static void set_default_schedule_parameters ()
 Self-explanatory.
 
static void set_complete_parameters ()
 Change the parameters to make the search complete.
 
static bool search_is_complete ()
 Self-explanatory.
 
static void set_all_backtrack ()
 Self-explanatory.
 
static bool no_start_options ()
 Self-explanatory.
 
static void correct_missing_start_options ()
 Self-explanatory.
 
static void set_all_start ()
 Self-explanatory.
 
static void show_search_parameter_settings ()
 Give a detailed indication of what the parameters affecting the search are currently set to.
 

Static Public Attributes

static uint8_t verbosity = 2
 
static bool use_colours = true
 
static uint8_t indent_size = 4
 
static uint8_t output_width = 7
 
static uint32_t output_frequency = 500000
 
static bool output_terms_with_substitution = false
 
static std::string problem_name = "Unknown"
 
static bool write_output_summary = false
 
static std::string definitional_predicate_prefix = "def"
 
static std::string unique_var_prefix = "_u"
 
static std::string unique_skolem_prefix = "skolem"
 
static bool show_full_stats = true
 
static bool first_parse = true
 
static bool miniscope = true
 
static bool all_definitional = false
 
static bool no_definitional = false
 
static bool add_equality_axioms = true
 
static bool equality_axioms_at_start = true
 
static bool all_distinct_objects = false
 
static bool no_distinct_objects = false
 
static unsigned random_seed = 0
 
static uint32_t boost_random_seed = 0
 
static bool deterministic_reorder = false
 
static uint32_t number_of_reorders = 0
 
static bool random_reorder = false
 
static bool random_reorder_literals = false
 
static bool timeout = false
 
static uint32_t timeout_value = UINT32_MAX
 
static std::chrono::steady_clock::time_point global_timeout
 
static bool use_schedule = false
 
static bool positive_representation = false
 
static uint32_t start_depth = 2
 
static uint32_t depth_limit = UINT32_MAX
 
static uint32_t depth_increment = 1
 
static bool all_start = false
 
static bool all_pos_neg_start = false
 
static bool conjecture_start = false
 
static bool restrict_start = false
 
static bool use_regularity_test = true
 
static bool use_lemmata = true
 
static bool limit_lemmata = true
 
static bool limit_reductions = true
 
static bool limit_extensions = true
 
static bool limit_bt_all = true
 
static bool limit_bt_lemmas = true
 
static bool limit_bt_reductions = true
 
static bool limit_bt_extensions = true
 
static bool limit_bt_extensions_left_tree = true
 
static uint32_t switch_to_complete = UINT32_MAX
 
static bool poly_unification = false
 
static size_t clause_copy_cache_start_size = 5
 
static size_t clause_copy_cache_increment = 1
 
static size_t stack_start_size = 5000
 
static size_t stack_increment = 0
 
static bool verify_proof_verbose = false
 
static bool verify_proof = false
 
static bool build_proof = false
 
static bool generate_LaTeX_proof = false
 
static bool generate_LaTeX_tableau_proof = false
 
static bool sub_LaTeX_proof = false
 
static int latex_truncation_length = 25
 
static bool latex_tiny_proof = false
 
static bool latex_include_matrix = true
 
static bool generate_Prolog_proof = false
 
static bool generate_tptp_proof = false
 
static std::filesystem::path LaTeX_proof_path = "latex_proof.tex"
 
static std::filesystem::path LaTeX_tableau_proof_path = "latex_tableau_proof.tex"
 
static std::filesystem::path Prolog_matrix_path = "matrix.pl"
 
static std::filesystem::path Prolog_proof_path = "proof.pl"
 
static std::filesystem::path output_summary_path = "output_summary.txt"
 
static std::filesystem::path schedule_path = "."
 
static std::filesystem::path tptp_path = "."
 
static std::filesystem::path pwd_path = "."
 
static std::filesystem::path connectpp_path = "."
 
static std::filesystem::path full_problem_path
 
static std::string default_schedule
 
static bool show_clauses = false
 

Detailed Description

Structure containing all the command line and other options.

Pretty much everything is static, because that makes sense.

There are also a small number of methods for setting defaults and testing for whether the configuration used leads to a complete search.

In most cases the name of the parameter should make it self-explanatory. So parameters are only explicitly documented where necessary.

Definition at line 50 of file Parameters.hpp.

Member Function Documentation

◆ correct_missing_start_options()

void params::correct_missing_start_options ( )
static

Self-explanatory.

Definition at line 261 of file Parameters.cpp.

261 {
262 all_start = false;
263 all_pos_neg_start = true;
264 conjecture_start = false;
265 restrict_start = false;
266}

◆ no_start_options()

bool params::no_start_options ( )
static

Self-explanatory.

Definition at line 254 of file Parameters.cpp.

254 {
255 return !all_start &&
256 !all_pos_neg_start &&
257 !conjecture_start &&
258 !restrict_start;
259}

◆ search_is_complete()

bool params::search_is_complete ( )
static

Self-explanatory.

Definition at line 234 of file Parameters.cpp.

234 {
235 bool start_conditions_ok =
236 (all_pos_neg_start || all_start) && !restrict_start && !conjecture_start;
237
238 // You don't care about lemmas.
239 bool backtracking_ok =
240 !limit_bt_all && !limit_bt_reductions && !limit_bt_extensions &&
241 !limit_bt_extensions_left_tree;
242
243 return start_conditions_ok && backtracking_ok;
244}

◆ set_all_backtrack()

void params::set_all_backtrack ( )
static

Self-explanatory.

Definition at line 246 of file Parameters.cpp.

246 {
247 limit_bt_all = false;
248 limit_bt_lemmas = false;
249 limit_bt_reductions = false;
250 limit_bt_extensions = false;
251 limit_bt_extensions_left_tree = false;
252}

◆ set_all_start()

void params::set_all_start ( )
static

Self-explanatory.

Definition at line 268 of file Parameters.cpp.

268 {
269 all_start = true;
270 all_pos_neg_start = false;
271 conjecture_start = false;
272 restrict_start = false;
273}

◆ set_complete_parameters()

void params::set_complete_parameters ( )
static

Change the parameters to make the search complete.

Definition at line 222 of file Parameters.cpp.

222 {
223 all_start = false;
224 all_pos_neg_start = true;
225 conjecture_start = false;
226 restrict_start = false;
227
228 limit_bt_all = false;
229 limit_bt_reductions = false;
230 limit_bt_extensions = false;
231 limit_bt_extensions_left_tree = false;
232}

◆ set_default_schedule()

void params::set_default_schedule ( )
static

Definition at line 155 of file Parameters.cpp.

155 {
156 default_schedule = "10 --complete 7 ;\n";
157 default_schedule += "15 --conjecture-start --all-definitional ;\n";
158 default_schedule += "15 --no-definitional --restrict-start ;\n";
159 default_schedule += "10 --restrict-start --all-backtrack ;\n";
160 default_schedule += "5 --all-definitional ;\n";
161 default_schedule += "4 --conjecture-start --no-definitional ;\n";
162 default_schedule += "2 --all-definitional --restrict-start ;\n";
163 default_schedule += "2 --restrict-start ;\n";
164 default_schedule += "1 --conjecture-start --all-definitional --all-backtrack ;\n";
165 default_schedule += "4 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
166 default_schedule += "4 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
167 default_schedule += "2 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
168 default_schedule += "2 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
169 default_schedule += "2 --random-reorder --random-reorder-literals --no-definitional ;\n";
170 default_schedule += "2 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
171 default_schedule += "2 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
172 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
173 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
174 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
175 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
176 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
177 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start --all-backtrack ;\n";
178 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start --all-backtrack ;\n";
179 default_schedule += "1 --random-reorder --random-reorder-literals --all-definitional --restrict-start --all-backtrack ;\n";
180 default_schedule += "1 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
181 default_schedule += "1 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
182 default_schedule += "1 --random-reorder --random-reorder-literals --no-definitional ;\n";
183 default_schedule += "1 --random-reorder --random-reorder-literals --no-definitional ;\n";
184 default_schedule += "1 --random-reorder --random-reorder-literals --no-definitional --restrict-start --all-backtrack ;\n";
185 default_schedule += "0 --all-definitional --all-backtrack ;\n";
186}

◆ set_default_schedule_parameters()

void params::set_default_schedule_parameters ( )
static

Self-explanatory.

IMPORTANT: these should match the values set in Parameters.cpp, as the assumption is that a schedule modifies them using commands mimicking the command line options.

Definition at line 190 of file Parameters.cpp.

190 {
191 all_definitional = false;
192 no_definitional = false;
193
194 deterministic_reorder = false;
195 number_of_reorders = 0;
196 random_reorder = false;
197 random_reorder_literals = false;
198
199 start_depth = 2;
200 depth_increment = 1;
201
202 all_start = false;
203 all_pos_neg_start = false;
204 conjecture_start = false;
205 restrict_start = false;
206
207 use_regularity_test = true;
208
209 use_lemmata = true;
210 limit_lemmata = true;
211 limit_reductions = true;
212 limit_extensions = true;
213 limit_bt_all = true;
214 limit_bt_lemmas = true;
215 limit_bt_reductions = true;
216 limit_bt_extensions = true;
217 limit_bt_extensions_left_tree = true;
218
219 switch_to_complete = UINT32_MAX;
220}

◆ show_search_parameter_settings()

void params::show_search_parameter_settings ( )
static

Give a detailed indication of what the parameters affecting the search are currently set to.

Definition at line 275 of file Parameters.cpp.

275 {
276 cout << std::boolalpha
277 << "all_definitional: " << all_definitional << endl
278 << "no_definitional: " << no_definitional << endl
279 << "all_start: " << all_start << endl
280 << "all_pos_neg_start: " << all_pos_neg_start << endl
281 << "conjecture_start: " << conjecture_start << endl
282 << "restrict_start: " << restrict_start << endl
283 << "limit_bt_all: " << limit_bt_all << endl
284 << "switch_to_complete: " << switch_to_complete
285 << std::noboolalpha;
286}

Member Data Documentation

◆ add_equality_axioms

bool params::add_equality_axioms = true
static

Definition at line 77 of file Parameters.hpp.

◆ all_definitional

bool params::all_definitional = false
static

Definition at line 72 of file Parameters.hpp.

◆ all_distinct_objects

bool params::all_distinct_objects = false
static

Definition at line 79 of file Parameters.hpp.

◆ all_pos_neg_start

bool params::all_pos_neg_start = false
static

Definition at line 114 of file Parameters.hpp.

◆ all_start

bool params::all_start = false
static

Definition at line 113 of file Parameters.hpp.

◆ boost_random_seed

uint32_t params::boost_random_seed = 0
static

Definition at line 85 of file Parameters.hpp.

◆ build_proof

bool params::build_proof = false
static

Definition at line 153 of file Parameters.hpp.

◆ clause_copy_cache_increment

size_t params::clause_copy_cache_increment = 1
static

Definition at line 145 of file Parameters.hpp.

◆ clause_copy_cache_start_size

size_t params::clause_copy_cache_start_size = 5
static

Definition at line 144 of file Parameters.hpp.

◆ conjecture_start

bool params::conjecture_start = false
static

Definition at line 115 of file Parameters.hpp.

◆ connectpp_path

std::filesystem::path params::connectpp_path = "."
static

Definition at line 173 of file Parameters.hpp.

◆ default_schedule

std::string params::default_schedule
static

Definition at line 178 of file Parameters.hpp.

◆ definitional_predicate_prefix

std::string params::definitional_predicate_prefix = "def"
static

Definition at line 63 of file Parameters.hpp.

◆ depth_increment

uint32_t params::depth_increment = 1
static

Definition at line 109 of file Parameters.hpp.

◆ depth_limit

uint32_t params::depth_limit = UINT32_MAX
static

Definition at line 108 of file Parameters.hpp.

◆ deterministic_reorder

bool params::deterministic_reorder = false
static

Definition at line 86 of file Parameters.hpp.

◆ equality_axioms_at_start

bool params::equality_axioms_at_start = true
static

Definition at line 78 of file Parameters.hpp.

◆ first_parse

bool params::first_parse = true
static

Definition at line 67 of file Parameters.hpp.

◆ full_problem_path

std::filesystem::path params::full_problem_path
static

Definition at line 174 of file Parameters.hpp.

◆ generate_LaTeX_proof

bool params::generate_LaTeX_proof = false
static

Definition at line 154 of file Parameters.hpp.

◆ generate_LaTeX_tableau_proof

bool params::generate_LaTeX_tableau_proof = false
static

Definition at line 155 of file Parameters.hpp.

◆ generate_Prolog_proof

bool params::generate_Prolog_proof = false
static

Definition at line 160 of file Parameters.hpp.

◆ generate_tptp_proof

bool params::generate_tptp_proof = false
static

Definition at line 161 of file Parameters.hpp.

◆ global_timeout

std::chrono::steady_clock::time_point params::global_timeout
static

Definition at line 95 of file Parameters.hpp.

◆ indent_size

uint8_t params::indent_size = 4
static

Definition at line 56 of file Parameters.hpp.

◆ latex_include_matrix

bool params::latex_include_matrix = true
static

Definition at line 159 of file Parameters.hpp.

◆ LaTeX_proof_path

std::filesystem::path params::LaTeX_proof_path = "latex_proof.tex"
static

Definition at line 165 of file Parameters.hpp.

◆ LaTeX_tableau_proof_path

std::filesystem::path params::LaTeX_tableau_proof_path = "latex_tableau_proof.tex"
static

Definition at line 166 of file Parameters.hpp.

◆ latex_tiny_proof

bool params::latex_tiny_proof = false
static

Definition at line 158 of file Parameters.hpp.

◆ latex_truncation_length

int params::latex_truncation_length = 25
static

Definition at line 157 of file Parameters.hpp.

◆ limit_bt_all

bool params::limit_bt_all = true
static

Definition at line 128 of file Parameters.hpp.

◆ limit_bt_extensions

bool params::limit_bt_extensions = true
static

Definition at line 131 of file Parameters.hpp.

◆ limit_bt_extensions_left_tree

bool params::limit_bt_extensions_left_tree = true
static

Definition at line 132 of file Parameters.hpp.

◆ limit_bt_lemmas

bool params::limit_bt_lemmas = true
static

Definition at line 129 of file Parameters.hpp.

◆ limit_bt_reductions

bool params::limit_bt_reductions = true
static

Definition at line 130 of file Parameters.hpp.

◆ limit_extensions

bool params::limit_extensions = true
static

Definition at line 127 of file Parameters.hpp.

◆ limit_lemmata

bool params::limit_lemmata = true
static

Definition at line 125 of file Parameters.hpp.

◆ limit_reductions

bool params::limit_reductions = true
static

Definition at line 126 of file Parameters.hpp.

◆ miniscope

bool params::miniscope = true
static

Definition at line 71 of file Parameters.hpp.

◆ no_definitional

bool params::no_definitional = false
static

Definition at line 73 of file Parameters.hpp.

◆ no_distinct_objects

bool params::no_distinct_objects = false
static

Definition at line 80 of file Parameters.hpp.

◆ number_of_reorders

uint32_t params::number_of_reorders = 0
static

Definition at line 87 of file Parameters.hpp.

◆ output_frequency

uint32_t params::output_frequency = 500000
static

Definition at line 58 of file Parameters.hpp.

◆ output_summary_path

std::filesystem::path params::output_summary_path = "output_summary.txt"
static

Definition at line 169 of file Parameters.hpp.

◆ output_terms_with_substitution

bool params::output_terms_with_substitution = false
static

Definition at line 59 of file Parameters.hpp.

◆ output_width

uint8_t params::output_width = 7
static

Definition at line 57 of file Parameters.hpp.

◆ poly_unification

bool params::poly_unification = false
static

Definition at line 140 of file Parameters.hpp.

◆ positive_representation

bool params::positive_representation = false
static

Definition at line 103 of file Parameters.hpp.

◆ problem_name

std::string params::problem_name = "Unknown"
static

Definition at line 61 of file Parameters.hpp.

◆ Prolog_matrix_path

std::filesystem::path params::Prolog_matrix_path = "matrix.pl"
static

Definition at line 167 of file Parameters.hpp.

◆ Prolog_proof_path

std::filesystem::path params::Prolog_proof_path = "proof.pl"
static

Definition at line 168 of file Parameters.hpp.

◆ pwd_path

std::filesystem::path params::pwd_path = "."
static

Definition at line 172 of file Parameters.hpp.

◆ random_reorder

bool params::random_reorder = false
static

Definition at line 88 of file Parameters.hpp.

◆ random_reorder_literals

bool params::random_reorder_literals = false
static

Definition at line 89 of file Parameters.hpp.

◆ random_seed

unsigned params::random_seed = 0
static

Definition at line 84 of file Parameters.hpp.

◆ restrict_start

bool params::restrict_start = false
static

Definition at line 116 of file Parameters.hpp.

◆ schedule_path

std::filesystem::path params::schedule_path = "."
static

Definition at line 170 of file Parameters.hpp.

◆ show_clauses

bool params::show_clauses = false
static

Definition at line 183 of file Parameters.hpp.

◆ show_full_stats

bool params::show_full_stats = true
static

Definition at line 66 of file Parameters.hpp.

◆ stack_increment

size_t params::stack_increment = 0
static

Definition at line 147 of file Parameters.hpp.

◆ stack_start_size

size_t params::stack_start_size = 5000
static

Definition at line 146 of file Parameters.hpp.

◆ start_depth

uint32_t params::start_depth = 2
static

Definition at line 107 of file Parameters.hpp.

◆ sub_LaTeX_proof

bool params::sub_LaTeX_proof = false
static

Definition at line 156 of file Parameters.hpp.

◆ switch_to_complete

uint32_t params::switch_to_complete = UINT32_MAX
static

Definition at line 136 of file Parameters.hpp.

◆ timeout

bool params::timeout = false
static

Definition at line 93 of file Parameters.hpp.

◆ timeout_value

uint32_t params::timeout_value = UINT32_MAX
static

Definition at line 94 of file Parameters.hpp.

◆ tptp_path

std::filesystem::path params::tptp_path = "."
static

Definition at line 171 of file Parameters.hpp.

◆ unique_skolem_prefix

std::string params::unique_skolem_prefix = "skolem"
static

Definition at line 65 of file Parameters.hpp.

◆ unique_var_prefix

std::string params::unique_var_prefix = "_u"
static

Definition at line 64 of file Parameters.hpp.

◆ use_colours

bool params::use_colours = true
static

Definition at line 55 of file Parameters.hpp.

◆ use_lemmata

bool params::use_lemmata = true
static

Definition at line 124 of file Parameters.hpp.

◆ use_regularity_test

bool params::use_regularity_test = true
static

Definition at line 120 of file Parameters.hpp.

◆ use_schedule

bool params::use_schedule = false
static

Definition at line 99 of file Parameters.hpp.

◆ verbosity

uint8_t params::verbosity = 2
static

Definition at line 54 of file Parameters.hpp.

◆ verify_proof

bool params::verify_proof = false
static

Definition at line 152 of file Parameters.hpp.

◆ verify_proof_verbose

bool params::verify_proof_verbose = false
static

Definition at line 151 of file Parameters.hpp.

◆ write_output_summary

bool params::write_output_summary = false
static

Definition at line 62 of file Parameters.hpp.


The documentation for this struct was generated from the following files: