Step
*
2
1
2
1
1
1
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||
⊢ ∃y:ℕ||Z||. ((y ∈ upto(||Z||)) ∧ (<x, as> = remove-nth(y;Z) ∈ (T × bag(T))))
BY
{ (With ⌜||a1||⌝ (D 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||
⊢ (||a1|| ∈ upto(||Z||))
2
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))
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||
\mvdash{}  \mexists{}y:\mBbbN{}||Z||.  ((y  \mmember{}  upto(||Z||))  \mwedge{}  (<x,  as>  =  remove-nth(y;Z)))
By
Latex:
(With  \mkleeneopen{}||a1||\mkleeneclose{}  (D  0)\mcdot{}  THEN  Auto)\mcdot{}
Home
Index