proposition: Lemma xmap_filter_rev : forall [A B: Type] (p: A -> bool) (f: A -> B) (l:list A) (r:list B), xrev_map_filter p f r l = (List.map f (List.rev (List.filter p l))) ++ r.
proof: Proof. induction l; simpl. - auto. - intros. rewrite IHl. destruct (p a). + simpl. rewrite List.map_app. simpl. rewrite <- app_assoc. reflexivity. + reflexivity. Qed.
imports: Cdcl.PatriciaR Cdcl.KeyInt Cdcl.ReifClasses Cdcl.Lib Bool Setoid ZifyBool ZArith Uint63 Lia List Cdcl.Syntax Cdcl.Clause