fact: Fixpoint wf_re c : bool := match c with | CPlus l => [&& (size l >= 2) , uniq l , sorted cregexp_le l & all wf_re l] | CAnd l => [&& (size l >= 2) , uniq l , sorted cregexp_le l & all wf_re l] | CConc l => (size l >= 2) && all wf_re l | CStar c => wf_re c | CNot c => match c with | CNot _ => false | _ => wf_re c end | _ => true end.
imports: Coq(RelationClasses Setoid Morphisms) HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq fintype) mathcomp(bigop path) RegLang(languages) RegexpBrzozowski(glue regexp finite_der equiv)