标准库中的natToFin
函数具有以下签名:
natToFin : Nat -> (n : Nat) -> Maybe (Fin n)
natToFin 4 5
返回Just (FS (FS (FS (FS FZ)))) : Maybe (Fin 5)
,而
natToFin 5 5
返回Nothing
。
我想要一个具有以下签名的函数:
myNatToFin : (m : Nat) -> (n : Nat) -> { auto p : n `GT` m } -> Fin n
它的行为与标准 lib 函数相同,但不需要返回 aMaybe
因为总是可以Fin n
从m
给定n
的大于m
.
我该如何实施myNatToFin
?