proposition: Theorem completeness: equiv A i j <> None -> ~ eval (change_initial A i) == eval (change_initial A j).
proof: Proof. remember (equiv A i j) as r. destruct r as [[b w]|]. 2: rewrite Heqr; firstorder. intros _ H. symmetry in Heqr. apply counter_exemple_equiv in Heqr; auto. apply regex_language_graph_functor in H. simpl in H. rewrite 2 language_DFA_eval in H by auto using bounded_change_initial. specialize (H w). destruct b; simpl in Heqr; tauto. Qed.
imports: ATBR(Common) ATBR(Classes) ATBR(Graph) ATBR(Monoid) ATBR(SemiLattice) ATBR(SemiRing) ATBR(KleeneAlgebra) ATBR(MxGraph) ATBR(MxSemiLattice) ATBR(MxSemiRing) ATBR(MxKleeneAlgebra) ATBR(DKA_Definitions) ATBR(DKA_StateSetSets) ATBR(Utils_WF) Coq(Relations) Coq(List)