proposition: Lemma prod_nat_seq_eq1 I r (P : pred I) F : (\prod_(i <- r | P i) F i == 1)%N = all (fun i => P i ==> (F i == 1%N)) r.
proof: Proof. by rewrite (big_morph _ (id1:=true) muln_eq1)// big_all_cond. Qed.
imports: HB(structures) mathcomp(ssreflect ssrbool ssrfun eqtype ssrnat seq path) mathcomp(div fintype tuple finfun)