proposition: Theorem gen_init_clauses_ordered: forall s, ordered (gen_init_clauses s).
proof: Proof. intros s; unfold gen_init_clauses, gen_init_clauses_aux. cut (ordered init_c). 2: apply init_c_ordered; auto. generalize (Pos 0 0) init_c. elim s; auto; clear s; auto. intros a s1 Rec p; case (In_dec eq_nat a ref_list); auto. intros H c H1; apply Rec; auto. apply clauses_update_ordered; auto. apply anti_literals_ordered. Qed.
imports: List UList Permutation Div OrderedList ListOp Lia