name | option-dest |
version | 1.0 |
description | Theory of the option destructors |
author | Joe Hurd <joe@gilith.com> |
license | MIT |
show | Data.Bool Data.Option |
⊦ ∀x. case none some x = x
⊦ (∀b f. case b f none = b) ∧ ∀b f a. case b f (some a) = f a
⊦ T
⊦ (∃) = λP. P ((select) P)
⊦ (∀) = λP. P = λx. T
⊦ ∀x. x = x ⇔ T
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ ∀x. x = none ∨ ∃a. x = some a
⊦ (∧) = λp q. (λf. f p q) = λf. f T T
⊦ (∃) = λP. ∀q. (∀x. P x ⇒ q) ⇒ q
⊦ (∨) = λp q. ∀r. (p ⇒ r) ⇒ (q ⇒ r) ⇒ r
⊦ ∀NONE' SOME'. ∃fn. fn none = NONE' ∧ ∀a. fn (some a) = SOME' a