fact: Definition iterated_prod_of_function_for (ls : list B) (f : B -> A) : iterated_prod A (List.length ls) := list_rect (fun ls => iterated_prod A (List.length ls)) tt (fun x _ v => (f x, v)) ls.
imports: Coq.Setoids.Setoid Coq.Program.Program Coq.Program.Wf Coq.Arith.Wf_nat Coq.Classes.Morphisms Coq.Init.Wf Coq.Lists.SetoidList Coq.Arith.PeanoNat Fiat.Common.Coq__8_4__8_5__Compat