Step
*
1
1
1
1
1
2
1
1
of Lemma
bag-summation-append
1. R : Type
2. add : R ⟶ R ⟶ R
3. zero : R
4. Assoc(R;add)
5. Ident(R;add;zero)
6. Comm(R;add)
7. T : Type
8. f : T ⟶ R
9. ∀[x,y,z:R].  ((x add (y add z)) = ((x add y) add z) ∈ R)
10. v1 : R
11. as : T List
12. bs : T List
13. permutation(T;as;bs)
14. z : bag(T)
15. c : R
16. x : T
17. y : T
⊢ (add f[x] (add f[y] c)) = (add f[y] (add f[x] c)) ∈ R
BY
{ ((Unfold `comm` 6 THEN (RW (AddrC [2] (HypC 6)) 0 THENA Auto))
   THEN Unfold `assoc` 4
   THEN (RWO "4<" 0 THENM (Fold `infix_ap` 0 THEN EqCD))
   THEN Auto)⋅ }
Latex:
Latex:
1.  R  :  Type
2.  add  :  R  {}\mrightarrow{}  R  {}\mrightarrow{}  R
3.  zero  :  R
4.  Assoc(R;add)
5.  Ident(R;add;zero)
6.  Comm(R;add)
7.  T  :  Type
8.  f  :  T  {}\mrightarrow{}  R
9.  \mforall{}[x,y,z:R].    ((x  add  (y  add  z))  =  ((x  add  y)  add  z))
10.  v1  :  R
11.  as  :  T  List
12.  bs  :  T  List
13.  permutation(T;as;bs)
14.  z  :  bag(T)
15.  c  :  R
16.  x  :  T
17.  y  :  T
\mvdash{}  (add  f[x]  (add  f[y]  c))  =  (add  f[y]  (add  f[x]  c))
By
Latex:
((Unfold  `comm`  6  THEN  (RW  (AddrC  [2]  (HypC  6))  0  THENA  Auto))
  THEN  Unfold  `assoc`  4
  THEN  (RWO  "4<"  0  THENM  (Fold  `infix\_ap`  0  THEN  EqCD))
  THEN  Auto)\mcdot{}
Home
Index