{-# 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 _∷∷_