Step
*
1
1
of Lemma
sub-bag-union-of-list
1. T : Type
2. x : bag(T)
3. bs : bag(T) List
4. i : ℕ
5. i < ||bs||
6. x = bs[i] ∈ bag(T)
7. bs ~ firstn(i;bs) @ [bs[i]] @ nth_tl(1 + i;bs)
⊢ bag-union(bs) = (bs[i] + bag-union(firstn(i;bs)) + bag-union(nth_tl(i + 1;bs))) ∈ bag(T)
BY
{ (RW (AddrC [2;1] (HypC (-1))) 0
   THEN Folds ``single-bag bag-append`` 0
   THEN (RWW "bag-union-append bag-union-single" 0 THENA Auto)
   THEN Subst' 1 + i ~ i + 1 0
   THEN Auto) }
Latex:
Latex:
1.  T  :  Type
2.  x  :  bag(T)
3.  bs  :  bag(T)  List
4.  i  :  \mBbbN{}
5.  i  <  ||bs||
6.  x  =  bs[i]
7.  bs  \msim{}  firstn(i;bs)  @  [bs[i]]  @  nth\_tl(1  +  i;bs)
\mvdash{}  bag-union(bs)  =  (bs[i]  +  bag-union(firstn(i;bs))  +  bag-union(nth\_tl(i  +  1;bs)))
By
Latex:
(RW  (AddrC  [2;1]  (HypC  (-1)))  0
  THEN  Folds  ``single-bag  bag-append``  0
  THEN  (RWW  "bag-union-append  bag-union-single"  0  THENA  Auto)
  THEN  Subst'  1  +  i  \msim{}  i  +  1  0
  THEN  Auto)
Home
Index