Skip to content

Refactor VC Simplification#254

Open
rcosta358 wants to merge 3 commits into
vc-logicalfrom
vc-simplification-refactoring
Open

Refactor VC Simplification#254
rcosta358 wants to merge 3 commits into
vc-logicalfrom
vc-simplification-refactoring

Conversation

@rcosta358

@rcosta358 rcosta358 commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR refactors VC simplification passes from static to instance classes using a shared VCSimplificationPass contract. It also adds VCExpressionSimplificationPass<C> as an abstract base for expression simplifications, where C is the context carried while simplifying the VC (only used in the VCArithmeticSimplification for now) . This removes duplicated VC chain traversal logic from folding, arithmetic, and logical simplification. VCSubstitution implements the pass interface directly because it rewrites the whole VC chain rather than simplifying a refinement expression.

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 14, 2026
@rcosta358 rcosta358 added the simplification Related to the simplification of expressions label Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

simplification Related to the simplification of expressions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant