Step * 1 2 of Lemma bag-summation-linear


1. Type
2. Type
3. add R ⟶ R ⟶ R
4. mul R ⟶ R ⟶ R
5. zero R
6. T ⟶ R
7. T ⟶ R
8. minus R ⟶ R
9. IsGroup(R;add;zero;minus)
10. Comm(R;add)
11. BiLinear(R;add;mul)
12. R
13. List
14. ∀x,y,z:R.
      ((z mul[a;add[x;y]] ∈ R)
       (accumulate (with value and list item x):
           add mul[a;add[f[x];g[x]]] c
          over list:
            L
          with starting value:
           z)
         mul[a;add[accumulate (with value and list item x):
                      add f[x] c
                     over list:
                       L
                     with starting value:
                      x);accumulate (with value and list item x):
                          add g[x] c
                         over list:
                           L
                         with starting value:
                          y)]]
         ∈ R))
⊢ accumulate (with value and list item x):
   add (a mul (f[x] add g[x])) c
  over list:
    L
  with starting value:
   zero)
(a 
   mul 
   (accumulate (with value and list item x):
     add f[x] c
    over list:
      L
    with starting value:
     zero) 
    add 
    accumulate (with value and list item x):
     add g[x] c
    over list:
      L
    with starting value:
     zero)))
∈ R
BY
(BHyp (-1) THEN Auto THEN RepUR ``so_apply`` THEN Fold `infix_ap` THEN Symmetry) }

1
1. Type
2. Type
3. add R ⟶ R ⟶ R
4. mul R ⟶ R ⟶ R
5. zero R
6. T ⟶ R
7. T ⟶ R
8. minus R ⟶ R
9. IsGroup(R;add;zero;minus)
10. Comm(R;add)
11. BiLinear(R;add;mul)
12. R
13. List
14. ∀x,y,z:R.
      ((z mul[a;add[x;y]] ∈ R)
       (accumulate (with value and list item x):
           add mul[a;add[f[x];g[x]]] c
          over list:
            L
          with starting value:
           z)
         mul[a;add[accumulate (with value and list item x):
                      add f[x] c
                     over list:
                       L
                     with starting value:
                      x);accumulate (with value and list item x):
                          add g[x] c
                         over list:
                           L
                         with starting value:
                          y)]]
         ∈ R))
⊢ (a mul (zero add zero)) zero ∈ R


Latex:


Latex:

1.  T  :  Type
2.  R  :  Type
3.  add  :  R  {}\mrightarrow{}  R  {}\mrightarrow{}  R
4.  mul  :  R  {}\mrightarrow{}  R  {}\mrightarrow{}  R
5.  zero  :  R
6.  f  :  T  {}\mrightarrow{}  R
7.  g  :  T  {}\mrightarrow{}  R
8.  minus  :  R  {}\mrightarrow{}  R
9.  IsGroup(R;add;zero;minus)
10.  Comm(R;add)
11.  BiLinear(R;add;mul)
12.  a  :  R
13.  L  :  T  List
14.  \mforall{}x,y,z:R.
            ((z  =  mul[a;add[x;y]])
            {}\mRightarrow{}  (accumulate  (with  value  c  and  list  item  x):
                      add  mul[a;add[f[x];g[x]]]  c
                    over  list:
                        L
                    with  starting  value:
                      z)
                  =  mul[a;add[accumulate  (with  value  c  and  list  item  x):
                                            add  f[x]  c
                                          over  list:
                                              L
                                          with  starting  value:
                                            x);accumulate  (with  value  c  and  list  item  x):
                                                    add  g[x]  c
                                                  over  list:
                                                      L
                                                  with  starting  value:
                                                    y)]]))
\mvdash{}  accumulate  (with  value  c  and  list  item  x):
      add  (a  mul  (f[x]  add  g[x]))  c
    over  list:
        L
    with  starting  value:
      zero)
=  (a 
      mul 
      (accumulate  (with  value  c  and  list  item  x):
          add  f[x]  c
        over  list:
            L
        with  starting  value:
          zero) 
        add 
        accumulate  (with  value  c  and  list  item  x):
          add  g[x]  c
        over  list:
            L
        with  starting  value:
          zero)))


By


Latex:
(BHyp  (-1)  THEN  Auto  THEN  RepUR  ``so\_apply``  0  THEN  Fold  `infix\_ap`  0  THEN  Symmetry)




Home Index