Step
*
1
1
of Lemma
bag-val_wf
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. as : T List
8. bs : T List
9. permutation(T;as;bs)
10. ||as|| = ||bs|| ∈ ℤ
11. 0 < ||as||
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    as
  with starting value:
   zero)
= accumulate (with value v and list item x):
   v + x
  over list:
    bs
  with starting value:
   zero)
∈ T
BY
{ (Subst ⌜accumulate (with value v and list item x):
           v + x
          over list:
            as
          with starting value:
           zero)
          = combine-list(v,x.v + x;as)
          ∈ 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. as : T List
8. bs : T List
9. permutation(T;as;bs)
10. ||as|| = ||bs|| ∈ ℤ
11. 0 < ||as||
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    as
  with starting value:
   zero)
= combine-list(v,x.v + x;as)
∈ T
2
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. as : T List
8. bs : T List
9. permutation(T;as;bs)
10. ||as|| = ||bs|| ∈ ℤ
11. 0 < ||as||
⊢ combine-list(v,x.v + x;as)
= accumulate (with value v and list item x):
   v + x
  over list:
    bs
  with 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.  as  :  T  List
8.  bs  :  T  List
9.  permutation(T;as;bs)
10.  ||as||  =  ||bs||
11.  0  <  ||as||
\mvdash{}  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        as
    with  starting  value:
      zero)
=  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        bs
    with  starting  value:
      zero)
By
Latex:
(Subst  \mkleeneopen{}accumulate  (with  value  v  and  list  item  x):
                  v  +  x
                over  list:
                    as
                with  starting  value:
                  zero)
                =  combine-list(v,x.v  +  x;as)\mkleeneclose{}  0\mcdot{}
  THEN  Auto
  )
Home
Index