proposition: Lemma epsilon_deriv_pure a e: is_pure e -> eps (deriv a e) ≡ deriv a e.
proof: Proof. induction 1; simpl; fold_regex. reflexivity. rewrite <-expand_01. reflexivity. apply is_01_ofbool. rewrite orb_pls. now apply cup_weq. rewrite orb_pls, 2andb_dot, IHis_pure. rewrite deriv_01 by assumption. case (epsilon e); simpl; fold_regex; ra. Qed.
imports: syntax kleene boolean lang lset sums normalisation