Step
*
1
1
of Lemma
permutation-split
1. [A] : Type
2. p : A ⟶ 𝔹
3. u : A
4. v : A List
5. permutation(A;filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v);v)
6. ↑p[u]
⊢ permutation(A;[u / (filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v))];[u / v])
BY
{ Assert ⌜permutation(A;[u] @ filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v);[u] @ v)⌝⋅ }
1
.....assertion..... 
1. [A] : Type
2. p : A ⟶ 𝔹
3. u : A
4. v : A List
5. permutation(A;filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v);v)
6. ↑p[u]
⊢ permutation(A;[u] @ filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v);[u] @ v)
2
1. [A] : Type
2. p : A ⟶ 𝔹
3. u : A
4. v : A List
5. permutation(A;filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v);v)
6. ↑p[u]
7. permutation(A;[u] @ filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v);[u] @ v)
⊢ permutation(A;[u / (filter(λx.p[x];v) @ filter(λx.(¬bp[x]);v))];[u / v])
Latex:
Latex:
1.  [A]  :  Type
2.  p  :  A  {}\mrightarrow{}  \mBbbB{}
3.  u  :  A
4.  v  :  A  List
5.  permutation(A;filter(\mlambda{}x.p[x];v)  @  filter(\mlambda{}x.(\mneg{}\msubb{}p[x]);v);v)
6.  \muparrow{}p[u]
\mvdash{}  permutation(A;[u  /  (filter(\mlambda{}x.p[x];v)  @  filter(\mlambda{}x.(\mneg{}\msubb{}p[x]);v))];[u  /  v])
By
Latex:
Assert  \mkleeneopen{}permutation(A;[u]  @  filter(\mlambda{}x.p[x];v)  @  filter(\mlambda{}x.(\mneg{}\msubb{}p[x]);v);[u]  @  v)\mkleeneclose{}\mcdot{}
Home
Index