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.