Connect++ 0.3.0
A fast, readable connection prover for first-order logic.
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
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 = 50000
 
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 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 timeout = false
 
static uint32_t timeout_value = UINT32_MAX
 
static bool positive_representation = false
 
static bool use_schedule = 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 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 bool hard_prune = false
 
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::string tptp_conversion_string
 
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 219 of file Parameters.cpp.

219 {
220 all_start = false;
221 all_pos_neg_start = true;
222 conjecture_start = false;
223 restrict_start = false;
224}

◆ no_start_options()

bool params::no_start_options ( )
static

Self-explanatory.

Definition at line 212 of file Parameters.cpp.

212 {
213 return !all_start &&
214 !all_pos_neg_start &&
215 !conjecture_start &&
216 !restrict_start;
217}

◆ search_is_complete()

bool params::search_is_complete ( )
static

Self-explanatory.

Definition at line 192 of file Parameters.cpp.

192 {
193 bool start_conditions_ok =
194 (all_pos_neg_start || all_start) && !restrict_start && !conjecture_start;
195
196 // You don't care about lemmas.
197 bool backtracking_ok =
198 !limit_bt_all && !limit_bt_reductions && !limit_bt_extensions &&
199 !limit_bt_extensions_left_tree;
200
201 return start_conditions_ok && backtracking_ok;
202}

◆ set_all_backtrack()

void params::set_all_backtrack ( )
static

Self-explanatory.

Definition at line 204 of file Parameters.cpp.

204 {
205 limit_bt_all = false;
206 limit_bt_lemmas = false;
207 limit_bt_reductions = false;
208 limit_bt_extensions = false;
209 limit_bt_extensions_left_tree = false;
210}

◆ set_all_start()

void params::set_all_start ( )
static

Self-explanatory.

Definition at line 226 of file Parameters.cpp.

226 {
227 all_start = true;
228 all_pos_neg_start = false;
229 conjecture_start = false;
230 restrict_start = false;
231}

◆ set_complete_parameters()

void params::set_complete_parameters ( )
static

Change the parameters to make the search complete.

Definition at line 180 of file Parameters.cpp.

180 {
181 all_start = false;
182 all_pos_neg_start = true;
183 conjecture_start = false;
184 restrict_start = false;
185
186 limit_bt_all = false;
187 limit_bt_reductions = false;
188 limit_bt_extensions = false;
189 limit_bt_extensions_left_tree = false;
190}

◆ set_default_schedule()

void params::set_default_schedule ( )
static

Definition at line 141 of file Parameters.cpp.

141 {
142 default_schedule = "2 --pos-neg-start --complete 7 ;\n";
143 default_schedule += "60 --conjecture-start ;\n";
144 default_schedule += "20 --pos-neg-start --restrict-start ;\n";
145 default_schedule += "2 --conjecture-start --reorder 23 ;\n";
146 default_schedule += "2 --pos-neg-start --restrict-start --reorder 29 ;\n";
147 default_schedule += "2 --conjecture-start --reorder 37 ;\n";
148 default_schedule += "2 --pos-neg-start --restrict-start --reorder 41 ;\n";
149 default_schedule += "2 --conjecture-start --reorder 47 ;\n";
150 default_schedule += "0 --pos-neg-start --all-backtrack ;\n";
151}

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

155 {
156 deterministic_reorder = false;
157 number_of_reorders = 0;
158
159 all_start = false;
160 all_pos_neg_start = false;
161 conjecture_start = false;
162 restrict_start = false;
163
164 use_regularity_test = true;
165
166 use_lemmata = true;
167 limit_lemmata = true;
168 limit_reductions = true;
169 limit_extensions = true;
170 limit_bt_all = true;
171 limit_bt_lemmas = true;
172 limit_bt_reductions = true;
173 limit_bt_extensions = true;
174 limit_bt_extensions_left_tree = true;
175 hard_prune = false;
176
177 switch_to_complete = UINT32_MAX;
178}

Member Data Documentation

◆ add_equality_axioms

bool params::add_equality_axioms = true
static

Definition at line 70 of file Parameters.hpp.

◆ all_definitional

bool params::all_definitional = false
static

Definition at line 65 of file Parameters.hpp.

◆ all_distinct_objects

bool params::all_distinct_objects = false
static

Definition at line 72 of file Parameters.hpp.

◆ all_pos_neg_start

bool params::all_pos_neg_start = false
static

Definition at line 106 of file Parameters.hpp.

◆ all_start

bool params::all_start = false
static

Definition at line 105 of file Parameters.hpp.

◆ boost_random_seed

uint32_t params::boost_random_seed = 0
static

Definition at line 78 of file Parameters.hpp.

◆ build_proof

bool params::build_proof = false
static

Definition at line 135 of file Parameters.hpp.

◆ conjecture_start

bool params::conjecture_start = false
static

Definition at line 107 of file Parameters.hpp.

◆ connectpp_path

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

Definition at line 154 of file Parameters.hpp.

◆ default_schedule

std::string params::default_schedule
static

Definition at line 159 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 100 of file Parameters.hpp.

◆ depth_limit

uint32_t params::depth_limit = UINT32_MAX
static

Definition at line 99 of file Parameters.hpp.

◆ deterministic_reorder

bool params::deterministic_reorder = false
static

Definition at line 79 of file Parameters.hpp.

◆ equality_axioms_at_start

bool params::equality_axioms_at_start = true
static

Definition at line 71 of file Parameters.hpp.

◆ full_problem_path

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

Definition at line 155 of file Parameters.hpp.

◆ generate_LaTeX_proof

bool params::generate_LaTeX_proof = false
static

Definition at line 136 of file Parameters.hpp.

◆ generate_Prolog_proof

bool params::generate_Prolog_proof = false
static

Definition at line 141 of file Parameters.hpp.

◆ generate_tptp_proof

bool params::generate_tptp_proof = false
static

Definition at line 142 of file Parameters.hpp.

◆ hard_prune

bool params::hard_prune = false
static

Definition at line 125 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 140 of file Parameters.hpp.

◆ LaTeX_proof_path

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

Definition at line 147 of file Parameters.hpp.

◆ latex_tiny_proof

bool params::latex_tiny_proof = false
static

Definition at line 139 of file Parameters.hpp.

◆ latex_truncation_length

int params::latex_truncation_length = 25
static

Definition at line 138 of file Parameters.hpp.

◆ limit_bt_all

bool params::limit_bt_all = true
static

Definition at line 120 of file Parameters.hpp.

◆ limit_bt_extensions

bool params::limit_bt_extensions = true
static

Definition at line 123 of file Parameters.hpp.

◆ limit_bt_extensions_left_tree

bool params::limit_bt_extensions_left_tree = true
static

Definition at line 124 of file Parameters.hpp.

◆ limit_bt_lemmas

bool params::limit_bt_lemmas = true
static

Definition at line 121 of file Parameters.hpp.

◆ limit_bt_reductions

bool params::limit_bt_reductions = true
static

Definition at line 122 of file Parameters.hpp.

◆ limit_by_tree_depth

bool params::limit_by_tree_depth = false
static

Definition at line 101 of file Parameters.hpp.

◆ limit_extensions

bool params::limit_extensions = true
static

Definition at line 119 of file Parameters.hpp.

◆ limit_lemmata

bool params::limit_lemmata = true
static

Definition at line 117 of file Parameters.hpp.

◆ limit_reductions

bool params::limit_reductions = true
static

Definition at line 118 of file Parameters.hpp.

◆ miniscope

bool params::miniscope = true
static

Definition at line 64 of file Parameters.hpp.

◆ no_definitional

bool params::no_definitional = false
static

Definition at line 66 of file Parameters.hpp.

◆ no_distinct_objects

bool params::no_distinct_objects = false
static

Definition at line 73 of file Parameters.hpp.

◆ number_of_reorders

uint32_t params::number_of_reorders = 0
static

Definition at line 80 of file Parameters.hpp.

◆ output_frequency

uint32_t params::output_frequency = 50000
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 150 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 92 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 148 of file Parameters.hpp.

◆ Prolog_proof_path

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

Definition at line 149 of file Parameters.hpp.

◆ pwd_path

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

Definition at line 153 of file Parameters.hpp.

◆ random_reorder

bool params::random_reorder = false
static

Definition at line 81 of file Parameters.hpp.

◆ random_seed

unsigned params::random_seed = 0
static

Definition at line 77 of file Parameters.hpp.

◆ restrict_start

bool params::restrict_start = false
static

Definition at line 108 of file Parameters.hpp.

◆ schedule_path

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

Definition at line 151 of file Parameters.hpp.

◆ show_clauses

bool params::show_clauses = false
static

Definition at line 164 of file Parameters.hpp.

◆ start_depth

uint32_t params::start_depth = 2
static

Definition at line 98 of file Parameters.hpp.

◆ sub_LaTeX_proof

bool params::sub_LaTeX_proof = false
static

Definition at line 137 of file Parameters.hpp.

◆ switch_to_complete

uint32_t params::switch_to_complete = UINT32_MAX
static

Definition at line 129 of file Parameters.hpp.

◆ timeout

bool params::timeout = false
static

Definition at line 85 of file Parameters.hpp.

◆ timeout_value

uint32_t params::timeout_value = UINT32_MAX
static

Definition at line 86 of file Parameters.hpp.

◆ tptp_conversion_string

std::string params::tptp_conversion_string
static

Definition at line 143 of file Parameters.hpp.

◆ tptp_path

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

Definition at line 152 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 116 of file Parameters.hpp.

◆ use_regularity_test

bool params::use_regularity_test = true
static

Definition at line 112 of file Parameters.hpp.

◆ use_schedule

bool params::use_schedule = false
static

Definition at line 94 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 134 of file Parameters.hpp.

◆ verify_proof_verbose

bool params::verify_proof_verbose = false
static

Definition at line 133 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: