-
Notifications
You must be signed in to change notification settings - Fork 36
Remove SequentFormula class #3478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
19f4f15
to
9debf5e
Compare
The class is a left-over from previous times when a formula in the sequent could have a constraint attached. This commit works towards generalizing proof structures
2e72f76
to
16f0da5
Compare
16f0da5
to
5f71f24
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR removes the unused SequentFormula class and replaces all its occurrences with Term, adjusts related imports and APIs, and updates the Gradle wrapper.
- Replaced SequentFormula uses with Term throughout symbolic execution utilities, strategies, rules, and label handling
- Changed variable naming maps from SVSubstitute to the more general SyntaxElement
- Bumped Gradle wrapper from 8.4 to 8.7
Reviewed Changes
Copilot reviewed 318 out of 318 changed files in this pull request and generated no comments.
File | Description |
---|---|
key.core.symbolic_execution/.../SymbolicExecutionSideProofUtil.java | Replaced SequentFormula parameters and loops with Term |
key.core.symbolic_execution/.../AbstractConditionalBreakpoint.java | Changed variableNamingMap key/value types to SyntaxElement |
key.core.symbolic_execution/.../label/FormulaTermLabelRefactoring.java | Updated refactoring key name and variable naming for term-based refactoring |
gradle/wrapper/gradle-wrapper.properties | Updated Gradle distribution URL to 8.7 |
Comments suppressed due to low confidence (3)
key.core.symbolic_execution/src/main/java/de/uka/ilkd/key/rule/label/StayOnFormulaTermLabelPolicy.java:76
- The else-if condition duplicates the preceding if and is always false; this branch can never execute. Remove or correct the redundant check.
else if (tacletHint.getTerm() != null) {
key.core.symbolic_execution/src/main/java/de/uka/ilkd/key/rule/label/FormulaTermLabelRefactoring.java:95
- [nitpick] The constant name refers to sequent formulas but its value is "TermRefactoringRequired". Consider renaming the constant to TERM_REFACTORING_REQUIRED for clarity and consistency.
private static final String SEQUENT_FORMULA_REFACTORING_REQUIRED =
"TermRefactoringRequired";
key.core.symbolic_execution/src/main/java/de/uka/ilkd/key/rule/label/FormulaTermLabelRefactoring.java:251
- [nitpick] Local variable 'Terms' starts with an uppercase letter, which conflicts with Java naming conventions. Rename it to 'terms'.
Set<Term> Terms = getTermsToRefactor(state);
One advantage of the SequentFormula wrapper is that it is a bit harder to mix up top-level terms and subterms (newtype pattern). |
Intended Change
This PR prepares the ground for generalizing proof and calculus structures.
It removes the superfluous SequentFormula class, which is only a behaviorless
container for a term. The class is a left-over from times when we had formulas with
constraints on the sequent level
It depends on PR #3472 to be merged first as it is based on that branch
Plan
Type of pull request
Ensuring quality
The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.