Step
*
1
1
2
1
2
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. u : T
8. v : T List
9. ∀x:T
     (accumulate (with value v and list item x):
       v + x
      over list:
        v
      with starting value:
       x)
     = (x + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero))
     ∈ T)
10. x : T
11. accumulate (with value v and list item x):
     v + x
    over list:
      v
    with starting value:
     x + u)
= ((x + u) + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero))
∈ T
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    v
  with starting value:
   x + u)
= (x + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero + u))
∈ T
BY
{ (NthHypEq (-1) THEN EqCD THEN Auto) }
1
.....subterm..... T:t
3:n
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. u : T
8. v : T List
9. ∀x:T
     (accumulate (with value v and list item x):
       v + x
      over list:
        v
      with starting value:
       x)
     = (x + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero))
     ∈ T)
10. x : T
11. accumulate (with value v and list item x):
     v + x
    over list:
      v
    with starting value:
     x + u)
= ((x + u) + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero))
∈ T
⊢ (x + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero + u))
= ((x + u) + accumulate (with value v and list item x): v + xover list:  vwith 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.  u  :  T
8.  v  :  T  List
9.  \mforall{}x:T
          ...
10.  x  :  T
11.  accumulate  (with  value  v  and  list  item  x):
          v  +  x
        over  list:
            v
        with  starting  value:
          x  +  u)
=  ...
\mvdash{}  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        v
    with  starting  value:
      x  +  u)
=  (x  +  accumulate  (with  value  v  and  list  item  x):  v  +  xover  list:    vwith  starting  value:  zero  +  u))
By
Latex:
(NthHypEq  (-1)  THEN  EqCD  THEN  Auto)
Home
Index