proposition: Lemma getAllBlists_perm : forall n, Permutation (getAllBlists n) (getAllBlists_app n).
proof: Proof. intuition. eapply NoDup_Permutation. apply getAllBlists_NoDup. apply getAllBlists_app_NoDup. intuition. specialize (getAllBlists_rel_map n); intuition. specialize (rel_map_in_inv H0 x); intuition. destruct H2. intuition. subst. eapply getAllBlists_app_length_In. rewrite rev_length. eapply getAllBlists_app_In_length. eauto. specialize (getAllBlists_app_rel_map n); intuition. specialize (rel_map_in_inv H0 x); intuition. destruct H2. intuition. subst. eapply getAllBlists_length_In. rewrite rev_length. eapply getAllBlists_In_length. eauto. Qed.
imports: FCF.StdNat List Bvector micromega.Lia FCF.EqDec FCF.Fold ZArith Permutation