![]() |
Connect++ 0.4.0
A fast, readable connection prover for first-order logic.
|
#include <ProofChecker.hpp>
Public Member Functions | |
ProofChecker (Matrix &, const ProofType &, VariableIndex *, TermIndex *) | |
pair< bool, string > | check_proof_verbose () |
Check the proof and produce a string with a detailed description. | |
bool | check_proof () |
Check the proof quietly. | |
Private Member Functions | |
bool | C_i_ok (size_t) const |
Check index. Self-explanatory! | |
bool | Lit_i_ok (size_t) const |
Check index. Self-explanatory! | |
bool | P_i_ok (size_t) const |
Check index. Self-explanatory! | |
bool | Lem_i_ok (size_t) const |
Check index. Self-explanatory! | |
string | state_to_string () const |
Make a string containing the current state. | |
Private Attributes | |
VariableIndex * | vi |
Needed as we need to generate things with new variables. | |
TermIndex * | ti |
Needed as we need to generate things with new variables. | |
Matrix & | matrix |
Reference to the problem matrix. | |
Clause | C |
Part of the representation of the current state of the proof. | |
vector< Literal > | P |
Part of the representation of the current state of the proof. | |
vector< Literal > | Lem |
Part of the representation of the current state of the proof. | |
ProofType | proof |
Straightforward internal representation of the proof. | |
Unifier | u |
Needed to check some proof steps. | |
vector< RightStackItem > | r_stack |
Collection of right-hand branches to complete. | |
size_t | num_subs |
Use this to undo the substitutions when you've finished. | |
This is an alternative to the Prolog proof checker. It uses the contents of stack and matrix to re-construct the proof, checking as it goes that the substitutions work. As an extra check, it re-does unifications rather than using anything stored.
Note: undoes its substitutions when it's finished.
Definition at line 70 of file ProofChecker.hpp.
ProofChecker::ProofChecker | ( | Matrix & | m, |
const ProofType & | p, | ||
VariableIndex * | _vi, | ||
TermIndex * | _ti ) |
Definition at line 28 of file ProofChecker.cpp.
|
private |
Check index. Self-explanatory!
Definition at line 44 of file ProofChecker.cpp.
bool ProofChecker::check_proof | ( | ) |
Check the proof quietly.
Definition at line 299 of file ProofChecker.cpp.
pair< bool, string > ProofChecker::check_proof_verbose | ( | ) |
Check the proof and produce a string with a detailed description.
Definition at line 79 of file ProofChecker.cpp.
|
private |
Check index. Self-explanatory!
Definition at line 56 of file ProofChecker.cpp.
|
private |
Check index. Self-explanatory!
Definition at line 48 of file ProofChecker.cpp.
|
private |
Check index. Self-explanatory!
Definition at line 52 of file ProofChecker.cpp.
|
private |
Make a string containing the current state.
Definition at line 60 of file ProofChecker.cpp.
|
private |
Part of the representation of the current state of the proof.
Definition at line 87 of file ProofChecker.hpp.
|
private |
Part of the representation of the current state of the proof.
Definition at line 95 of file ProofChecker.hpp.
|
private |
Reference to the problem matrix.
Definition at line 83 of file ProofChecker.hpp.
|
private |
Use this to undo the substitutions when you've finished.
Definition at line 111 of file ProofChecker.hpp.
|
private |
Part of the representation of the current state of the proof.
Definition at line 91 of file ProofChecker.hpp.
|
private |
Straightforward internal representation of the proof.
Definition at line 99 of file ProofChecker.hpp.
|
private |
Collection of right-hand branches to complete.
Definition at line 107 of file ProofChecker.hpp.
|
private |
Needed as we need to generate things with new variables.
Definition at line 79 of file ProofChecker.hpp.
|
private |
Needed to check some proof steps.
Definition at line 103 of file ProofChecker.hpp.
|
private |
Needed as we need to generate things with new variables.
Definition at line 75 of file ProofChecker.hpp.