Step
*
1
1
2
1
2
1
1
of Lemma
bag-val-append
.....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
BY
{ ((InstHyp [⌜zero + u⌝] (-3)⋅ THEN Auto)⋅ THEN HypSubst' (-1) 0 THEN Auto) }
1
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
12. accumulate (with value v and list item x):
     v + x
    over list:
      v
    with starting value:
     zero + u)
= ((zero + u) + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero))
∈ T
⊢ (x + ((zero + u) + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero)))
= ((x + u) + accumulate (with value v and list item x): v + xover list:  vwith starting value: zero))
∈ T
Latex:
Latex:
.....subterm.....  T:t
3:n
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{}  (x  +  accumulate  (with  value  v  and  list  item  x):  v  +  xover  list:    vwith  starting  value:  zero  +  u))
=  ...
By
Latex:
((InstHyp  [\mkleeneopen{}zero  +  u\mkleeneclose{}]  (-3)\mcdot{}  THEN  Auto)\mcdot{}  THEN  HypSubst'  (-1)  0  THEN  Auto)
Home
Index