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!f y. (\x. f x) y = f y!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 x y. C f x y = f y x!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)!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)C = (\f x y. f y x)REVERSE [] = [] |