Step * 1 2 1 1 1 of Lemma bag-union_wf


1. 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. bag(T)
8. concat([a as@0]) concat(as) ∈ bag(T)
⊢ concat([a as@0]) (concat(as@0) a) ∈ bag(T)
BY
((Unfold `concat` THEN Reduce 0) THEN Fold `concat` THEN Fold `bag-append` 0)⋅ }

1
1. 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. 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