Entry |
Value |
Name |
foldl_append |
Conclusion |
!f b l1 l2. foldl f b (APPEND l1 l2) = foldl f (foldl f b l1) l2 |
Constructive Proof |
Yes |
Axiom |
N|A |
Classical Lemmas |
N|A |
Constructive Lemmas |
T!h t. REVERSE (CONS h t) = APPEND (REVERSE t) [h]!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!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 l1 l2. foldr f b (APPEND l1 l2) = foldr f (foldr f b l2) l1!f b. foldr f b [] = b!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 l3. APPEND l1 (APPEND l2 l3) = APPEND (APPEND l1 l2) l3!l1 l2. REVERSE (APPEND l1 l2) = APPEND (REVERSE l2) (REVERSE l1)!l. APPEND [] l = l!l. APPEND l [] = lT <=> (\p. p) = (\p. p)(/\) = (\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)REVERSE [] = [] |
Contained Package |
list-fold-thm |
Comment |
Standard HOL library retrieved from OpenTheory |