Step * 1 1 2 1 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. ∀[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
BY
(RepUR ``group_p monoid_p assoc`` 9
   THEN Auto
   THEN RWW "9" 0
   THEN Auto
   THEN EqCD
   THEN Auto
   THEN RWW "9<0
   THEN Auto
   THEN EqCD
   THEN Auto)⋅ }


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.  \mforall{}[a,x,y:R].
            (((a  mul  (x  add  y))  =  ((a  mul  x)  add  (a  mul  y)))
            \mwedge{}  (((x  add  y)  mul  a)  =  ((x  mul  a)  add  (y  mul  a))))
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  (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)))


By


Latex:
(RepUR  ``group\_p  monoid\_p  assoc``  9
  THEN  Auto
  THEN  RWW  "9"  0
  THEN  Auto
  THEN  EqCD
  THEN  Auto
  THEN  RWW  "9<"  0
  THEN  Auto
  THEN  EqCD
  THEN  Auto)\mcdot{}




Home Index