proposition: Lemma Not_inclA_NIn : forall l l', ~ inclA E.eq l l' -> exists e, InA E.eq e l /\ ~ InA E.eq e l'.
proof: Proof. induction l; simpl; intros. - exfalso; eapply H; unfold inclA; intros; inversion H0. - unfold inclA in *. destruct (InA_dec E.eq_dec a l'). + destruct (IHl l'). intro; apply H; intros; inversion H1; subst; eauto. rewrite <- H3 in i; eauto. split_and. exists x; eauto. + exists a; eauto. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsInterface Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsProperties Coq.Arith.Peano_dec Coq.Structures.OrdersEx Coq.FSets.FMapInterface Coq.FSets.FMapFacts Coq.FSets.FMapAVL Coq.ZArith.ZArith Fiat.Common Fiat.Common.String_as_OT Fiat.Common.List.ListFacts Fiat.Common.List.FlattenList Fiat.Common.SetEqProperties Fiat.Common.FMapExtensions Fiat.Common.List.PermutationFacts Fiat.QueryStructure.Specification.SearchTerms.ListInclusion