Switch to th_lira.plf (#3741)
authorAlex Ozdemir <aozdemir@hmc.edu>
Sat, 22 Feb 2020 00:16:19 +0000 (16:16 -0800)
committerGitHub <noreply@github.com>
Sat, 22 Feb 2020 00:16:19 +0000 (18:16 -0600)
commita98cd6d50308d1dde1086f0c1502e022bd30ba1b
tree048b40c652c862021b7632343592b3f9e27e2c8b
parent641f14f02de0fb4f6a852fe53eb50b69f34101ee
Switch to th_lira.plf (#3741)

Switches arith_proof.cpp from th_lra to th_lira.

Changes:

Eliminate the d_realMode hack.
instead: modify printOwnedTermAsType prints as integers OR
reals, depending on expectedType.
simultaneously: write printOwnedTermAsType more concisely
also: reimplement printOwnedSort.
Change to the LIRA axioms:
Because they reason about bound types using side conditions, we
no longer need to worry about choosing the correct strictness for
our axiom.
This allows us to cut out a lot of code, rewriting & shrinking
printTheoryLemmaProof.
They also have different names.
This requires us to change a lot of string literals
enable proof-checking for many tests.
19 files changed:
proofs/signatures/CMakeLists.txt
src/proof/arith_proof.cpp
src/proof/arith_proof.h
test/regress/CMakeLists.txt
test/regress/regress0/arith/arith-eq.smt2
test/regress/regress0/arith/arith-mixed-types-no-tighten.smt2
test/regress/regress0/arith/arith-mixed-types-tighten.smt2
test/regress/regress0/arith/arith-mixed.smt2 [deleted file]
test/regress/regress0/arith/arith-strict-relaxed.smt2 [new file with mode: 0644]
test/regress/regress0/arith/arith-strict.smt2
test/regress/regress0/arith/arith-tighten-1.smt2
test/regress/regress0/arith/arith-tighten-2.smt2 [new file with mode: 0644]
test/regress/regress0/arith/bug569.smt2
test/regress/regress0/arith/integers/ackermann4.smt2
test/regress/regress0/arith/integers/ackermann5.smt2
test/regress/regress0/arith/integers/ackermann6.smt2
test/regress/regress0/lemmas/sc_init_frame_gap.induction.smtv1.smt2
test/regress/regress1/lemmas/pursuit-safety-8.smtv1.smt2
test/regress/regress1/lemmas/simple_startup_9nodes.abstract.base.smtv1.smt2