Skip to content

Add VC Folding Simplification#250

Open
rcosta358 wants to merge 17 commits into
vc-substitutionfrom
vc-folding
Open

Add VC Folding Simplification#250
rcosta358 wants to merge 17 commits into
vc-substitutionfrom
vc-folding

Conversation

@rcosta358

Copy link
Copy Markdown
Collaborator

Description

This PR adds VC simplification for foldable expressions through VCImplication chains. When a refinement contains constant arithmetic, boolean expressions, conditionals, adjacent integer constants, or resolved enum literals, it folds the VC node while preserving its origin and the rest of the VC chain.

It also adds focused unit tests for both the VC folding alone and the VC simplification with both the substitution and folding.

Example

1 + 2 > 0

is simplified to

3 > 0

with origin 1 + 2 > 0

and then simplified to

true

with origin 3 > 0

Related Issue

None.

Type of change

  • Bug fix
  • New feature
  • Documentation update
  • Code refactoring

Checklist

  • Added/updated tests
  • mvn test passes locally
  • Updated docs/README if behavior or API changed

@rcosta358 rcosta358 self-assigned this Jun 11, 2026
@rcosta358 rcosta358 added enhancement New feature or request simplification Related to the simplification of expressions labels Jun 11, 2026
@rcosta358 rcosta358 requested a review from CatarinaGamboa June 11, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request simplification Related to the simplification of expressions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant