{-# OPTIONS --without-K #-}
module sets.vec.dependent where
open import sets.nat.core
open import sets.fin.core
-- syntactic sugar to create finite dependent functions
⟦⟧ : ∀ {i}{P : Fin 0 → Set i} → (i : Fin 0) → P i
⟦⟧ ()
_∷∷_ : ∀ {i n}{P : Fin (suc n) → Set i}
→ (x : P zero)(xs : (i : Fin n) → P (suc i))
→ (i : Fin (suc n)) → P i
_∷∷_ {P = P} x xs zero = x
_∷∷_ {P = P} x xs (suc i) = xs i
infixr 5 _∷∷_