Step
*
2
1
1
of Lemma
bag-member-combine
1. A : Type
2. B : Type
3. f : A ⟶ bag(B)
4. b : B
5. n : ℕ
6. ∀n:ℕn. ∀bs:bag(A).  ((#(bs) ≤ n) 
⇒ uiff(b ↓∈ ⋃x∈bs.f[x];↓∃x:A. (x ↓∈ bs ∧ b ↓∈ f[x])))
7. bs : bag(A)
8. x : A
9. bs' : bag(A)
10. bs = ({x} + bs') ∈ bag(A)
11. #(bs) ≤ n
12. #(bs) = (#(bs') + 1) ∈ ℤ
13. uiff(b ↓∈ ⋃x∈bs'.f[x];↓∃x:A. (x ↓∈ bs' ∧ b ↓∈ f[x]))
⊢ uiff(b ↓∈ ⋃x∈{x} + bs'.f[x];↓∃x@0:A. (x@0 ↓∈ {x} + bs' ∧ b ↓∈ f[x@0]))
BY
{ ((RWO "bag-combine-append-left" 0 THENA Auto) THEN (RWO "bag-combine-single-left" 0 THENA Auto)⋅) }
1
1. A : Type
2. B : Type
3. f : A ⟶ bag(B)
4. b : B
5. n : ℕ
6. ∀n:ℕn. ∀bs:bag(A).  ((#(bs) ≤ n) 
⇒ uiff(b ↓∈ ⋃x∈bs.f[x];↓∃x:A. (x ↓∈ bs ∧ b ↓∈ f[x])))
7. bs : bag(A)
8. x : A
9. bs' : bag(A)
10. bs = ({x} + bs') ∈ bag(A)
11. #(bs) ≤ n
12. #(bs) = (#(bs') + 1) ∈ ℤ
13. uiff(b ↓∈ ⋃x∈bs'.f[x];↓∃x:A. (x ↓∈ bs' ∧ b ↓∈ f[x]))
⊢ uiff(b ↓∈ f[x] + ⋃x∈bs'.f[x];↓∃x@0:A. (x@0 ↓∈ {x} + bs' ∧ b ↓∈ f[x@0]))
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  f  :  A  {}\mrightarrow{}  bag(B)
4.  b  :  B
5.  n  :  \mBbbN{}
6.  \mforall{}n:\mBbbN{}n.  \mforall{}bs:bag(A).    ((\#(bs)  \mleq{}  n)  {}\mRightarrow{}  uiff(b  \mdownarrow{}\mmember{}  \mcup{}x\mmember{}bs.f[x];\mdownarrow{}\mexists{}x:A.  (x  \mdownarrow{}\mmember{}  bs  \mwedge{}  b  \mdownarrow{}\mmember{}  f[x])))
7.  bs  :  bag(A)
8.  x  :  A
9.  bs'  :  bag(A)
10.  bs  =  (\{x\}  +  bs')
11.  \#(bs)  \mleq{}  n
12.  \#(bs)  =  (\#(bs')  +  1)
13.  uiff(b  \mdownarrow{}\mmember{}  \mcup{}x\mmember{}bs'.f[x];\mdownarrow{}\mexists{}x:A.  (x  \mdownarrow{}\mmember{}  bs'  \mwedge{}  b  \mdownarrow{}\mmember{}  f[x]))
\mvdash{}  uiff(b  \mdownarrow{}\mmember{}  \mcup{}x\mmember{}\{x\}  +  bs'.f[x];\mdownarrow{}\mexists{}x@0:A.  (x@0  \mdownarrow{}\mmember{}  \{x\}  +  bs'  \mwedge{}  b  \mdownarrow{}\mmember{}  f[x@0]))
By
Latex:
((RWO  "bag-combine-append-left"  0  THENA  Auto)  THEN  (RWO  "bag-combine-single-left"  0  THENA  Auto)\mcdot{})
Home
Index