Я разбиваю список на голову и хвост, но позже мне нужно доказательство того, что они возвращают мне исходный список при объединении:
test: Bool -> String
test b = let lst = the (List Nat) ?getListFromOtherFunction in
case lst of
Nil => ""
x :: xs =>
let eq = the ((x::xs) = lst) ?howToDoIt in ""
Я использую Идрис 1.3.1.