*)

Lemma semBacktrackFuel {A} tot fuel (l : list (nat * G (option A))) size :
sum_fst l = tot -> length l = fuel ->
semGenSize (backtrackFuel fuel tot 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))).