Step * of Lemma bag-accum_wf

[T,S:Type]. ∀[init:S]. ∀[f:S ⟶ T ⟶ S]. ∀[bs:bag(T)].
  bag-accum(v,x.f[v;x];init;bs) ∈ supposing ∀v:S. ∀x,y:T.  (f[f[v;y];x] f[f[v;x];y] ∈ S)
BY
(Auto THEN BagD (-2) THEN Auto THEN Unfold `bag-accum` 0⋅}

1
1. Type
2. Type
3. init S
4. S ⟶ T ⟶ S
5. ∀v:S. ∀x,y:T.  (f[f[v;y];x] f[f[v;x];y] ∈ S)
6. as List
7. bs List
8. permutation(T;as;bs)
⊢ accumulate (with value and list item x):
   f[v;x]
  over list:
    as
  with starting value:
   init)
accumulate (with value and list item x):
   f[v;x]
  over list:
    bs
  with starting value:
   init)
∈ S


Latex:


Latex:
\mforall{}[T,S:Type].  \mforall{}[init:S].  \mforall{}[f:S  {}\mrightarrow{}  T  {}\mrightarrow{}  S].  \mforall{}[bs:bag(T)].
    bag-accum(v,x.f[v;x];init;bs)  \mmember{}  S  supposing  \mforall{}v:S.  \mforall{}x,y:T.    (f[f[v;y];x]  =  f[f[v;x];y])


By


Latex:
(Auto  THEN  BagD  (-2)  THEN  Auto  THEN  Unfold  `bag-accum`  0\mcdot{})




Home Index