summaryrefslogtreecommitdiff
path: root/src/theory/model_manager.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-03-10 07:33:49 -0600
committerGitHub <noreply@github.com>2021-03-10 13:33:49 +0000
commitdd047586cf049a132e46fe561bee4716e0aec455 (patch)
tree6ef863eaf48907920a914aa8693bfae620579a4e /src/theory/model_manager.h
parent4c6e0a7325034547dea92a440476035318ed33b4 (diff)
(proof-new) Replace witness form by original form in the internal proof calculus (#6051)
This makes a simplification to the internal proof calculus. In particular, purification skolems are no longer are special case of witness skolems. They are now independent concepts. The concept of "witness form" is replaced in most places by "original form". This is required for fixing two issues: (1) variable shadowing issues in skolemization. (2) bookkeeping issues for bound variables introduced to construct witness terms. This made the LFSC proof conversion extremely cumbersome for e.g. string reductions. In this PR, the main changes: The internals of SkolemManager are changed to use original form vs witness form when necessary. This eliminates the need to do variable renaming in SkolemManager::skolemize. the rule WITNESS_INTRO is replaced by SKOLEM_INTRO MACRO_SR_* rules use original form Proof post processing is simplified These changes imply that ppRewrite should not return WITNESS terms. Followup PRs will modify arithmetic preprocessing so that its ppRewrite method returns skolems instead.
Diffstat (limited to 'src/theory/model_manager.h')
0 files changed, 0 insertions, 0 deletions
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback