Connect++ 0.5.0
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 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 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 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 limit_by_tree_depth = false
 
static bool depth_limit_all = false
 
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 verify_proof_verbose = false
 
static bool verify_proof = false
 
static bool build_proof = false
 
static bool generate_LaTeX_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 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 45 of file Parameters.hpp.

Member Function Documentation

◆ correct_missing_start_options()

void params::correct_missing_start_options ( )
static

Self-explanatory.

Definition at line 249 of file Parameters.cpp.

249 {
250 all_start = false;
251 all_pos_neg_start = true;
252 conjecture_start = false;
253 restrict_start = false;
254}

◆ no_start_options()

bool params::no_start_options ( )
static

Self-explanatory.

Definition at line 242 of file Parameters.cpp.

242 {
243 return !all_start &&
244 !all_pos_neg_start &&
245 !conjecture_start &&
246 !restrict_start;
247}

◆ search_is_complete()

bool params::search_is_complete ( )
static

Self-explanatory.

Definition at line 222 of file Parameters.cpp.

222 {
223 bool start_conditions_ok =
224 (all_pos_neg_start || all_start) && !restrict_start && !conjecture_start;
225
226 // You don't care about lemmas.
227 bool backtracking_ok =
228 !limit_bt_all && !limit_bt_reductions && !limit_bt_extensions &&
229 !limit_bt_extensions_left_tree;
230
231 return start_conditions_ok && backtracking_ok;
232}

◆ set_all_backtrack()

void params::set_all_backtrack ( )
static

Self-explanatory.

Definition at line 234 of file Parameters.cpp.

234 {
235 limit_bt_all = false;
236 limit_bt_lemmas = false;
237 limit_bt_reductions = false;
238 limit_bt_extensions = false;
239 limit_bt_extensions_left_tree = false;
240}

◆ set_all_start()

void params::set_all_start ( )
static

Self-explanatory.

Definition at line 256 of file Parameters.cpp.

256 {
257 all_start = true;
258 all_pos_neg_start = false;
259 conjecture_start = false;
260 restrict_start = false;
261}

◆ set_complete_parameters()

void params::set_complete_parameters ( )
static

Change the parameters to make the search complete.

Definition at line 210 of file Parameters.cpp.

210 {
211 all_start = false;
212 all_pos_neg_start = true;
213 conjecture_start = false;
214 restrict_start = false;
215
216 limit_bt_all = false;
217 limit_bt_reductions = false;
218 limit_bt_extensions = false;
219 limit_bt_extensions_left_tree = false;
220}

◆ set_default_schedule()

void params::set_default_schedule ( )
static

Definition at line 142 of file Parameters.cpp.

142 {
143 default_schedule = "10 --complete 7 ;\n";
144 default_schedule += "15 --conjecture-start --all-definitional ;\n";
145 default_schedule += "15 --no-definitional --restrict-start ;\n";
146 default_schedule += "10 --restrict-start --all-backtrack ;\n";
147 default_schedule += "5 --all-definitional ;\n";
148 default_schedule += "4 --conjecture-start --no-definitional ;\n";
149 default_schedule += "2 --all-definitional --restrict-start ;\n";
150 default_schedule += "2 --restrict-start ;\n";
151 default_schedule += "1 --conjecture-start --all-definitional --all-backtrack ;\n";
152 default_schedule += "4 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
153 default_schedule += "4 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
154 default_schedule += "2 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
155 default_schedule += "2 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
156 default_schedule += "2 --random-reorder --random-reorder-literals --no-definitional ;\n";
157 default_schedule += "2 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
158 default_schedule += "2 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
159 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
160 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --all-definitional ;\n";
161 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
162 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
163 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start ;\n";
164 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start --all-backtrack ;\n";
165 default_schedule += "1 --random-reorder --random-reorder-literals --conjecture-start --no-definitional --restrict-start --all-backtrack ;\n";
166 default_schedule += "1 --random-reorder --random-reorder-literals --all-definitional --restrict-start --all-backtrack ;\n";
167 default_schedule += "1 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
168 default_schedule += "1 --random-reorder --random-reorder-literals --all-definitional --restrict-start ;\n";
169 default_schedule += "1 --random-reorder --random-reorder-literals --no-definitional ;\n";
170 default_schedule += "1 --random-reorder --random-reorder-literals --no-definitional ;\n";
171 default_schedule += "1 --random-reorder --random-reorder-literals --no-definitional --restrict-start --all-backtrack ;\n";
172 default_schedule += "0 --all-definitional --all-backtrack ;\n";
173}

◆ 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 177 of file Parameters.cpp.

177 {
178 all_definitional = false;
179 no_definitional = false;
180
181 deterministic_reorder = false;
182 number_of_reorders = 0;
183 random_reorder = false;
184 random_reorder_literals = false;
185
186 start_depth = 2;
187 depth_increment = 1;
188 limit_by_tree_depth = false;
189
190 all_start = false;
191 all_pos_neg_start = false;
192 conjecture_start = false;
193 restrict_start = false;
194
195 use_regularity_test = true;
196
197 use_lemmata = true;
198 limit_lemmata = true;
199 limit_reductions = true;
200 limit_extensions = true;
201 limit_bt_all = true;
202 limit_bt_lemmas = true;
203 limit_bt_reductions = true;
204 limit_bt_extensions = true;
205 limit_bt_extensions_left_tree = true;
206
207 switch_to_complete = UINT32_MAX;
208}

Member Data Documentation

◆ add_equality_axioms

bool params::add_equality_axioms = true
static

Definition at line 71 of file Parameters.hpp.

◆ all_definitional

bool params::all_definitional = false
static

Definition at line 66 of file Parameters.hpp.

◆ all_distinct_objects

bool params::all_distinct_objects = false
static

Definition at line 73 of file Parameters.hpp.

◆ all_pos_neg_start

bool params::all_pos_neg_start = false
static

Definition at line 109 of file Parameters.hpp.

◆ all_start

bool params::all_start = false
static

Definition at line 108 of file Parameters.hpp.

◆ boost_random_seed

uint32_t params::boost_random_seed = 0
static

Definition at line 79 of file Parameters.hpp.

◆ build_proof

bool params::build_proof = false
static

Definition at line 137 of file Parameters.hpp.

◆ conjecture_start

bool params::conjecture_start = false
static

Definition at line 110 of file Parameters.hpp.

◆ connectpp_path

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

Definition at line 155 of file Parameters.hpp.

◆ default_schedule

std::string params::default_schedule
static

Definition at line 160 of file Parameters.hpp.

◆ definitional_predicate_prefix

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

Definition at line 58 of file Parameters.hpp.

◆ depth_increment

uint32_t params::depth_increment = 1
static

Definition at line 102 of file Parameters.hpp.

◆ depth_limit

uint32_t params::depth_limit = UINT32_MAX
static

Definition at line 101 of file Parameters.hpp.

◆ depth_limit_all

bool params::depth_limit_all = false
static

Definition at line 104 of file Parameters.hpp.

◆ deterministic_reorder

bool params::deterministic_reorder = false
static

Definition at line 80 of file Parameters.hpp.

◆ equality_axioms_at_start

bool params::equality_axioms_at_start = true
static

Definition at line 72 of file Parameters.hpp.

◆ first_parse

bool params::first_parse = true
static

Definition at line 61 of file Parameters.hpp.

◆ full_problem_path

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

Definition at line 156 of file Parameters.hpp.

◆ generate_LaTeX_proof

bool params::generate_LaTeX_proof = false
static

Definition at line 138 of file Parameters.hpp.

◆ generate_Prolog_proof

bool params::generate_Prolog_proof = false
static

Definition at line 143 of file Parameters.hpp.

◆ generate_tptp_proof

bool params::generate_tptp_proof = false
static

Definition at line 144 of file Parameters.hpp.

◆ indent_size

uint8_t params::indent_size = 4
static

Definition at line 51 of file Parameters.hpp.

◆ latex_include_matrix

bool params::latex_include_matrix = true
static

Definition at line 142 of file Parameters.hpp.

◆ LaTeX_proof_path

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

Definition at line 148 of file Parameters.hpp.

◆ latex_tiny_proof

bool params::latex_tiny_proof = false
static

Definition at line 141 of file Parameters.hpp.

◆ latex_truncation_length

int params::latex_truncation_length = 25
static

Definition at line 140 of file Parameters.hpp.

◆ limit_bt_all

bool params::limit_bt_all = true
static

Definition at line 123 of file Parameters.hpp.

◆ limit_bt_extensions

bool params::limit_bt_extensions = true
static

Definition at line 126 of file Parameters.hpp.

◆ limit_bt_extensions_left_tree

bool params::limit_bt_extensions_left_tree = true
static

Definition at line 127 of file Parameters.hpp.

◆ limit_bt_lemmas

bool params::limit_bt_lemmas = true
static

Definition at line 124 of file Parameters.hpp.

◆ limit_bt_reductions

bool params::limit_bt_reductions = true
static

Definition at line 125 of file Parameters.hpp.

◆ limit_by_tree_depth

bool params::limit_by_tree_depth = false
static

Definition at line 103 of file Parameters.hpp.

◆ limit_extensions

bool params::limit_extensions = true
static

Definition at line 122 of file Parameters.hpp.

◆ limit_lemmata

bool params::limit_lemmata = true
static

Definition at line 120 of file Parameters.hpp.

◆ limit_reductions

bool params::limit_reductions = true
static

Definition at line 121 of file Parameters.hpp.

◆ miniscope

bool params::miniscope = true
static

Definition at line 65 of file Parameters.hpp.

◆ no_definitional

bool params::no_definitional = false
static

Definition at line 67 of file Parameters.hpp.

◆ no_distinct_objects

bool params::no_distinct_objects = false
static

Definition at line 74 of file Parameters.hpp.

◆ number_of_reorders

uint32_t params::number_of_reorders = 0
static

Definition at line 81 of file Parameters.hpp.

◆ output_frequency

uint32_t params::output_frequency = 500000
static

Definition at line 53 of file Parameters.hpp.

◆ output_summary_path

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

Definition at line 151 of file Parameters.hpp.

◆ output_terms_with_substitution

bool params::output_terms_with_substitution = false
static

Definition at line 54 of file Parameters.hpp.

◆ output_width

uint8_t params::output_width = 7
static

Definition at line 52 of file Parameters.hpp.

◆ positive_representation

bool params::positive_representation = false
static

Definition at line 96 of file Parameters.hpp.

◆ problem_name

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

Definition at line 56 of file Parameters.hpp.

◆ Prolog_matrix_path

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

Definition at line 149 of file Parameters.hpp.

◆ Prolog_proof_path

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

Definition at line 150 of file Parameters.hpp.

◆ pwd_path

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

Definition at line 154 of file Parameters.hpp.

◆ random_reorder

bool params::random_reorder = false
static

Definition at line 82 of file Parameters.hpp.

◆ random_reorder_literals

bool params::random_reorder_literals = false
static

Definition at line 83 of file Parameters.hpp.

◆ random_seed

unsigned params::random_seed = 0
static

Definition at line 78 of file Parameters.hpp.

◆ restrict_start

bool params::restrict_start = false
static

Definition at line 111 of file Parameters.hpp.

◆ schedule_path

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

Definition at line 152 of file Parameters.hpp.

◆ show_clauses

bool params::show_clauses = false
static

Definition at line 165 of file Parameters.hpp.

◆ start_depth

uint32_t params::start_depth = 2
static

Definition at line 100 of file Parameters.hpp.

◆ sub_LaTeX_proof

bool params::sub_LaTeX_proof = false
static

Definition at line 139 of file Parameters.hpp.

◆ switch_to_complete

uint32_t params::switch_to_complete = UINT32_MAX
static

Definition at line 131 of file Parameters.hpp.

◆ timeout

bool params::timeout = false
static

Definition at line 87 of file Parameters.hpp.

◆ timeout_value

uint32_t params::timeout_value = UINT32_MAX
static

Definition at line 88 of file Parameters.hpp.

◆ tptp_path

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

Definition at line 153 of file Parameters.hpp.

◆ unique_skolem_prefix

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

Definition at line 60 of file Parameters.hpp.

◆ unique_var_prefix

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

Definition at line 59 of file Parameters.hpp.

◆ use_colours

bool params::use_colours = true
static

Definition at line 50 of file Parameters.hpp.

◆ use_lemmata

bool params::use_lemmata = true
static

Definition at line 119 of file Parameters.hpp.

◆ use_regularity_test

bool params::use_regularity_test = true
static

Definition at line 115 of file Parameters.hpp.

◆ use_schedule

bool params::use_schedule = false
static

Definition at line 92 of file Parameters.hpp.

◆ verbosity

uint8_t params::verbosity = 2
static

Definition at line 49 of file Parameters.hpp.

◆ verify_proof

bool params::verify_proof = false
static

Definition at line 136 of file Parameters.hpp.

◆ verify_proof_verbose

bool params::verify_proof_verbose = false
static

Definition at line 135 of file Parameters.hpp.

◆ write_output_summary

bool params::write_output_summary = false
static

Definition at line 57 of file Parameters.hpp.


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