Step * of Lemma bag-summation-single-non-zero-no-repeats

[T,R:Type]. ∀[eq:EqDecider(T)]. ∀[add:R ⟶ R ⟶ R]. ∀[zero:R]. ∀[b:bag(T)]. ∀[f:T ⟶ R].
  ∀z:T
    (x∈b). f[x] f[z] ∈ R) supposing 
       ((bag-no-repeats(T;b) ∧ z ↓∈ b) and 
       (∀x:T. (x ↓∈  ((x z ∈ T) ∨ (f[x] zero ∈ R))))) 
  supposing IsMonoid(R;add;zero) ∧ Comm(R;add)
BY
(InstLemma `bag-summation-single-non-zero` []⋅
   THEN RepeatFor 10 (ParallelLast')
   THEN Auto
   THEN RWO "-3" 0
   THEN Auto
   THEN Subst ⌜[x∈b|eq z] {z} ∈ bag(T)⌝ 0⋅
   THEN Auto
   THEN BLemma `bag-extensionality-no-repeats`
   THEN Auto) }

1
1. Type
2. Type
3. eq EqDecider(T)
4. add R ⟶ R ⟶ R
5. zero R
6. bag(T)
7. T ⟶ R
8. IsMonoid(R;add;zero)
9. Comm(R;add)
10. T
11. ∀x:T. (x ↓∈  ((x z ∈ T) ∨ (f[x] zero ∈ R)))
12. Σ(x∈b). f[x] = Σ(x∈[x∈b|eq z]). f[x] ∈ R
13. bag-no-repeats(T;b)
14. z ↓∈ b
⊢ bag-no-repeats(T;[x∈b|eq z])

2
1. Type
2. Type
3. eq EqDecider(T)
4. add R ⟶ R ⟶ R
5. zero R
6. bag(T)
7. T ⟶ R
8. IsMonoid(R;add;zero)
9. Comm(R;add)
10. T
11. ∀x:T. (x ↓∈  ((x z ∈ T) ∨ (f[x] zero ∈ R)))
12. Σ(x∈b). f[x] = Σ(x∈[x∈b|eq z]). f[x] ∈ R
13. bag-no-repeats(T;b)
14. z ↓∈ b
15. T
16. x ↓∈ [x∈b|eq z]
⊢ z ∈ T

3
1. Type
2. Type
3. eq EqDecider(T)
4. add R ⟶ R ⟶ R
5. zero R
6. bag(T)
7. T ⟶ R
8. IsMonoid(R;add;zero)
9. Comm(R;add)
10. T
11. ∀x:T. (x ↓∈  ((x z ∈ T) ∨ (f[x] zero ∈ R)))
12. Σ(x∈b). f[x] = Σ(x∈[x∈b|eq z]). f[x] ∈ R
13. bag-no-repeats(T;b)
14. z ↓∈ b
15. T
16. x ↓∈ {z}
⊢ x ↓∈ [x∈b|eq z]


Latex:


Latex:
\mforall{}[T,R:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[add:R  {}\mrightarrow{}  R  {}\mrightarrow{}  R].  \mforall{}[zero:R].  \mforall{}[b:bag(T)].  \mforall{}[f:T  {}\mrightarrow{}  R].
    \mforall{}z:T
        (\mSigma{}(x\mmember{}b).  f[x]  =  f[z])  supposing 
              ((bag-no-repeats(T;b)  \mwedge{}  z  \mdownarrow{}\mmember{}  b)  and 
              (\mforall{}x:T.  (x  \mdownarrow{}\mmember{}  b  {}\mRightarrow{}  ((x  =  z)  \mvee{}  (f[x]  =  zero))))) 
    supposing  IsMonoid(R;add;zero)  \mwedge{}  Comm(R;add)


By


Latex:
(InstLemma  `bag-summation-single-non-zero`  []\mcdot{}
  THEN  RepeatFor  10  (ParallelLast')
  THEN  Auto
  THEN  RWO  "-3"  0
  THEN  Auto
  THEN  Subst  \mkleeneopen{}[x\mmember{}b|eq  x  z]  =  \{z\}\mkleeneclose{}  0\mcdot{}
  THEN  Auto
  THEN  BLemma  `bag-extensionality-no-repeats`
  THEN  Auto)




Home Index