proposition: Lemma children_ind {i U V : eqType} (P : forall k, @tn_tree i k U V -> Prop) : (forall k t, (forall t', t' \in children t -> P _ t') -> P k t) -> forall k t, P k t.
proof: Proof. move=> HP k t. set h := depth t. have : depth t <= h by []. clearbody h. move: k t. elim: h => [|h IH] k t Hh. by destruct t. destruct t; simpl in *. rewrite ltnS in Hh. apply HP => /= t' Ht'. apply: IH. by rewrite (leq_trans _ Hh)// big_map leq_bigmax_seq. 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