Skip to content

Remove Unused Fresh Path Binders In Simplification - #278

Merged
rcosta358 merged 2 commits into
mainfrom
vc-remove-unused-binders
Aug 11, 2026
Merged

Remove Unused Fresh Path Binders In Simplification#278
rcosta358 merged 2 commits into
mainfrom
vc-remove-unused-binders

Conversation

@rcosta358

@rcosta358 rcosta358 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR updates VC binder simplification to remove unused path binders of the form ∀#fresh_n:boolean. #fresh_n that are generated from conditional branches.

Example

∀#fresh_1:boolean. #fresh_1 =>
∀x:int. x > 0

is simplified to:

∀x:int. x > 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 Aug 5, 2026
@rcosta358 rcosta358 added the simplification Related to the simplification of expressions label Aug 5, 2026
@rcosta358

Copy link
Copy Markdown
Collaborator Author

Initially I removed all binders that did not appear in the suffix but that does not always preserve VC equivalence, which made the property based test fail.

@rcosta358
rcosta358 merged commit 0ded161 into main Aug 11, 2026
1 check passed
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.

2 participants