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: List assert: b bool: 𝔹 less_than: a < b uall: [x:A]. B[x] top: Top so_apply: x[s] not: ¬A implies:  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