Step
*
1
2
1
1
1
of Lemma
bag-union_wf
1. T : Type
2. as : bag(T) List
3. bs : bag(T) List
4. permutation(bag(T);as;bs)
5. ∀L:bag(T) List. (concat(L) ∈ bag(T))
6. as@0 : bag(T) List
7. a : bag(T)
8. concat([a / as@0]) = concat(as) ∈ bag(T)
⊢ concat([a / as@0]) = (concat(as@0) @ a) ∈ bag(T)
BY
{ ((Unfold `concat` 0 THEN Reduce 0) THEN Fold `concat` 0 THEN Fold `bag-append` 0)⋅ }
1
1. T : Type
2. as : bag(T) List
3. bs : bag(T) List
4. permutation(bag(T);as;bs)
5. ∀L:bag(T) List. (concat(L) ∈ bag(T))
6. as@0 : bag(T) List
7. a : bag(T)
8. concat([a / as@0]) = concat(as) ∈ bag(T)
⊢ (a + concat(as@0)) = (concat(as@0) + a) ∈ bag(T)
Latex:
Latex:
1.  T  :  Type
2.  as  :  bag(T)  List
3.  bs  :  bag(T)  List
4.  permutation(bag(T);as;bs)
5.  \mforall{}L:bag(T)  List.  (concat(L)  \mmember{}  bag(T))
6.  as@0  :  bag(T)  List
7.  a  :  bag(T)
8.  concat([a  /  as@0])  =  concat(as)
\mvdash{}  concat([a  /  as@0])  =  (concat(as@0)  @  a)
By
Latex:
((Unfold  `concat`  0  THEN  Reduce  0)  THEN  Fold  `concat`  0  THEN  Fold  `bag-append`  0)\mcdot{}
Home
Index