Step * 1 2 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))
⊢ concat(as) concat(bs) ∈ bag(T)
BY
(InstLemma `permutation-invariant` [⌜bag(T)⌝;⌜λ2b.concat(b) concat(as) ∈ bag(T)⌝]⋅ THEN Try (Complete (Auto))) }

1
.....antecedent..... 
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))
⊢ ∀as@0:bag(T) List. ∀a:bag(T).
    ((concat([a as@0]) concat(as) ∈ bag(T))  (concat(as@0 [a]) concat(as) ∈ bag(T)))

2
.....antecedent..... 
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))
⊢ ∀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)))

3
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,bs:bag(T) List.
     (permutation(bag(T);as@0;bs)  (concat(as@0) concat(as) ∈ bag(T) ⇐⇒ concat(bs) concat(as) ∈ bag(T)))
⊢ concat(as) concat(bs) ∈ 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))
\mvdash{}  concat(as)  =  concat(bs)


By


Latex:
(InstLemma  `permutation-invariant`  [\mkleeneopen{}bag(T)\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}b.concat(b)  =  concat(as)\mkleeneclose{}]\mcdot{}
  THEN  Try  (Complete  (Auto))
  )




Home Index