Step * of Lemma cbv_list_accum-is-list_accum

[T,T':Type]. ∀[l:T List]. ∀[y:T']. ∀[f:T' ⟶ T ⟶ T'].
  cbv_list_accum(x,a.f[x;a];y;l) accumulate (with value and list item a):
                                    f[x;a]
                                   over list:
                                     l
                                   with starting value:
                                    y) 
  supposing value-type(T')
BY
(InductionOnList
   THEN (RecUnfold `cbv_list_accum` THEN RecUnfold `list_accum` 0)
   THEN Reduce 0
   THEN Auto
   THEN CallByValueReduce 0
   THEN Auto) }


Latex:


Latex:
\mforall{}[T,T':Type].  \mforall{}[l:T  List].  \mforall{}[y:T'].  \mforall{}[f:T'  {}\mrightarrow{}  T  {}\mrightarrow{}  T'].
    cbv\_list\_accum(x,a.f[x;a];y;l)  \msim{}  accumulate  (with  value  x  and  list  item  a):
                                                                        f[x;a]
                                                                      over  list:
                                                                          l
                                                                      with  starting  value:
                                                                        y) 
    supposing  value-type(T')


By


Latex:
(InductionOnList
  THEN  (RecUnfold  `cbv\_list\_accum`  0  THEN  RecUnfold  `list\_accum`  0)
  THEN  Reduce  0
  THEN  Auto
  THEN  CallByValueReduce  0
  THEN  Auto)




Home Index