Step
*
1
1
1
1
1
of Lemma
assert-bag-has-no-repeats
1. T : Type
2. eq : EqDecider(T)
3. b : bag(T)
4. #(bag-remove-repeats(eq;b)) = #(b) ∈ ℤ
5. x : T
6. 0 < (#x in b)
7. Σ(x∈bag-remove-repeats(eq;b)). 1 = Σ(x∈bag-remove-repeats(eq;b)). (#x in b) ∈ ℤ
⊢ (#x in b) ≤ 1
BY
{ TACTIC:TACTIC:(InstLemma `bag-summation-equal-implies-all-equal-1` [⌜T⌝;⌜bag-remove-repeats(eq;b)⌝;⌜λ2x.1⌝;
                 ⌜λ2x.(#x in b)⌝;⌜x⌝]⋅
                 THEN Auto
                 ) }
1
1. T : Type
2. eq : EqDecider(T)
3. b : bag(T)
4. #(bag-remove-repeats(eq;b)) = #(b) ∈ ℤ
5. x : T
6. 0 < (#x in b)
7. Σ(x∈bag-remove-repeats(eq;b)). 1 = Σ(x∈bag-remove-repeats(eq;b)). (#x in b) ∈ ℤ
8. x1 : T
9. x1 ↓∈ bag-remove-repeats(eq;b)
⊢ 1 ≤ (#x1 in b)
2
.....antecedent..... 
1. T : Type
2. eq : EqDecider(T)
3. b : bag(T)
4. #(bag-remove-repeats(eq;b)) = #(b) ∈ ℤ
5. x : T
6. 0 < (#x in b)
7. Σ(x∈bag-remove-repeats(eq;b)). 1 = Σ(x∈bag-remove-repeats(eq;b)). (#x in b) ∈ ℤ
⊢ x ↓∈ bag-remove-repeats(eq;b)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  b  :  bag(T)
4.  \#(bag-remove-repeats(eq;b))  =  \#(b)
5.  x  :  T
6.  0  <  (\#x  in  b)
7.  \mSigma{}(x\mmember{}bag-remove-repeats(eq;b)).  1  =  \mSigma{}(x\mmember{}bag-remove-repeats(eq;b)).  (\#x  in  b)
\mvdash{}  (\#x  in  b)  \mleq{}  1
By
Latex:
TACTIC:TACTIC:(InstLemma  `bag-summation-equal-implies-all-equal-1`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}bag-remove-repeats(eq;b)\mkleeneclose{};
                              \mkleeneopen{}\mlambda{}\msubtwo{}x.1\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}x.(\#x  in  b)\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{}]\mcdot{}
                              THEN  Auto
                              )
Home
Index