proposition: Lemma map_apply_seq_eq {A A' B' D : eqType} (f : A -> B' -> A') (g : A -> D) (g' : A' -> D) (cl : seq A) (xl : seq B') : (forall c x, c \in cl -> g c = g' (f c x)) -> size cl == size xl -> map g cl = map g' (apply_seq (map f cl) xl).
proof: Proof. elim: cl xl => [|c cl IH] [|x xl] //= Heq. rewrite eqSS => Hlen. rewrite -Heq; last by rewrite in_cons eqxx. congr (_ :: _). apply IH => //. by move=> c0 x0 Hc0; apply Heq; rewrite in_cons Hc0 orbT. Qed.
imports: Wf_nat Init.Wf Recdef Reals mathcomp(all_ssreflect perm zmodp matrix ssralg) mathcomp(Rstruct) ssrR Reals_ext ssr_ext ssralg_ext bigop_ext f2 fdist channel pproba linearcode subgraph_partition tanner tanner_partition summary ldpc checksum ldpc_algo