*)

Lemma semBacktrackSize {A} (l : list (nat * G (option A))) size :
semGenSize (backtrack l) size <-->
(\bigcup_(x in (l :&: (fun x => x.1 <> 0))) (isSome :&: (semGenSize x.2 size))) :|:
([set None] :&: (\bigcap_(x in l :&: (fun x => x.1 <> 0)) (semGenSize x.2 size))).