(* A small experiment showing that infinite random trees are a potential model of the randomSplitAssumption *)
Module InfiniteTrees.
CoInductive RandomSeed : Type :=
| Node : bool -> RandomSeed -> RandomSeed -> RandomSeed.
Definition randomSplit (s : RandomSeed) :=
match s with
| Node b s1 s2 => (s1,s2)
end.

(* Specifications: *)
Lemma randomSplitAssumption :
forall s1 s2 : RandomSeed, exists s, randomSplit s = (s1,s2).