Definition h2lower {A: UU} {n: nat} {v: vec A n} {P: A → UU} {h1v: hvec (vec_map P v)} {Q: A → UU} (h2v: hvec (h1map_vec (λ a _, Q a) h1v)) : hvec (vec_map Q v). Proof. revert n v h1v h2v. refine (vec_ind _ _ _). - reflexivity. - simpl. intros x n xs IHxs h1v h2v. split. + exact (pr1 h2v). + exact (IHxs (pr2 h1v) (pr2 h2v)). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.Combinatorics.StandardFiniteSets.