fact: Definition anti_literals l := let c := l :: nil in match l with L ((Pos x y) as k) z => clause_merge (lit_rm c (gen_row x z)) (clause_merge (lit_rm c (gen_column y z)) (clause_merge (lit_rm c (gen_rect ((div x h) * h + (div y w)) z)) (lit_rm c (gen_cell k)))) end.
imports: List UList Permutation Div OrderedList ListOp Lia