Kind/book/List.begin.kind2
2024-02-21 22:10:51 -03:00

15 lines
345 B
Plaintext

// Removes the last element
List.begin
: ∀(A: *)
∀(list: (List A))
(List A)
= λA λlist
let P = λx(List A)
let cons = λx0 λxs
let P = λx(List A)
let cons = λx1 λxs (List.cons A x0 (List.begin A (List.cons A x1 xs)))
let nil = (List.nil A)
(~xs P cons nil)
let nil = (List.nil A)
(~list P cons nil)