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