proposition: Lemma reg_incl_Plus : forall r1 r2 r3, (reg_incl r1 r3 && reg_incl r2 r3) -> reg_incl (Plus r1 r2) r3.
proof: Proof. rewrite /reg_incl => r1 r2 r3. case/andP => h1 h2. transitivity (Plus (Plus r1 r3) r2); first by apply similar_PlusAC. transitivity (Plus r3 r2). + by apply similar_congr_Plus; last reflexivity. by transitivity (Plus r2 r3); first apply similar_PlusC. Qed.
imports: Coq(RelationClasses Setoid Morphisms Permutation) Coq(SetoidList Mergesort Orders) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq fintype) mathcomp(bigop path) RegLang(languages) RegexpBrzozowski(glue gfinset regexp)