fact: Fixpoint compareList l1 l2 {struct l1} : comparison := match l1,l2 with | [::],[::] => Eq | [::], _ => Lt | _, [::] => Gt | a1 :: t1, a2 :: t2 => match compare a1 a2 with | Eq => compareList t1 t2 | o => o end 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)