Step
*
1
1
2
2
of Lemma
bag-splits-permutation
1. T : Type
2. ∀b:T List. (bag-splits(b) ∈ (bag(T) × bag(T)) List)
3. L1 : T List
4. L2 : T List
5. permutation(T;L1;L2)
6. a : T
7. u : T
8. v : T List
9. permutation(bag(T) × bag(T);bag-splits([a / v]);bag-splits(v @ [a]))
10. Trans((bag(T) × bag(T)) List;L1,L2.permutation(bag(T) × bag(T);L1;L2))
⊢ permutation(bag(T) × bag(T);bag-splits([a; [u / v]]);bag-splits([u / (v @ [a])]))
BY
{ UseTrans ⌜bag-splits([u; [a / v]])⌝⋅⋅ }
1
1. T : Type
2. ∀b:T List. (bag-splits(b) ∈ (bag(T) × bag(T)) List)
3. L1 : T List
4. L2 : T List
5. permutation(T;L1;L2)
6. a : T
7. u : T
8. v : T List
9. permutation(bag(T) × bag(T);bag-splits([a / v]);bag-splits(v @ [a]))
10. Trans((bag(T) × bag(T)) List;x,y.permutation(bag(T) × bag(T);x;y))
⊢ permutation(bag(T) × bag(T);bag-splits([u; [a / v]]);bag-splits([u / (v @ [a])]))
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.  v  :  T  List
9.  permutation(bag(T)  \mtimes{}  bag(T);bag-splits([a  /  v]);bag-splits(v  @  [a]))
10.  Trans((bag(T)  \mtimes{}  bag(T))  List;L1,L2.permutation(bag(T)  \mtimes{}  bag(T);L1;L2))
\mvdash{}  permutation(bag(T)  \mtimes{}  bag(T);bag-splits([a;  [u  /  v]]);bag-splits([u  /  (v  @  [a])]))
By
Latex:
UseTrans  \mkleeneopen{}bag-splits([u;  [a  /  v]])\mkleeneclose{}\mcdot{}\mcdot{}
Home
Index