-
Notifications
You must be signed in to change notification settings - Fork 36
Constraint simplification #162
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requestsimplificationRelated to the simplification of expressionsRelated to the simplification of expressions
Description
Activity
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestsimplificationRelated to the simplification of expressionsRelated to the simplification of expressions
We need to improve the simplification of expressions with various variable instances.
We could try to do something similar to constant propagation, and to flattening variable derivation chains.
For example:

Here I would want the most simplified version to be something like
"b >= 100 && b + 100"is not a subtype ofByte(b). ThenWe could try using constraint simplification via equivalence analysis, as an algorithm like:
In that example:
{b, b_34, b_38}bsimplifies to
#b_39 == b + 100 && b >= 100 && b > 04)
b > 100 -> b > 0so we can drop the weaker constraint.This is open for discussion!