Entry |
Value |
Name |
foldl_with_cons_nil |
Conclusion |
!l. foldl (C CONS) [] l = REVERSE l |
Constructive Proof |
Yes |
Axiom |
(\a. a = (\b. (\c. c) = (\c. c))) (\d. (\e. d e) = d) |
Classical Lemmas |
N|A |
Constructive Lemmas |
T!x y. x = y <=> y = x!x y. x = y ==> y = x!x. 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 <=> T!t. T ==> t <=> t!t. t ==> F <=> ~t!t. t ==> T <=> T!t. t ==> t!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 q. (!x. p x ==> q x) ==> (?x. p x) ==> (?x. q x)!f b h t. foldr f b (CONS h t) = f h (foldr f b t)!f b. foldr f b [] = b!f x y. C f x y = f y x!f. C (C f) = f!f b l. foldl f b l = foldr (C f) b (REVERSE l)!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)!l1 l2. foldl (C CONS) l2 l1 = APPEND (REVERSE l1) l2!l1 l2. foldr CONS l2 l1 = APPEND l1 l2!l. APPEND [] l = l!l. APPEND l [] = lF <=> (!p. p)T <=> (\p. p) = (\p. p)(~) = (\p. p ==> F)(/\) = (\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)C = (\f x y. f y x) |
Contained Package |
list-fold-thm |
Comment |
Standard HOL library retrieved from OpenTheory |