open import Level using (Level)
open import Data.Nat using (ℕ)
open import Data.Fin
open import Data.Vec
open import Relation.Binary.PropositionalEquality
module Vec.Base where
private variable
ℓ : Level
A : Set ℓ
n : ℕ
swapV : (xs : Vec A n) (i j : Fin n) → Vec A n
swapV xs i j = xs [ i ]≔ lookup xs j [ j ]≔ lookup xs i
repeat : A → Vec A n
repeat {n = ℕ.zero} _ = []
repeat {n = ℕ.suc n} x = x ∷ repeat x