I have an equality definition:
Definition reglang_eq :=
forall (A : Set)
(r1 r2 : RegularLanguage A),
(forall xs : List A,
EvalInRegLang A r1 xs <-> EvalInRegLang A r2 xs)
-> r1 = r2
.
and a subgoal:
Concat A (EmptyStr A) r = Concat A r (EmptyStr A)
(* note: Concat is a RegularLanguage constructor *)
and when I try to apply or rewrite reglang_eq
, I get an error. If I understand correctly, this should simply be because I don't know the correct syntax, but I've been getting increasingly frustrated because I haven't been able to find documentation that I can understand. (Despite how many months I've been stumbling through proving stuff about RegularLanguages.)
Any help is appreciated, thanks.