Package list-quant: Definitions and theorems about list quantifiers

Information

namelist-quant
version1.10
descriptionDefinitions and theorems about list quantifiers
authorJoe Hurd <joe@gilith.com>
licenseMIT
showData.Bool
Data.List
Function

Files

Defined Constants

Theorems

l. all (λx. T) l

P l. ¬all P l exists (λx. ¬P x) l

P l. ¬exists P l all (λx. ¬P x) l

P l. all P l x. Set.∈ x (toSet l) P x

P l. exists P l x. Set.∈ x (toSet l) P x

P f l. all P (map f l) all (P f) l

P f l. exists P (map f l) exists (P f) l

P l. (x. all (P x) l) all (λs. x. P x s) l

P l. (x. exists (P x) l) exists (λs. x. P x s) l

P l1 l2. all P (l1 @ l2) all P l1 all P l2

P Q l. (x. P x Q x) all P l all Q l

f g l. all (λx. f x = g x) l map f l = map g l

P Q l. all P l all Q l all (λx. P x Q x) l

P Q l. all (λx. P x Q x) l all P l all Q l

(P. all P [] T) P h t. all P (h :: t) P h all P t

(P. exists P [] F) P h t. exists P (h :: t) P h exists P t

Input Type Operators

Input Constants

Assumptions

T

F p. p

x. ¬Set.∈ x Set.∅

x. id x = x

(¬) = λp. p F

() = λP. P ((select) P)

a. x. x = a

t. (x. t) t

t. (x. t) t

t. (λx. t x) = t

() = λp. p = λx. T

x. x = x T

() = λp q. p q p

t. (t T) (t F)

(¬T F) (¬F T)

f y. (let x y in f x) = f y

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

P. ¬(x. P x) x. ¬P x

P. ¬(x. P x) x. ¬P x

() = λP. q. (x. P x q) q

f g x. (f g) x = f (g x)

f g. f = g x. f x = g x

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

P Q. P (x. Q x) x. P Q x

P Q. P (x. Q x) x. P Q x

P Q. (x. P x Q) (x. P x) Q

P Q. (x. P x) Q x. P x Q

P Q. (x. P x) Q x. P x Q

t1 t2 t3. t1 t2 t3 (t1 t2) t3

P. (x. y. P x y) y. x. P x (y x)

(t. ¬¬t t) (¬T F) (¬F T)

toSet [] = Set.∅ h t. toSet (h :: t) = Set.insert h (toSet t)

x y s. Set.∈ x (Set.insert y s) x = y Set.∈ x s

P Q. (x. P x Q x) (x. P x) x. Q x

P Q. (x. P x Q x) (x. P x) x. Q x

P Q. (x. P x) (x. Q x) x. P x Q 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)

(l. [] @ l = l) l h t. (h :: t) @ l = h :: t @ l

t1 t2. (¬(t1 t2) ¬t1 ¬t2) (¬(t1 t2) ¬t1 ¬t2)

(f. map f [] = []) f h t. map f (h :: t) = f h :: map f t

t. ((T t) t) ((t T) t) ((F t) ¬t) ((t F) ¬t)

t. (T t t) (t T t) (F t F) (t F F) (t t t)

t. (T t T) (t T T) (F t t) (t F t) (t t t)

t. (T t t) (t T T) (F t T) (t t T) (t F ¬t)

p q r.
    (p q q p) ((p q) r p q r) (p q r q p r)
    (p p p) (p p q p q)

p q r.
    (p q q p) ((p q) r p q r) (p q r q p r)
    (p p p) (p p q p q)