[proofs] Generalize trivial cycle detection in LazyCDProofChain (#7619)
authorHaniel Barbosa <hanielbbarbosa@gmail.com>
Tue, 9 Nov 2021 19:35:38 +0000 (16:35 -0300)
committerGitHub <noreply@github.com>
Tue, 9 Nov 2021 19:35:38 +0000 (19:35 +0000)
commit5279adad97c7e85ca36ebc9497fa1b6c801c7ab6
tree09886464f203aba5c17dcfd1228441b7e52ccd5a
parenta78a1959ae41d2e6f7a93ae77109eec00b39dab6
[proofs] Generalize trivial cycle detection in LazyCDProofChain (#7619)

Previously the trivial cycle check only covered the case in which the currently-being-expanded assumption `A` had as its stored proof node `pf` an assumption proof justifying itself. However, it can be the case that `pf` is not an assumption proof, but a proof that nevertheless has `A` as one of its free assumptions. This commit generalizes the trivial cycle check to account for this.
src/proof/lazy_proof_chain.cpp
test/regress/regress1/quantifiers/recfact.cvc.smt2
test/regress/regress1/strings/issue6184-unsat-core.smt2