Step * 1 1 1 of Lemma list_accum-set-equal-idemp


1. Type
2. eq EqDecider(T)
3. Type
4. T ⟶ A
5. A ⟶ A ⟶ A
6. Comm(A;λx,y. f[x;y])
7. Assoc(A;λx,y. f[x;y])
8. ∀x:A. (f[x;x] x ∈ A)
9. ∀[as:T List]. ∀[n:A].
     (accumulate (with value and list item z):
       f[a;g[z]]
      over list:
        as
      with starting value:
       n)
     accumulate (with value and list item z):
        f[a;g[z]]
       over list:
         remove-repeats(eq;as)
       with starting value:
        n)
     ∈ A)
10. as List
11. bs List
12. ∀t:T. ((t ∈ as) ⇐⇒ (t ∈ bs))
13. T
14. (t ∈ as) ⇐⇒ (t ∈ bs)
⊢ (t ∈ remove-repeats(eq;as)) ⇐⇒ (t ∈ remove-repeats(eq;bs))
BY
(RWO "member-remove-repeats" THEN Auto) }


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  A  :  Type
4.  g  :  T  {}\mrightarrow{}  A
5.  f  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  A
6.  Comm(A;\mlambda{}x,y.  f[x;y])
7.  Assoc(A;\mlambda{}x,y.  f[x;y])
8.  \mforall{}x:A.  (f[x;x]  =  x)
9.  \mforall{}[as:T  List].  \mforall{}[n:A].
          (accumulate  (with  value  a  and  list  item  z):
              f[a;g[z]]
            over  list:
                as
            with  starting  value:
              n)
          =  accumulate  (with  value  a  and  list  item  z):
                f[a;g[z]]
              over  list:
                  remove-repeats(eq;as)
              with  starting  value:
                n))
10.  as  :  T  List
11.  bs  :  T  List
12.  \mforall{}t:T.  ((t  \mmember{}  as)  \mLeftarrow{}{}\mRightarrow{}  (t  \mmember{}  bs))
13.  t  :  T
14.  (t  \mmember{}  as)  \mLeftarrow{}{}\mRightarrow{}  (t  \mmember{}  bs)
\mvdash{}  (t  \mmember{}  remove-repeats(eq;as))  \mLeftarrow{}{}\mRightarrow{}  (t  \mmember{}  remove-repeats(eq;bs))


By


Latex:
(RWO  "member-remove-repeats"  0  THEN  Auto)




Home Index