Step * 1 1 2 1 1 1 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. T
14. List
15. ∀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:
            v
          with starting value:
           z)
         mul[a;add[accumulate (with value and list item x):
                      add f[x] c
                     over list:
                       v
                     with starting value:
                      x);accumulate (with value and list item x):
                          add g[x] c
                         over list:
                           v
                         with starting value:
                          y)]]
         ∈ R))
16. R
17. R
18. R
19. mul[a;add[x;y]] ∈ R
⊢ ((a mul ((f u) add (g u))) add (a mul (x add y))) (a mul (((f u) add x) add ((g u) add y))) ∈ R
BY
(Unfold `bilinear` 11 THEN (RWW "11.1" THENA Auto)) }

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. ∀[a,x,y:R].
      (((a mul (x add y)) ((a mul x) add (a mul y)) ∈ R) ∧ (((x add y) mul a) ((x mul a) add (y mul a)) ∈ R))
12. R
13. T
14. List
15. ∀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:
            v
          with starting value:
           z)
         mul[a;add[accumulate (with value and list item x):
                      add f[x] c
                     over list:
                       v
                     with starting value:
                      x);accumulate (with value and list item x):
                          add g[x] c
                         over list:
                           v
                         with starting value:
                          y)]]
         ∈ R))
16. R
17. R
18. R
19. mul[a;add[x;y]] ∈ R
⊢ (((a mul (f u)) add (a mul (g u))) add ((a mul x) add (a mul y)))
(((a mul (f u)) add (a mul x)) add ((a mul (g u)) add (a mul y)))
∈ 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.  u  :  T
14.  v  :  T  List
15.  \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:
                        v
                    with  starting  value:
                      z)
                  =  mul[a;add[accumulate  (with  value  c  and  list  item  x):
                                            add  f[x]  c
                                          over  list:
                                              v
                                          with  starting  value:
                                            x);accumulate  (with  value  c  and  list  item  x):
                                                    add  g[x]  c
                                                  over  list:
                                                      v
                                                  with  starting  value:
                                                    y)]]))
16.  x  :  R
17.  y  :  R
18.  z  :  R
19.  z  =  mul[a;add[x;y]]
\mvdash{}  ((a  mul  ((f  u)  add  (g  u)))  add  (a  mul  (x  add  y)))  =  (a  mul  (((f  u)  add  x)  add  ((g  u)  add  y)))


By


Latex:
(Unfold  `bilinear`  11  THEN  (RWW  "11.1"  0  THENA  Auto))




Home Index