name | option-dest-def |
version | 1.16 |
description | Definition of the option destructors |
author | Joe Hurd <joe@gilith.com> |
license | HOLLight |
provenance | HOL Light theory extracted on 2011-08-15 |
show | Data.Bool |
⊦ (Data.Option.isNone Data.Option.none ⇔ T) ∧
∀a. Data.Option.isNone (Data.Option.some a) ⇔ F
⊦ (Data.Option.isSome Data.Option.none ⇔ F) ∧
∀a. Data.Option.isSome (Data.Option.some a) ⇔ T
⊦ (∀b f. Data.Option.case.none.some b f Data.Option.none = b) ∧
∀b f a. Data.Option.case.none.some b f (Data.Option.some a) = f a
⊦ T
⊦ (∃) = λP. P ((select) P)
⊦ (∀) = λp. p = λx. T
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ (∧) = λp q. (λf. f p q) = λf. f T T
⊦ (∃) = λP. ∀q. (∀x. P x ⇒ q) ⇒ q
⊦ ∀NONE' SOME'.
∃fn.
fn Data.Option.none = NONE' ∧ ∀a. fn (Data.Option.some a) = SOME' a