Lemma reverse_append {X} (x : X) (l : list X) : reverse (append x l) = x :: reverse l. Proof. unfold append. now rewrite reverse_concatenate, reverseStep, reverse_nil. Defined.
Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.Combinatorics.StandardFiniteSets. Require Import UniMath.Combinatorics.Vectors.