Step * 1 1 2 2 1 1 of Lemma bag-splits-permutation


1. Type
2. ∀b:T List. (bag-splits(b) ∈ (bag(T) × bag(T)) List)
3. L1 List
4. L2 List
5. permutation(T;L1;L2)
6. T
7. T
8. Trans((bag(T) × bag(T)) List;x,y.permutation(bag(T) × bag(T);x;y))
9. v1 List
10. v2 List
11. permutation(bag(T) × bag(T);bag-splits(v2);bag-splits(v1))
⊢ permutation(bag(T) × bag(T);bag-splits([u v2]);bag-splits([u v1]))
BY
(RepUR ``bag-splits`` THEN Fold `bag-splits` THEN RepUR ``bag-map bag-append`` 0) }

1
1. Type
2. ∀b:T List. (bag-splits(b) ∈ (bag(T) × bag(T)) List)
3. L1 List
4. L2 List
5. permutation(T;L1;L2)
6. T
7. T
8. Trans((bag(T) × bag(T)) List;x,y.permutation(bag(T) × bag(T);x;y))
9. v1 List
10. v2 List
11. permutation(bag(T) × bag(T);bag-splits(v2);bag-splits(v1))
⊢ permutation(bag(T) × bag(T);map(λp.<{u} (fst(p)), snd(p)>;bag-splits(v2))
              map(λp.<fst(p), {u} (snd(p))>;bag-splits(v2));map(λp.<{u} (fst(p)), snd(p)>;bag-splits(v1))
              map(λp.<fst(p), {u} (snd(p))>;bag-splits(v1)))


Latex:


Latex:

1.  T  :  Type
2.  \mforall{}b:T  List.  (bag-splits(b)  \mmember{}  (bag(T)  \mtimes{}  bag(T))  List)
3.  L1  :  T  List
4.  L2  :  T  List
5.  permutation(T;L1;L2)
6.  a  :  T
7.  u  :  T
8.  Trans((bag(T)  \mtimes{}  bag(T))  List;x,y.permutation(bag(T)  \mtimes{}  bag(T);x;y))
9.  v1  :  T  List
10.  v2  :  T  List
11.  permutation(bag(T)  \mtimes{}  bag(T);bag-splits(v2);bag-splits(v1))
\mvdash{}  permutation(bag(T)  \mtimes{}  bag(T);bag-splits([u  /  v2]);bag-splits([u  /  v1]))


By


Latex:
(RepUR  ``bag-splits``  0  THEN  Fold  `bag-splits`  0  THEN  RepUR  ``bag-map  bag-append``  0)




Home Index