(* From Undecidability Require Import Combinators.Combinators Multi Basic.Mono TMTac. *)
Local Set Printing Coercions.
(* Avoid using [Vector.to_list], because it doesn't [cbn] good. Use [vector_to_list] instead. *)
Local Arguments Vector.to_list {A n} (!v).
Local Arguments plus : simpl never.
Local Arguments mult : simpl never.

(* TODO: ~> somewhere else *)
Lemma vector_to_list_inj (X : Type) (n : nat) (xs ys : Vector.t X n) :
vector_to_list xs = vector_to_list ys -> xs = ys.