fact: Fixpoint creg_to_reg r : regexp := match r with | CVoid => Void | CEps => Eps | CDot => Dot | CAtom x => Atom x | CStar r1 => Star (creg_to_reg r1) | CPlus l => foldr (fun xx yy => Plus xx yy) Void (map creg_to_reg l) | CAnd l => foldr (fun xx yy => And xx yy) (Not Void) (map creg_to_reg l) | CConc l => foldr (fun xx yy => Conc xx yy) Eps (map creg_to_reg l) | CNot r1 => Not (creg_to_reg r1) 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)