Skip to content
Snippets Groups Projects
  • Etienne Kneuss's avatar
    86573651
    Implement the inner case-split heuristic, extend case-split to Ors with more than two elements · 86573651
    Etienne Kneuss authored
    1) Implement inner-case-split heuristic, that distribute And(..,Or(),..)
    in a case-split. It also pushes Not() inside the formula, so
    Not(And(a,b)) becomes Or(Not(a), Not(b)) which is then handled by
    inner-case-split.
    
    2) Extend regular case-split to work with n-way ors. Or(a, .., m,n) gets
    decomposed into a N-alternatives case-split.
    
    Given solutions (Sa, .., Sm, Sn), it recomposes into:
        If(Sa.pre, Sa.term, If(.., If(Sm.pre, Sm.term, Sn.term)))
    86573651
    History
    Implement the inner case-split heuristic, extend case-split to Ors with more than two elements
    Etienne Kneuss authored
    1) Implement inner-case-split heuristic, that distribute And(..,Or(),..)
    in a case-split. It also pushes Not() inside the formula, so
    Not(And(a,b)) becomes Or(Not(a), Not(b)) which is then handled by
    inner-case-split.
    
    2) Extend regular case-split to work with n-way ors. Or(a, .., m,n) gets
    decomposed into a N-alternatives case-split.
    
    Given solutions (Sa, .., Sm, Sn), it recomposes into:
        If(Sa.pre, Sa.term, If(.., If(Sm.pre, Sm.term, Sn.term)))