Formalize more string skolems (#7554)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 3 Nov 2021 16:12:18 +0000 (11:12 -0500)
committerGitHub <noreply@github.com>
Wed, 3 Nov 2021 16:12:18 +0000 (16:12 +0000)
commitd527b3f2501410770a76977efa180009e06ea172
tree2740aea9ed89c510e5ccb14b89ca91822609978b
parent324434a74b35d0e58bdb551c9155e9fb32844d07
Formalize more string skolems (#7554)

This properly formalizes all string skolems used in reduction and preprocessing. This avoids proof checking failures due to non-deterministism when checking steps for these modules.

Fixes cvc5/cvc5-projects#334. Fixes cvc5/cvc5-projects#331.
12 files changed:
src/expr/skolem_manager.cpp
src/expr/skolem_manager.h
src/theory/strings/core_solver.cpp
src/theory/strings/skolem_cache.cpp
src/theory/strings/skolem_cache.h
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings_preprocess.cpp
test/api/CMakeLists.txt
test/api/proj-issue306.cpp
test/api/proj-issue334.cpp [new file with mode: 0644]
test/regress/CMakeLists.txt
test/regress/regress1/strings/proj-issue331.smt2 [new file with mode: 0644]