fact: Fixpoint ctree_sub t et {struct t} := match t, et with | CtreeNode t1 t2 t3, e :: et' => (palette (fun _ => 0) (ctree_sub t1) (ctree_sub t2) (ctree_sub t3)) e et' | CtreeLeaf lf, [::] => (ctree_sub lf et).+1 | _, _ => 0 end.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq) fourcolor(color)