Entry |
Value |
Name |
map_option_o' |
Conclusion |
!f g. map_option f o map_option g = map_option (f o g) |
Constructive Proof |
No |
Axiom |
!t. t \/ ~t
(\a. a = (\b. (\c. c) = (\c. c))) (\d. (\e. d e) = d) |
Classical Lemmas |
!t. (t <=> T) \/ (t <=> F)!f g x. map_option (f o g) x = map_option f (map_option g x) |
Constructive Lemmas |
T!x y. x = y <=> y = x!x y. x = y ==> y = x!x. x = x!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 a. map_option f (SOME a) = SOME (f a)!f g. (!x. f x = g x) <=> f = g!f g. (!x. f x = g x) ==> f = g!t. (\x. t x) = t!f. map_option f NONE = NONE!f g x. (f o g) x = f (g x)!f g x. map_option (f o g) x = map_option f (map_option g x)!p. p NONE /\ (!a. p (SOME a)) ==> (!x. p x)!x. x = NONE \/ (?a. x = SOME a)F <=> (!p. p)T <=> (\p. p) = (\p. p)~F <=> T~T <=> F(~) = (\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)(o) = (\f g x. f (g x)) |
Contained Package |
option-map-thm |
Comment |
Standard HOL library retrieved from OpenTheory |