{ [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|| assert: b bool: nat: uall: [x:A]. B[x] top: Top so_apply: x[s] not: A implies: P  Q and: P  Q member: t  T less_than: a < b set: {x:A| B[x]}  function: x:A  B[x] product: x:A  B[x] union: left + right list: type List natural_number: $n int: universe: Type
Definitions :  uall: [x:A]. B[x] length: ||as|| member: t  T implies: P  Q not: A so_apply: x[s] and: P  Q top: Top collect_accm: collect_accm(v.P[v];v.num[v]) spreadn: spread3 ifthenelse: if b then t else f fi  ge: i  j  label: ...$L... t ycomb: Y le: A  B false: False all: x:A. B[x] btrue: tt prop: cand: A c B bfalse: ff subtype: S  T bool: nat: unit: Unit iff: P  Q uimplies: b supposing a it: has-value: has-value(a)
Lemmas :  length_wf1 length_nil length_wf_nat top_wf length_cons non_neg_length bool_wf iff_weakening_uiff assert_wf eqtt_to_assert rational-has-value int-rational nat_wf lt_int_wf uiff_transitivity assert_of_lt_int le_wf le_int_wf bnot_wf eqff_to_assert assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int length_wf2 not_wf append_wf length_append assert_of_bnot

\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: 2011_08_16-AM-11_04_29
Last ObjectModification: 2011_06_18-AM-09_37_14

Home Index