proposition: Lemma flatten_valid_2 `(M: @EMonoid A op one eqv): forall t t' , eval M (flatten t) == eval M (flatten t') -> eval M t == eval M t'.
proof: Proof. intros t t' H; now repeat rewrite <- flatten_valid in H. Qed.
imports: Coq(Relations RelationClasses Lia List) Param(Param) additions(More_on_positive)