Nuprl Lemma : collect_filter_wf
∀[A:Type]. ∀[P:{L:A List| 0 < ||L||}  ─→ 𝔹].
  (collect_filter() ∈ (ℤ × {L:A List| 0 < ||L|| 
⇒ (¬↑P[L])}  × ({L:A List| 0 < ||L|| ∧ (↑P[L])}  + Top))
   ─→ bag(ℤ × {L:A List| 0 < ||L|| ∧ (↑P[L])} ))
Proof
Definitions occuring in Statement : 
collect_filter: collect_filter()
, 
length: ||as||
, 
list: T List
, 
assert: ↑b
, 
bool: 𝔹
, 
less_than: a < b
, 
uall: ∀[x:A]. B[x]
, 
top: Top
, 
so_apply: x[s]
, 
not: ¬A
, 
implies: P 
⇒ Q
, 
and: P ∧ Q
, 
member: t ∈ T
, 
set: {x:A| B[x]} 
, 
function: x:A ─→ B[x]
, 
product: x:A × B[x]
, 
union: left + right
, 
natural_number: $n
, 
int: ℤ
, 
universe: Type
, 
bag: bag(T)
Lemmas : 
single-bag_wf, 
less_than_wf, 
length_wf, 
assert_wf, 
subtract_wf, 
empty-bag_wf, 
not_wf, 
top_wf, 
list_wf, 
bool_wf
\mforall{}[A:Type].  \mforall{}[P:\{L:A  List|  0  <  ||L||\}    {}\mrightarrow{}  \mBbbB{}].
    (collect\_filter()  \mmember{}  (\mBbbZ{}
      \mtimes{}  \{L:A  List|  0  <  ||L||  {}\mRightarrow{}  (\mneg{}\muparrow{}P[L])\} 
      \mtimes{}  (\{L:A  List|  0  <  ||L||  \mwedge{}  (\muparrow{}P[L])\}    +  Top))  {}\mrightarrow{}  bag(\mBbbZ{}  \mtimes{}  \{L:A  List|  0  <  ||L||  \mwedge{}  (\muparrow{}P[L])\}  ))
Date html generated:
2015_07_17-AM-08_59_16
Last ObjectModification:
2015_01_27-PM-01_02_11
Home
Index