proposition: Lemma Dyck_irrred_prop2 l: Dyck_path l -> ~~ nilp l -> (forall l1 l2, Dyck_path l1 -> Dyck_path l2 -> l = l1 ++ l2 -> (nilp l1 ) || (nilp l2)) -> Dyck_irred l.
proof: Proof. move => dl nl H. have ha:=(DP_splitb_prop3 dl nl). have hb:= (DP_splitb_recover l). move /andP:(DP_splitb_Dyck12 dl) => [hc hd]. move:(H _ _ hc hd (esym hb)). by rewrite (negbTE (Dyck_irrred_nnil ha)) orbF - {2} hb => /nilP ->. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype) mathcomp(ssrnat seq path div) mathcomp(fintype tuple finfun bigop finset binomial)