fact: Fixpoint ctree_disjoint tl tr {struct tr} := match tl, tr with | CtreeLeaf _, CtreeLeaf _ => false | CtreeNode tl1 tl2 tl3, CtreeNode tr1 tr2 tr3 => if ctree_disjoint tl1 tr1 then if ctree_disjoint tl2 tr2 then ctree_disjoint tl3 tr3 else false else false | _, _ => true end.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq) fourcolor(color)