Package list-dest: List type destructors

Information

namelist-dest
version1.28
descriptionList type destructors
authorJoe Hurd <joe@gilith.com>
licenseMIT
requiresbool
list-def
list-thm
showData.Bool
Data.List

Files

Defined Constants

Theorems

null []

l. null l l = []

l. case [] (::) l = l

h t. ¬null (h :: t)

h t. head (h :: t) = h

h t. tail (h :: t) = t

b f. case b f [] = b

l. ¬(l = []) head l :: tail l = l

b f h t. case b f (h :: t) = f h t

Input Type Operators

Input Constants

Assumptions

¬

¬

p. p

(¬) = λp. p

() = λp. p ((select) p)

() = λp. p = λx.

t. ( t) t

t. (t ) t

t. t

t. t t

t. ( t) ¬t

t. (t ) ¬t

() = λp q. p q p

h t. ¬(h :: t = [])

() = λp q. (λf. f p q) = λf. f

() = λp. q. (x. p x q) q

x. x = [] a0 a1. x = a0 :: a1

() = λp q. r. (p r) (q r) r

p. (x. y. p x y) y. x. p x (y x)

P. P [] (a0 a1. P a1 P (a0 :: a1)) x. P x

NIL' CONS'.
    fn. fn [] = NIL' a0 a1. fn (a0 :: a1) = CONS' a0 a1 (fn a1)