proposition: Theorem anti_literals_ordered: forall p, ordered_clause (anti_literals p).
proof: Proof. intros ((x, y), z); simpl. repeat apply clause_merge_ordered; auto; generalize (lit_rm_ordered (L (Pos x y) z :: nil)); simpl; intros tmp; apply tmp; clear tmp; auto; try (red; apply olist_one). apply gen_row_ordered. apply gen_column_ordered. apply gen_rect_ordered. apply gen_cell_ordered. Qed.
imports: List UList Permutation Div OrderedList ListOp Lia