Step
*
2
of Lemma
permutation-filter
1. [A] : Type
2. u : A
3. v : A List
4. ∀L2:A List. (permutation(A;v;L2) 
⇒ (∀p:A ⟶ 𝔹. permutation({a:A| ↑(p a)} filter(p;v);filter(p;L2))))
5. L2 : A List
6. permutation(A;[u / v];L2)
7. p : A ⟶ 𝔹
⊢ permutation({a:A| ↑(p a)} if p u then [u / filter(p;v)] else filter(p;v) fi filter(p;L2))
BY
{ (((RWO "permutation-cons" (-2) THENM (ExRepD THEN AutoSplit)) THENA Auto)
   THEN ((HypSubst (-4) 0 THENA Auto) THEN ((RWO "filter_append_sq" 0 THENM (Reduce 0 THEN AutoSplit))⋅ THENA Auto)⋅)⋅
   ) }
1
1. [A] : Type
2. u : A
3. v : A List
4. ∀L2:A List. (permutation(A;v;L2) 
⇒ (∀p:A ⟶ 𝔹. permutation({a:A| ↑(p a)} filter(p;v);filter(p;L2))))
5. L2 : A List
6. as : A List
7. bs : A List
8. L2 = (as @ [u / bs]) ∈ (A List)
9. permutation(A;v;as @ bs)
10. p : A ⟶ 𝔹
11. ↑(p u)
12. ↑(p u)
⊢ permutation({a:A| ↑(p a)} [u / filter(p;v)];filter(p;as) @ [u / filter(p;bs)])
2
1. [A] : Type
2. u : A
3. v : A List
4. ∀L2:A List. (permutation(A;v;L2) 
⇒ (∀p:A ⟶ 𝔹. permutation({a:A| ↑(p a)} filter(p;v);filter(p;L2))))
5. L2 : A List
6. as : A List
7. bs : A List
8. L2 = (as @ [u / bs]) ∈ (A List)
9. permutation(A;v;as @ bs)
10. p : A ⟶ 𝔹
11. ¬↑(p u)
12. ¬False
⊢ permutation({a:A| ↑(p a)} filter(p;v);filter(p;as) @ filter(p;bs))
Latex:
Latex:
1.  [A]  :  Type
2.  u  :  A
3.  v  :  A  List
4.  \mforall{}L2:A  List
          (permutation(A;v;L2)  {}\mRightarrow{}  (\mforall{}p:A  {}\mrightarrow{}  \mBbbB{}.  permutation(\{a:A|  \muparrow{}(p  a)\}  ;filter(p;v);filter(p;L2))))
5.  L2  :  A  List
6.  permutation(A;[u  /  v];L2)
7.  p  :  A  {}\mrightarrow{}  \mBbbB{}
\mvdash{}  permutation(\{a:A|  \muparrow{}(p  a)\}  ;if  p  u  then  [u  /  filter(p;v)]  else  filter(p;v)  fi  ;filter(p;L2))
By
Latex:
(((RWO  "permutation-cons"  (-2)  THENM  (ExRepD  THEN  AutoSplit))  THENA  Auto)
  THEN  ((HypSubst  (-4)  0  THENA  Auto)
              THEN  ((RWO  "filter\_append\_sq"  0  THENM  (Reduce  0  THEN  AutoSplit))\mcdot{}  THENA  Auto)\mcdot{}
              )\mcdot{}
  )
Home
Index