fact: Fixpoint flattenPair (A B : Type)(ls : list (A * list B)) := match ls with | nil => nil | (a, ls_b) :: ls' => (map (fun b => (a, b)) ls_b) ++ (flattenPair ls') end.
imports: FCF.Comp FCF.DetSem FCF.DistSem FCF.Rat Arith FCF.StdNat FCF.Fold FCF.Limit Permutation ZifyNat