Nuprl Lemma : collect_accm_wf

[A:Type]. ∀[P:{L:A List| 0 < ||L||}  ─→ 𝔹]. ∀[num:A ─→ ℕ].
  (collect_accm(v.P[v];v.num[v]) ∈ (ℤ × {L:A List| 0 < ||L||  (¬↑P[L])}  × ({L:A List| 0 < ||L|| ∧ (↑P[L])}  Top))
   ─→ A
   ─→ (ℤ × {L:A List| 0 < ||L||  (¬↑P[L])}  × ({L:A List| 0 < ||L|| ∧ (↑P[L])}  Top)))


Proof




Definitions occuring in Statement :  collect_accm: collect_accm(v.P[v];v.num[v]) length: ||as|| list: List nat: 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
Lemmas :  cons_wf_listp nil_wf subtype_rel_sets assert_wf lt_int_wf length_wf less_than_wf assert_of_lt_int bool_wf eqtt_to_assert value-type-has-value nat_wf set-value-type le_wf int-value-type eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot not_wf length_nil non_neg_length length_wf_nil length_cons length_wf_nat length_append subtype_rel_set list_wf subtype_rel_list top_wf
\mforall{}[A:Type].  \mforall{}[P:\{L:A  List|  0  <  ||L||\}    {}\mrightarrow{}  \mBbbB{}].  \mforall{}[num:A  {}\mrightarrow{}  \mBbbN{}].
    (collect\_accm(v.P[v];v.num[v])  \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{}  A
      {}\mrightarrow{}  (\mBbbZ{}  \mtimes{}  \{L:A  List|  0  <  ||L||  {}\mRightarrow{}  (\mneg{}\muparrow{}P[L])\}    \mtimes{}  (\{L:A  List|  0  <  ||L||  \mwedge{}  (\muparrow{}P[L])\}    +  Top)))



Date html generated: 2015_07_17-AM-08_59_43
Last ObjectModification: 2015_01_27-PM-01_05_50

Home Index