Running SMT solvers without type hierarchy encoding #3548
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Issue
This pull request addresses #1703.
Intended Change
This PR adds an option which allows disabling the type hierarchy in the SMT translation. With that option set, the translation is still sound, but possibly "less complete" than the original translation, but might find some proofs faster, since the embeddings necessary to encode the type hierarchy can mislead the solvers.
Plan
Important
Note: At the moment, the feature is only partially implemented, which leads to many exceptions when trying to run an SMT solver.!
Type of pull request
Ensuring quality
Additional information and contact(s)
This feature was mostly implemented during the 2nd HacKeYthon 2024.
Thanks to @BookWood7th, @roundEaredSengi and @vb213!
The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.