The setoid of vectors over a given setoid, defined inductively
data .VectEquality : (a : Setoid) -> Rel (Vect n (U a))Nil : a .VectEquality [] [](::) : (a .equivalence) .relation x y -> a .VectEquality xs ys -> a .VectEquality (x :: xs) (y :: ys)(++) : a .VectEquality xs ys -> a .VectEquality as bs -> a .VectEquality (xs ++ as) (ys ++ bs).VectEqualityReflexive : (a : Setoid) -> (xs : Vect n (U a)) -> a .VectEquality xs xs.VectEqualitySymmetric : (a : Setoid) -> (xs : Vect n (U a)) -> (ys : Vect n (U a)) -> a .VectEquality xs ys -> a .VectEquality ys xs.VectEqualityTransitive : (a : Setoid) -> (xs : Vect n (U a)) -> (ys : Vect n (U a)) -> (zs : Vect n (U a)) -> a .VectEquality xs ys -> a .VectEquality ys zs -> a .VectEquality xs zsVectSetoid : Nat -> Setoid -> SetoidVectMapFunctionHomomorphism : (f : a ~> b) -> SetoidHomomorphism (VectSetoid n a) (VectSetoid n b) (map (f .H))VectMapHomomorphism : a ~> b -> VectSetoid n a ~> VectSetoid n bVectMapIsHomomorphism : SetoidHomomorphism (a ~~> b) (VectSetoid n a ~~> VectSetoid n b) VectMapHomomorphismVectMap : (a ~~> b) ~> (VectSetoid n a ~~> VectSetoid n b)