(proof-new) Fixes for preprocess proof generator and proofs in assertion pipeline...
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 29 Sep 2020 14:57:35 +0000 (09:57 -0500)
committerGitHub <noreply@github.com>
Tue, 29 Sep 2020 14:57:35 +0000 (09:57 -0500)
commit69e1472971f4aae9771630f911565a6f4548894b
treeeb631081df70474e3a93ff5ffb5d9c9b97aed45d
parent1c9290c99daa69b549d49dc762cadd8307211bc8
(proof-new) Fixes for preprocess proof generator and proofs in assertion pipeline (#5136)

This PR makes several fixes to preprocess proof generator, making it user-context dependent and making it avoid cyclic proofs. It additionally makes assertion pipeline a new interface "conjoin" which should always be used when we conjoin a new assertion to an old position in the assertion vector. It also removes an unnecessary interface to assertion pipeline.

Next PRs will clean up the use of assertions pipeline in all preprocessing passes to use the proper interfaces. This includes removing non-constant references to assertions, which has been fixed on proof-new.
src/preprocessing/assertion_pipeline.cpp
src/preprocessing/assertion_pipeline.h
src/smt/preprocess_proof_generator.cpp
src/smt/preprocess_proof_generator.h
src/smt/proof_manager.cpp
src/smt/proof_manager.h
src/smt/smt_engine.cpp
src/theory/trust_node.cpp
src/theory/trust_node.h