Step
*
1
2
2
of Lemma
bag-union_wf
.....antecedent..... 
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))
⊢ ∀as@0:bag(T) List. ∀a1,a2:bag(T).
    ((concat([a1; [a2 / as@0]]) = concat(as) ∈ bag(T)) 
⇒ (concat([a2; [a1 / as@0]]) = concat(as) ∈ bag(T)))
BY
{ (RepeatFor 3 ((D 0 THENA Auto))
   THEN (D 0 THENA (EqualityIsType1 THEN Auto))
   THEN NthHypEqTrans (-1)
   THEN (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. a1 : bag(T)
8. a2 : bag(T)
9. concat([a1; [a2 / as@0]]) = concat(as) ∈ bag(T)
⊢ (a1 + a2 + concat(as@0)) = (a2 + a1 + concat(as@0)) ∈ bag(T)
Latex:
Latex:
.....antecedent..... 
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))
\mvdash{}  \mforall{}as@0:bag(T)  List.  \mforall{}a1,a2:bag(T).
        ((concat([a1;  [a2  /  as@0]])  =  concat(as))  {}\mRightarrow{}  (concat([a2;  [a1  /  as@0]])  =  concat(as)))
By
Latex:
(RepeatFor  3  ((D  0  THENA  Auto))
  THEN  (D  0  THENA  (EqualityIsType1  THEN  Auto))
  THEN  NthHypEqTrans  (-1)
  THEN  (Unfold  `concat`  0  THEN  Reduce  0)
  THEN  Fold  `concat`  0
  THEN  Fold  `bag-append`  0)
Home
Index