Package bool: Boolean operators and quantifiers

Information

namebool
version1.19
descriptionBoolean operators and quantifiers
authorJoe Hurd <joe@gilith.com>
licenseMIT
requiresempty
showData.Bool

Files

Defined Constants

Theorems

T

¬F T

¬T F

x. x = x

t. t t

F p. p

t. t ¬t

(¬) = λp. p F

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

a. x. x = a

a. ∃!x. x = a

t. (x. t) t

t. (x. t) t

t. (λx. t x) = t

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

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

t. ¬¬t t

t. (T t) t

t. (t T) t

t. F t F

t. T t t

t. t F F

t. t T t

t. t t t

t. F t T

t. T t t

t. t T T

t. F t t

t. T t T

t. t F t

t. t T T

t. t t t

t1 t2. (let x t2 in t1) = t1

t. (F t) ¬t

t. (t F) ¬t

t. t F ¬t

x. (select y. y = x) = x

() = λp q. p q p

t. (t T) (t F)

t1 t2. (if F then t1 else t2) = t2

t1 t2. (if T then t1 else t2) = t1

b t. (if b then t else t) = t

p x. p x p ((select) p)

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

x y. x = y y = x

x y. x = y y = x

t1 t2. t1 t2 t2 t1

t1 t2. t1 t2 t2 t1

a b. (a b) a b

P. (b. P b) P T P F

P. (b. P b) P T P F

P. P F P T x. P x

() = λ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. ¬(x. P x) x. ¬P x

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

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

A B. (B A) ¬A ¬B

t1 t2. ¬(t1 t2) t1 ¬t2

t1 t2. (¬t1 ¬t2) t1 t2

t1 t2. ¬t1 ¬t2 t2 t1

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

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

a b. f. f F = a f T = b

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

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

P a. (x. a = x P x) P a

P a. (x. x = a P x) P a

P a. (x. a = x P x) P a

P a. (x. x = a P x) P a

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

P. (∃!x. P x) x. y. P y x = y

x y z. x = y y = z x = z

p q r. p q r p q r

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

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

P x. (y. P y y = x) (select) P = x

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

P. (x. ∃!y. P x y) ∃!f. x. P x (f x)

b f g. (λx. if b then f x else g x) = if b then f else g

b t1 t2. (if b then t1 else t2) (¬b t1) (b t2)

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

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

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

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

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

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

(∃!) = λP. () P x y. P x P y x = y

b f x y. f (if b then x else y) = if b then f x else f y

b f g x. (if b then f else g) x = if b then f x else g x

P. (∃!x. P x) x. P x y. P y y = x

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

cond = λt t1 t2. select x. ((t T) x = t1) ((t F) x = t2)

A B C D. (A B) (C D) A C B D

A B C D. (A B) (C D) A C B D

A B C D. (B A) (C D) (A C) B D

P. (x. ∃!y. P x y) f. x y. P x y f x = y

P c x y. P (if c then x else y) (c P x) (¬c P y)

P. (∃!x. P x) (x. P x) x x'. P x P x' x = x'

b A B C D. (A B) (C D) (if b then A else C) if b then B else D

Input Type Operators

Input Constants

Assumptions

let a d (λe. d e) = d in a = λb. (λc. c) = λc. c

let a d
      let e g
          (let h d g in
           λi.
             (let j h in
              λk. (λl. l j k) = λm. m ((λc. c) = λc. c) ((λc. c) = λc. c))
               i h) (d ((select) d)) in
      e = (λf. (λc. c) = λc. c) in
  a = λb. (λc. c) = λc. c