Entry |
Value |
Name |
SET_OF_LIST_FILTER |
Conclusion |
!p l. set_of_list (FILTER p l) = set_of_list l DIFF {x | ~p x} |
Constructive Proof |
No |
Axiom |
!t. t \/ ~t
(\a. a = (\b. (\c. c) = (\c. c))) (\d. (\e. d e) = d)
(\a. a = (\b. (\c. c) = (\c. c)))
(\d. (\e. e = (\f. (\c. c) = (\c. c)))
(\g. (\h i.
(\j k.
(\l. l j k) =
(\m. m ((\c. c) = (\c. c)) ((\c. c) = (\c. c))))
h
i <=>
h)
(d g)
(d ((@) d)))) |
Classical Lemmas |
!b f x y. f (if b then x else y) = (if b then f x else f y)!t. ~ ~t <=> t!t. (t <=> T) \/ (t <=> F)!p c x y. p (if c then x else y) <=> (c ==> p x) /\ (~c ==> p y)!s t x.
x INSERT s DIFF t = (if x IN t then s DIFF t else x INSERT (s DIFF t)) |
Constructive Lemmas |
T!x y s. x IN y INSERT s <=> x = y \/ x IN s!t1 t2. (if F then t1 else t2) = t2!t1 t2. (if T then t1 else t2) = t1!x y. x = y <=> y = x!x y. x = y ==> y = x!h t. set_of_list (CONS h t) = h INSERT set_of_list t!x s. x INSERT s = {y | y = x \/ y IN s}!x. ~(x IN {})!x. x = x!x. (@y. y = x) = x!p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 /\ q1 ==> p2 /\ q2!p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 \/ q1 ==> p2 \/ q2!p q r. (p \/ q) /\ r <=> p /\ r \/ q /\ r!b f x y. f (if b then x else y) = (if b then f x else f y)!t. (!x. 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 <=> F) <=> ~t!t. (t <=> T) <=> t!t. F ==> t <=> T!t. T ==> t <=> t!t. t ==> F <=> ~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!t. t ==> t!t. (t <=> T) \/ (t <=> F)!f y. (\x. f x) y = f y!f g. (!x. f x = g x) <=> f = g!f g. (!x. f x = g x) ==> f = g!t. (\x. t x) = t!p h t.
FILTER p (CONS h t) = (if p h then CONS h (FILTER p t) else FILTER p t)!p a. (?x. a = x /\ p x) <=> p a!p x. x IN GSPEC p <=> p x!p x. x IN {y | p y} <=> p x!p x. p x ==> p ((@) p)!p c x y. p (if c then x else y) <=> (c ==> p x) /\ (~c ==> p y)!p q. (!x. p x ==> q x) ==> (?x. p x) ==> (?x. q x)!p. FILTER p [] = []!p. p [] /\ (!h t. p t ==> p (CONS h t)) ==> (!l. p l)!s t x. x IN s DIFF t <=> x IN s /\ ~(x IN t)!s t x.
x INSERT s DIFF t = (if x IN t then s DIFF t else x INSERT (s DIFF t))!s t. (!x. x IN s <=> x IN t) <=> s = t!s t. s DIFF t = {x | x IN s /\ ~(x IN t)}!s t. (!x. x IN s <=> x IN t) ==> s = t!s. {} DIFF s = {}F <=> (!p. p)T <=> (\p. p) = (\p. p)~F <=> T~T <=> F(~) = (\p. p ==> F)COND = (\t t1 t2. @x. ((t <=> T) ==> x = t1) /\ ((t <=> F) ==> x = t2))(/\) = (\p q. (\f. f p q) = (\f. f T T))(==>) = (\p q. p /\ q <=> p)(\/) = (\p q. !r. (p ==> r) ==> (q ==> r) ==> r)(!) = (\p. p = (\x. T))(?) = (\p. !q. (!x. p x ==> q) ==> q)(?) = (\p. p ((@) p)){} = {x | F}set_of_list [] = {} |
Contained Package |
list-filter-thm |
Comment |
Standard HOL library retrieved from OpenTheory |