Step
*
2
1
2
1
1
1
2
2
of Lemma
bag-member-decomp
1. T : Type
2. x : T
3. as : T List
4. v1 : T List
5. permutation(T;as;v1)
6. [x / as] ∈ T List
7. Z : T List
8. a1 : T List
9. bs : T List
10. Z = (a1 @ [x / bs]) ∈ (T List)
11. permutation(T;as;a1 @ bs)
12. ||a1|| < ||Z||
13. (||a1|| ∈ upto(||Z||))
⊢ <x, as> = remove-nth(||a1||;Z) ∈ (T × bag(T))
BY
{ (Subst ⌜as = (a1 @ bs) ∈ bag(T)⌝ 0⋅ THEN Auto) }
1
1. T : Type
2. x : T
3. as : T List
4. v1 : T List
5. permutation(T;as;v1)
6. [x / as] ∈ T List
7. Z : T List
8. a1 : T List
9. bs : T List
10. Z = (a1 @ [x / bs]) ∈ (T List)
11. permutation(T;as;a1 @ bs)
12. ||a1|| < ||Z||
13. (||a1|| ∈ upto(||Z||))
⊢ <x, a1 @ bs> = remove-nth(||a1||;Z) ∈ (T × bag(T))
Latex:
Latex:
1.  T  :  Type
2.  x  :  T
3.  as  :  T  List
4.  v1  :  T  List
5.  permutation(T;as;v1)
6.  [x  /  as]  \mmember{}  T  List
7.  Z  :  T  List
8.  a1  :  T  List
9.  bs  :  T  List
10.  Z  =  (a1  @  [x  /  bs])
11.  permutation(T;as;a1  @  bs)
12.  ||a1||  <  ||Z||
13.  (||a1||  \mmember{}  upto(||Z||))
\mvdash{}  <x,  as>  =  remove-nth(||a1||;Z)
By
Latex:
(Subst  \mkleeneopen{}as  =  (a1  @  bs)\mkleeneclose{}  0\mcdot{}  THEN  Auto)
Home
Index