Skip to content

Add VC Logical Simplification#253

Merged
rcosta358 merged 50 commits into
mainfrom
vc-logical
Jun 21, 2026
Merged

Add VC Logical Simplification#253
rcosta358 merged 50 commits into
mainfrom
vc-logical

Conversation

@rcosta358

Copy link
Copy Markdown
Collaborator

Description

This PR adds VC logical simplification through VCImplication chains. When a refinement contains foldable logical identities, it simplifies the VC node while preserving its origin and the rest of the VC chain.

It supports the following simplifications:

  • x && true → x
  • x && false → false
  • x || true → true
  • x || false → x
  • !!x → x
  • p && p → p
  • p || p → p
  • x == x → true
  • x != x → false
  • x --> true → true
  • false --> x → true
  • true --> x → x
  • x --> x → true

Example

x && true

is simplified to

x

with origin x && true

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 14, 2026
@rcosta358 rcosta358 added enhancement New feature or request simplification Related to the simplification of expressions labels Jun 14, 2026
@rcosta358 rcosta358 changed the title VC Logical Simplification Add VC Logical Simplification Jun 14, 2026
@rcosta358 rcosta358 changed the base branch from main to vc-arithmetic June 14, 2026 11:25

@CatarinaGamboa CatarinaGamboa left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@rcosta358 rcosta358 changed the base branch from vc-arithmetic to main June 21, 2026 20:52
@rcosta358 rcosta358 merged commit a784e4a into main Jun 21, 2026
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.

3 participants