nonminimal_bool can produce minimal but not human readable expressions #3141
Labels
C-enhancement
Category: Enhancement of lints, like adding more cases or adding help messages
E-medium
Call for participation: Medium difficulty level problem and requires some initial experience.
E.g.
!a && (b || c) || a && (d || e) || !a && f
produces!(!a && !b && !c && !f || a && !d && !e)
(a || b || c || f) && (!a || d || e)
But a human would rather have
a && (d || e) || !a && (b || c || f)
which is three operators deep, and our algorithm always produces expressions two operators deep.
There must be some scientific papers, theses or blog posts about different models of "simple" boolean expressions. Lets find some and implement them.
The text was updated successfully, but these errors were encountered: