Here's the code from a custom agda library. In the following code, ???? stands for vector and ℕ for Natural numbers. The take???? type is similar to that of Haskell. Example: "take 3 [1,2,3,4,5,6,7,8]" results in [1,2,3].
take???? : ∀{A : Set}{n : ℕ} → (m : ℕ) → ???? A n → ???? A m
take???? 0 xs = []
take???? (suc m) (x :: xs) = x :: take???? m xs
I keep getting the error:
Incomplete pattern matching for take????. Missing cases:
take???? (suc m) [] when checking the definition of take????
I dont understand, what possible proof I might be missing out.