Step
*
1
1
2
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||
⊢ 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
BY
{ (Subst ⌜accumulate (with value v and list item x):
           v + x
          over list:
            bs
          with starting value:
           zero)
          = combine-list(v,x.v + x;bs)
          ∈ 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:
    bs
  with starting value:
   zero)
= combine-list(v,x.v + x;bs)
∈ 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) = combine-list(v,x.v + x;bs) ∈ 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{}  combine-list(v,x.v  +  x;as)
=  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:
                    bs
                with  starting  value:
                  zero)
                =  combine-list(v,x.v  +  x;bs)\mkleeneclose{}  0\mcdot{}
  THEN  Auto
  )\mcdot{}
Home
Index