Nuprl Lemma : collect_filter-wf2

[A:Type]. ∀[P:{L:A List| 0 < ||L||}  ─→ 𝔹].
  (collect_filter() ∈ {s:ℤ × {L:A List| 0 < ||L||  (¬↑P[L])}  × ({L:A List| 0 < ||L|| ∧ (↑P[L])}  Top)| 
                       (↑isl(snd(snd(s))))  (1 ≤ (fst(s)))}  ─→ bag(ℕ × {L:A List| 0 < ||L|| ∧ (↑P[L])} ))


Proof




Definitions occuring in Statement :  collect_filter: collect_filter() length: ||as|| list: List nat: assert: b isl: isl(x) bool: 𝔹 less_than: a < b uall: [x:A]. B[x] top: Top so_apply: x[s] pi1: fst(t) pi2: snd(t) le: A ≤ B 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 nat_wf less_than_wf length_wf assert_wf subtract_wf decidable__le false_wf not-le-2 condition-implies-le minus-one-mul zero-add minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le le-add-cancel le_wf empty-bag_wf not_wf top_wf isl_wf list_wf bool_wf
\mforall{}[A:Type].  \mforall{}[P:\{L:A  List|  0  <  ||L||\}    {}\mrightarrow{}  \mBbbB{}].
    (collect\_filter()  \mmember{}  \{s:\mBbbZ{}
                                              \mtimes{}  \{L:A  List|  0  <  ||L||  {}\mRightarrow{}  (\mneg{}\muparrow{}P[L])\} 
                                              \mtimes{}  (\{L:A  List|  0  <  ||L||  \mwedge{}  (\muparrow{}P[L])\}    +  Top)| 
                                              (\muparrow{}isl(snd(snd(s))))  {}\mRightarrow{}  (1  \mleq{}  (fst(s)))\}    {}\mrightarrow{}  bag(\mBbbN{}  \mtimes{}  \{L:A  List|  0  <  ||L||  \mwedge{}  (\muparrow{}P\000C[L])\}  ))



Date html generated: 2015_07_17-AM-08_59_19
Last ObjectModification: 2015_01_27-PM-01_02_44

Home Index