Definition RndPerm(n : nat) :=
  shuffle _ (allNatsLt n).

Theorem rndListElem_pred : forall (A B : Set)(eqda : EqDec A)(eqdb : EqDec B)(P : A -> B -> Prop)(lsa : list A)(lsb : list B), list_pred P lsa lsb -> comp_spec (fun a b => match a with | None => b = None | Some a' => exists b', b = Some b' /\ P a' b' end) (rndListElem _ lsa) (rndListElem _ lsb).