Step * 1 1 1 1 1 2 1 of Lemma index-split_property


1. Type
2. List
3. idxs : ℕ List
4. permutation(T;L;permute-to-front(L;idxs))
5. ||L|| ||permute-to-front(L;idxs)|| ∈ ℤ
6. ||filter(λi.int-list-member(i;idxs);upto(||L||))|| ≤ ||permute-to-front(L;idxs)||
7. idxs1 {i:ℕ||L||| (i ∈ idxs)}  List
8. filter(λi.int-list-member(i;idxs);upto(||L||)) idxs1 ∈ (ℤ List)
9. ||idxs1|| ≤ ||permute-to-front(L;idxs)||
10. Bij(ℕ||idxs1||;{i:ℕ||L||| (i ∈ idxs)} i.idxs1[i])
11. : ℕ||idxs1||
⊢ permute-to-front(L;idxs)[j] L[idxs1[j]] ∈ T
BY
(Unfold `permute-to-front` 0
   THEN RWO "permute_list_select" 0
   THEN Auto
   THEN Try (((GenConclAtAddr [1] THEN Complete (Auto)) ORELSE (GenConclAtAddr [2] THEN Complete (Auto)))⋅))⋅ }

1
1. Type
2. List
3. idxs : ℕ List
4. permutation(T;L;permute-to-front(L;idxs))
5. ||L|| ||permute-to-front(L;idxs)|| ∈ ℤ
6. ||filter(λi.int-list-member(i;idxs);upto(||L||))|| ≤ ||permute-to-front(L;idxs)||
7. idxs1 {i:ℕ||L||| (i ∈ idxs)}  List
8. filter(λi.int-list-member(i;idxs);upto(||L||)) idxs1 ∈ (ℤ List)
9. ||idxs1|| ≤ ||permute-to-front(L;idxs)||
10. Bij(ℕ||idxs1||;{i:ℕ||L||| (i ∈ idxs)} i.idxs1[i])
11. : ℕ||idxs1||
12. : ℕ||L||
⊢ i < ||filter(λi.int-list-member(i;idxs);upto(||L||))|| ||filter(λi.(¬bint-list-member(i;idxs));upto(||L||))||

2
1. Type
2. List
3. idxs : ℕ List
4. permutation(T;L;permute-to-front(L;idxs))
5. ||L|| ||permute-to-front(L;idxs)|| ∈ ℤ
6. ||filter(λi.int-list-member(i;idxs);upto(||L||))|| ≤ ||permute-to-front(L;idxs)||
7. idxs1 {i:ℕ||L||| (i ∈ idxs)}  List
8. filter(λi.int-list-member(i;idxs);upto(||L||)) idxs1 ∈ (ℤ List)
9. ||idxs1|| ≤ ||permute-to-front(L;idxs)||
10. Bij(ℕ||idxs1||;{i:ℕ||L||| (i ∈ idxs)} i.idxs1[i])
11. : ℕ||idxs1||
⊢ L[(λi.filter(λi.int-list-member(i;idxs);upto(||L||)) filter(λi.(¬bint-list-member(i;idxs));upto(||L||))[i]) j]
L[idxs1[j]]
∈ T


Latex:


Latex:

1.  T  :  Type
2.  L  :  T  List
3.  idxs  :  \mBbbN{}  List
4.  permutation(T;L;permute-to-front(L;idxs))
5.  ||L||  =  ||permute-to-front(L;idxs)||
6.  ||filter(\mlambda{}i.int-list-member(i;idxs);upto(||L||))||  \mleq{}  ||permute-to-front(L;idxs)||
7.  idxs1  :  \{i:\mBbbN{}||L|||  (i  \mmember{}  idxs)\}    List
8.  filter(\mlambda{}i.int-list-member(i;idxs);upto(||L||))  =  idxs1
9.  ||idxs1||  \mleq{}  ||permute-to-front(L;idxs)||
10.  Bij(\mBbbN{}||idxs1||;\{i:\mBbbN{}||L|||  (i  \mmember{}  idxs)\}  ;\mlambda{}i.idxs1[i])
11.  j  :  \mBbbN{}||idxs1||
\mvdash{}  permute-to-front(L;idxs)[j]  =  L[idxs1[j]]


By


Latex:
(Unfold  `permute-to-front`  0
  THEN  RWO  "permute\_list\_select"  0
  THEN  Auto
  THEN  Try  (((GenConclAtAddr  [1]  THEN  Complete  (Auto))
                      ORELSE  (GenConclAtAddr  [2]  THEN  Complete  (Auto))
                      )\mcdot{}))\mcdot{}




Home Index