proposition: Lemma subseq_estimation k (t : tn_tree' k) : subseq (T:=id') [seq p.1 | p <- estimation t] (labels t).
proof: Proof. move: k t. refine (children_ind _) => k t IH. destruct t as [id0 tag0 ch0 up0 dn0]. rewrite [estimation _]/= [labels _]/=. rewrite /= in IH. destruct tag0. eapply subseq_trans; [| apply subseq_cons]. rewrite map_flatten -map_comp. apply (subseq_flatten (f':=labels)) => x Hx. by apply IH. rewrite /= eqxx. rewrite map_flatten -map_comp. apply (subseq_flatten (f':=labels)) => x Hx. by apply IH. 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