Понимание `k: Nat ** 5 * k = n` Подпись
Следующая функция компилирует:
onlyModByFive : (n : Nat) -> (k : Nat ** 5 * k = n) -> Nat
onlyModByFive n k = 100
Но что делаетk
представлять с егоNat ** 5 * k = n
синтаксис?
Кроме того, как я могу это назвать? Вот что я пробовал, но я не понимаю вывод.
*Test> onlyModByFive 5 5
When checking an application of function Main.onlyModByFive:
(k : Nat ** plus k (plus k (plus k (plus k (plus k 0)))) = 5) is not a
numeric type
источник ответа -https://groups.google.com/d/msg/idris-lang/ZPi9wCd95FY/eo3tRijGAAAJ