Skip to content

Overhaul predicate simplifier #2570

@ttuegel

Description

@ttuegel

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 of Conditions, or a disjunction of MultiAnd (Predicate _). In the former case, the Condition will not be simplified. What does the condition simplifier expect?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions