proposition: Lemma Ensembles_Union_Or: forall {A} s1 s2 x, @Ensembles.Union A s1 s2 x <-> s1 x \/ s2 x.
proof: Proof. split; intros ** H. inversion H; firstorder. destruct H; [ apply Ensembles.Union_introl | apply Ensembles.Union_intror ]; firstorder. Qed.
imports: CertifiedExtraction.Extraction.QueryStructures.Basics CertifiedExtraction.Extraction.QueryStructures.BinNatUtils CertifiedExtraction.Extraction.QueryStructures.TupleToListW CertifiedExtraction.Extraction.QueryStructures.EnsemblesOfTuplesAndListW Fiat.QueryStructure.Specification.Representation.Tuple Bedrock.Memory Coq.Lists.List CertifiedExtraction.Utils