Instance frequencySizeMonotonic_alt :
forall {A : Type} (g0 : G A) (lg : seq (nat * G A)),
SizeMonotonic g0 ->
lg \subset [set x | SizeMonotonic x.2 ] ->
SizeMonotonic (frequency g0 lg).

Lemma semBacktrackFuelDef {A} fuel (l : list (nat * G (option A))) size :
sum_fst l = 0 ->
semGenSize (backtrackFuel fuel 0 l) size <--> [set None].