Я новичок в Idris и пытаюсь уловить основные понятия и синтаксис.
Даже если это может показаться бессмысленным, я пытаюсь определить функцию half
, которая вдвое уменьшает натуральное число.
Я хочу придумать что-то вроде:
half : (n : Nat) -> (k : Nat) -> (n = k + k) -> (k : Nat)
но конечно не работает. В частности, я получаю:
ошибка: ожидается: подпись зависимого типа
half : (n : Nat) -> (k : Nat) -> (n = k + k) -> (k : Nat)
Является ли это возможным?
Спасибо.