Instance coqArbNat : CoArbitrary nat.Definition pathToPos p := pathToPosAux p (fun x => x).

Lemma listAppNeq : forall (A : Type) (l1 l2 l3 l4 : list A), (forall (x y : A), {x = y} + {x <> y}) -> length l1 = length l2 -> l1 <> l2 -> l1 ++ l3 <> l2 ++ l4.