Step
*
1
1
of Lemma
bag-val-append
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. bs : bag(T)
8. as : T List
9. x : T
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    bs
  with starting value:
   x)
= (x + accumulate (with value v and list item x): v + xover list:  bswith starting value: zero))
∈ T
BY
{ (Thin (-2)
   THEN (BagD (-2) THEN Auto)
   THEN Subst' 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 0
   THEN Auto) }
1
.....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
2
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:
    as
  with starting value:
   x)
= (x + accumulate (with value v and list item x): v + xover list:  aswith starting value: zero))
∈ T
Latex:
Latex:
1.  T  :  Type
2.  +  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  T
3.  zero  :  T
4.  Comm(T;+)
5.  Assoc(T;+)
6.  Ident(T;+;zero)
7.  bs  :  bag(T)
8.  as  :  T  List
9.  x  :  T
\mvdash{}  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        bs
    with  starting  value:
      x)
=  (x  +  accumulate  (with  value  v  and  list  item  x):  v  +  xover  list:    bswith  starting  value:  zero))
By
Latex:
(Thin  (-2)
  THEN  (BagD  (-2)  THEN  Auto)
  THEN  Subst'  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)  0
  THEN  Auto)
Home
Index