Step * 1 1 2 1 2 1 1 1 1 of Lemma bag-val-append


1. Type
2. T ⟶ T ⟶ T
3. zero T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. T
8. List
9. ∀x:T
     (accumulate (with value and list item x):
       x
      over list:
        v
      with starting value:
       x)
     (x accumulate (with value and list item x): xover list:  vwith starting value: zero))
     ∈ T)
10. T
11. accumulate (with value and list item x):
     x
    over list:
      v
    with starting value:
     u)
((x u) accumulate (with value and list item x): xover list:  vwith starting value: zero))
∈ T
12. accumulate (with value and list item x):
     x
    over list:
      v
    with starting value:
     zero u)
((zero u) accumulate (with value and list item x): xover list:  vwith starting value: zero))
∈ T
13. v1 T
14. accumulate (with value and list item x): xover list:  vwith starting value: zero) v1 ∈ T
⊢ (x ((zero u) v1)) ((x u) v1) ∈ T
BY
(Unfold `assoc` THEN (RWO "5" THEN Auto) THEN RepeatFor ((EqCD THEN Auto))) }


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)
=  ...
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  +  x
      over  list:
          v
      with  starting  value:
        zero))
13.  v1  :  T
14.  accumulate  (with  value  v  and  list  item  x):  v  +  xover  list:    vwith  starting  value:  zero)  =  v1
\mvdash{}  (x  +  ((zero  +  u)  +  v1))  =  ((x  +  u)  +  v1)


By


Latex:
(Unfold  `assoc`  5  THEN  (RWO  "5"  0  THEN  Auto)  THEN  RepeatFor  2  ((EqCD  THEN  Auto)))




Home Index