-
Notifications
You must be signed in to change notification settings - Fork 43
Closed
Description
I am auditing the uses of simplifyCondition to identify places where it might be used inappropriately.
Kore.Step.Simplification.Simplify: OK, class defined here.Kore.Step.Simplification.Condition: OK, implemented here.Kore.Step.Simplification.Data: OK, implementation hooked into instance here.Kore.Builtin.KEqual: called within unification, might not be OK.Kore.Equation.Application: OK, used to requirements of equations.Kore.Step.Step: OK, used to simplify requirements of rewrite rules.Kore.Step.RewriteStep: OK, used to simplify requirements of rewrite rules.Kore.Step.Substitution: used to implementmergePredicatesAndSubstitutions; should probably be deprecated.Kore.Step.Function.Evaluator: essentially used to reimplement thePatternsimplifier; should not be used here.Kore.Step.Rule.Combine: OK, used to simplify requirements of merged rules.Kore.Step.Simplification.Exists: not OK, should be rewritten so that re-simplifying child patterns is not required.Kore.Step.Simplification.OrPattern: not OK, should not be used multiple times here.Kore.Step.Simplification.Pattern: OK, used to implement thePatternsimplifier.Kore.Step.Simplification.TermLike: not OK, theTermLikesimplifier should not need to simplify conditions.Kore.Unification.Procedure: OK, used to simplify the result of solving\in.Kore.Unification.UnifierT: OK, implementation hooked into instance here.Kore.Unification.SubstitutionSimplifier: OK, used to simplify the result of solving\and.