-
Notifications
You must be signed in to change notification settings - Fork 43
Description
This issue is the first part of addressing the issues raised in #2400. See also: #2566.
We will move Condition.simplifyPredicate to its own module and implement a Predicate.simplify similar to TermLike.simplify. It must not call simplifyCondition or simplifyTermLike. Predicate.simplify will simplify a Predicate from the bottom up; at each level, it will iterate until the predicate does not change.
Questions:
- What should be the return type of
Predicate.simplify? Two reasonable-seeming options are a disjunction ofConditions, or a disjunction ofMultiAnd (Predicate _). In the former case, theConditionwill not be simplified. What does the condition simplifier expect?