Entry |
Value |
Name |
FILTER_APPEND |
Conclusion |
!p l1 l2. FILTER p (APPEND l1 l2) = APPEND (FILTER p l1) (FILTER p l2) |
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 |
!t. (t <=> T) \/ (t <=> F)!p c x y. p (if c then x else y) <=> (c ==> p x) /\ (~c ==> p y) |
Constructive Lemmas |
T!t1 t2. (if F then t1 else t2) = t2!t1 t2. (if T then t1 else t2) = t1!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!t. (!x. 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!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 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)!l h t. APPEND (CONS h t) l = CONS h (APPEND t l)!l. APPEND [] l = lF <=> (!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)) |
Contained Package |
list-filter-thm |
Comment |
Standard HOL library retrieved from OpenTheory |