Cvc5Proof
This struct encapsulates a cvc5 proof object, which can be retrieved via
function cvc5_get_proof()
after a cvc5_check_sat()
query returns an unsat result.
-
typedef struct cvc5_proof_t *Cvc5Proof
A cvc5 proof.
-
Cvc5ProofRule cvc5_proof_get_rule(Cvc5Proof proof)
Get the proof rule used by the root step of a given proof.
- Returns:
The proof rule.
-
Cvc5ProofRewriteRule cvc5_proof_get_rewrite_rule(Cvc5Proof proof)
Get the proof rewrite rule used by the root step of the proof.
Requires that
cvc5_proof_get_rule()
does not return CVC5_PROOF_RULE_DSL_REWRITE or CVC5_PROOF_RULE_THEORY_REWRITE.- Parameters:
proof – The proof.
- Returns:
The proof rewrite rule.
-
Cvc5Term cvc5_proof_get_result(Cvc5Proof proof)
Get the conclusion of the root step of a given proof.
- Parameters:
proof – The proof.
- Returns:
The conclusion term.
-
const Cvc5Proof *cvc5_proof_get_children(Cvc5Proof proof, size_t *size)
Get the premises of the root step of a given proof.
Note
The returned Cvc5Proof array pointer is only valid until the next call to this function.
- Parameters:
proof – The proof.
size – Output parameter to store the number of resulting premise proofs.
- Returns:
The premise proofs.
-
const Cvc5Term *cvc5_proof_get_arguments(Cvc5Proof proof, size_t *size)
Get the arguments of the root step of a given proof.
- Parameters:
proof – The proof.
size – Output parameter to store the number of resulting argument terms.
- Returns:
The argument terms.
-
bool cvc5_proof_is_equal(Cvc5Proof a, Cvc5Proof b)
Compare two proofs for referential equality.
- Parameters:
a – The first proof.
b – The second proof.
- Returns:
True if both proof pointers point to the same internal proof object.
-
bool cvc5_proof_is_disequal(Cvc5Proof a, Cvc5Proof b)
Compare two proofs for referential disequality.
- Parameters:
a – The first proof.
b – The second proof.
- Returns:
True if both proof pointers point to different internal proof objects.
-
size_t cvc5_proof_hash(Cvc5Proof proof)
Compute the hash value of a proof.
- Parameters:
proof – The proof.
- Returns:
The hash value of the proof.
-
Cvc5Proof cvc5_proof_copy(Cvc5Proof proof)
Make copy of proof, increases reference counter of
proof
.Note
This step is optional and allows users to manage resources in a more fine-grained manner.
- Parameters:
proof – The proof to copy.
- Returns:
The same proof with its reference count increased by one.
-
void cvc5_proof_release(Cvc5Proof proof)
Release copy of proof, decrements reference counter of
proof
.Note
This step is optional and allows users to release resources in a more fine-grained manner. Further, any API function that returns a copy that is owned by the callee of the function and thus, can be released.
- Parameters:
proof – The proof to release.