fact: Definition ctree_leaf_pair lf1 lf2 lf3 lf1' lf2' lf3' := let lf' := CtreeNode lf1' lf2' lf3' in match lf' with | CtreeNode CtreeEmpty CtreeEmpty CtreeEmpty => CtreePair lf1' (ctree_cons lf1 lf2 lf3) | CtreeNode CtreeEmpty CtreeEmpty _ => CtreePair lf' (ctree_cons lf1 lf2 lf1') | CtreeNode CtreeEmpty _ CtreeEmpty => CtreePair lf' (ctree_cons lf1 lf1' lf3) | CtreeNode CtreeEmpty _ _ => CtreePair lf' (ctree_cons lf1 lf1' lf1') | CtreeNode _ CtreeEmpty CtreeEmpty => CtreePair lf' (ctree_cons lf2' lf2 lf3) | CtreeNode _ CtreeEmpty _ => CtreePair lf' (ctree_cons lf2' lf2 lf2') | CtreeNode _ _ CtreeEmpty => CtreePair lf' (ctree_cons lf3' lf3' lf3) | _ => CtreePair lf' CtreeEmpty end.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq) fourcolor(color chromogram gtree ctree)