Step
*
1
1
1
of Lemma
bag-val-append
.....equality..... 
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. x : T
8. as : T List
9. bs : T List
10. permutation(T;as;bs)
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    bs
  with starting value:
   zero)
= accumulate (with value v and list item x):
   v + x
  over list:
    as
  with starting value:
   zero)
∈ T
BY
{ ((Assert as = bs ∈ bag(T) BY
          (EqTypeCD THEN Auto))⋅
   THEN ((Assert (bag-val(zero;+) as) = (bag-val(zero;+) bs) ∈ T BY Auto) THEN RepUR ``bag-val`` (-1) THEN Auto)⋅
   ) }
Latex:
Latex:
.....equality..... 
1.  T  :  Type
2.  +  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  T
3.  zero  :  T
4.  Comm(T;+)
5.  Assoc(T;+)
6.  Ident(T;+;zero)
7.  x  :  T
8.  as  :  T  List
9.  bs  :  T  List
10.  permutation(T;as;bs)
\mvdash{}  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        bs
    with  starting  value:
      zero)
=  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        as
    with  starting  value:
      zero)
By
Latex:
((Assert  as  =  bs  BY
                (EqTypeCD  THEN  Auto))\mcdot{}
  THEN  ((Assert  (bag-val(zero;+)  as)  =  (bag-val(zero;+)  bs)  BY
                            Auto)
              THEN  RepUR  ``bag-val``  (-1)
              THEN  Auto)\mcdot{}
  )
Home
Index