(proof-new) Arithmetic operator elim proof producing (#4783)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 27 Jul 2020 19:44:49 +0000 (14:44 -0500)
committerGitHub <noreply@github.com>
Mon, 27 Jul 2020 19:44:49 +0000 (12:44 -0700)
commitfaa97a6f1ee19760dfb0a79ad18c53afdff6b09a
tree557cee42a539a838eaec36a8b8d69a5e1eb70d3c
parentd5141e4086898bb66809c76d4614503e3a2efd6e
(proof-new) Arithmetic operator elim proof producing (#4783)

This updates the interface for arithmetic operator elimination for the new proof format.

The actual proof production of the operator elimination class (providing proofs for
introduced witness terms) will be done in a separate PR.

This also changes the witness terms introduced by this class so their body is in
Skolem form, which simplifies term formula removal.

Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>
src/theory/arith/operator_elim.cpp
src/theory/arith/operator_elim.h
src/theory/arith/theory_arith.cpp
src/theory/arith/theory_arith_private.cpp
src/theory/arith/theory_arith_private.h