proposition: Fact incl_right_cons_choose x l m : incl m (x::l) -> In x m \/ incl m l.
proof: Proof. intros H. apply incl_cons_rinv in H. destruct H as ( m1 & m2 & H1 & H2 & H3 ); simpl in H1. destruct m1 as [ | y m1 ]. + right. intros u H; apply H3; revert H. apply Permutation_in; auto. + left. apply Permutation_in with (1 := Permutation_sym H1). rewrite Forall_forall in H2. rewrite (H2 y); left; auto. Qed.
imports: Arith Lia List Permutation Relations Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list)