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 zs
VectSetoid : Nat -> Setoid -> Setoid
VectMapFunctionHomomorphism : (f : a ~> b) -> SetoidHomomorphism (VectSetoid n a) (VectSetoid n b) (map (f .H))
VectMapHomomorphism : a ~> b -> VectSetoid n a ~> VectSetoid n b
VectMapIsHomomorphism : SetoidHomomorphism (a ~~> b) (VectSetoid n a ~~> VectSetoid n b) VectMapHomomorphism
VectMap : (a ~~> b) ~> (VectSetoid n a ~~> VectSetoid n b)