Package list-fold-def: Definition of the list fold operations
Information
name | list-fold-def |
version | 1.9 |
description | Definition of the list fold operations |
author | Joe Hurd <joe@gilith.com> |
license | MIT |
provenance | HOL Light theory extracted on 2012-06-08 |
requires | bool list-def |
show | Data.Bool Data.List Function |
Files
- Package tarball list-fold-def-1.9.tgz
- Theory file list-fold-def.thy (included in the package tarball)
Defined Constants
- Data
- List
- foldl
- foldr
- List
Theorems
⊦ ∀f b. foldr f b [] = b
⊦ ∀f b l. foldl f b l = foldr (C f) b (reverse l)
⊦ ∀f b h t. foldr f b (h :: t) = f h (foldr f b t)
Input Type Operators
- →
- bool
- Data
- List
- list
- List
Input Constants
- =
- select
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- ⊤
- List
- ::
- []
- reverse
- Bool
- Function
- C
Assumptions
⊦ ⊤
⊦ (∃) = λp. p ((select) p)
⊦ (∀) = λp. p = λx. ⊤
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ (∃) = λp. ∀q. (∀x. p x ⇒ q) ⇒ q
⊦ ∀p. (∀x. ∃y. p x y) ⇔ ∃y. ∀x. p x (y x)
⊦ ∀b f. ∃fn. fn [] = b ∧ ∀h t. fn (h :: t) = f h t (fn t)