Step * of Lemma equal-count-bag-to-set

[T:Type]. ∀[eq:EqDecider(T)]. ∀[bs:bag(T)]. ∀[x,y:T].
  uiff((#x in bag-to-set(eq;bs)) (#y in bag-to-set(eq;bs)) ∈ ℤ;x ↓∈ bs ⇐⇒ y ↓∈ bs)
BY
xxx((InstLemma `bag-member-count` []⋅ THEN RepeatFor (ParallelLast'))
      THEN InstLemma `member-bag-to-set` [⌜T⌝;⌜eq⌝]⋅
      THEN Auto)xxx }

1
1. Type
2. eq EqDecider(T)
3. ∀[x:T]. ∀[bs:bag(T)].  uiff(x ↓∈ bs;1 ≤ (#x in bs))
4. ∀[bs:bag(T)]. ∀[x:T].  uiff(x ↓∈ bs;x ↓∈ bag-to-set(eq;bs))
5. bs bag(T)
6. T
7. T
8. (#x in bag-to-set(eq;bs)) (#y in bag-to-set(eq;bs)) ∈ ℤ
9. x ↓∈ bs
⊢ y ↓∈ bs

2
1. Type
2. eq EqDecider(T)
3. ∀[x:T]. ∀[bs:bag(T)].  uiff(x ↓∈ bs;1 ≤ (#x in bs))
4. ∀[bs:bag(T)]. ∀[x:T].  uiff(x ↓∈ bs;x ↓∈ bag-to-set(eq;bs))
5. bs bag(T)
6. T
7. T
8. (#x in bag-to-set(eq;bs)) (#y in bag-to-set(eq;bs)) ∈ ℤ
9. y ↓∈ bs
⊢ x ↓∈ bs

3
1. Type
2. eq EqDecider(T)
3. ∀[x:T]. ∀[bs:bag(T)].  uiff(x ↓∈ bs;1 ≤ (#x in bs))
4. ∀[bs:bag(T)]. ∀[x:T].  uiff(x ↓∈ bs;x ↓∈ bag-to-set(eq;bs))
5. bs bag(T)
6. T
7. T
8. x ↓∈ bs  y ↓∈ bs
9. x ↓∈ bs  y ↓∈ bs
⊢ (#x in bag-to-set(eq;bs)) (#y in bag-to-set(eq;bs)) ∈ ℤ


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[bs:bag(T)].  \mforall{}[x,y:T].
    uiff((\#x  in  bag-to-set(eq;bs))  =  (\#y  in  bag-to-set(eq;bs));x  \mdownarrow{}\mmember{}  bs  \mLeftarrow{}{}\mRightarrow{}  y  \mdownarrow{}\mmember{}  bs)


By


Latex:
xxx((InstLemma  `bag-member-count`  []\mcdot{}  THEN  RepeatFor  2  (ParallelLast'))
        THEN  InstLemma  `member-bag-to-set`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{}]\mcdot{}
        THEN  Auto)xxx




Home Index