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

Theorem list_pred_nth_exists : forall (A B : Set)(P : A -> B -> Prop) lsa lsb, list_pred P lsa lsb -> forall n a, nth_option lsa n = Some a -> exists b, nth_option lsb n = Some b /\ P a b.