Step
*
1
2
1
of Lemma
permutation-cons
1. [A] : Type
2. x : A
3. L1 : A List
4. L2 : A List
5. permutation(A;[x / L1];L2)
6. as : A List
7. bs : A List
8. L2 = (as @ [x / bs]) ∈ (A List)
9. L2 = (as @ [x / bs]) ∈ (A List)
⊢ permutation(A;L1;as @ bs)
BY
{ Assert ⌜permutation(A;[x / L1];[x / (as @ bs)])⌝⋅ }
1
.....assertion..... 
1. [A] : Type
2. x : A
3. L1 : A List
4. L2 : A List
5. permutation(A;[x / L1];L2)
6. as : A List
7. bs : A List
8. L2 = (as @ [x / bs]) ∈ (A List)
9. L2 = (as @ [x / bs]) ∈ (A List)
⊢ permutation(A;[x / L1];[x / (as @ bs)])
2
1. [A] : Type
2. x : A
3. L1 : A List
4. L2 : A List
5. permutation(A;[x / L1];L2)
6. as : A List
7. bs : A List
8. L2 = (as @ [x / bs]) ∈ (A List)
9. L2 = (as @ [x / bs]) ∈ (A List)
10. permutation(A;[x / L1];[x / (as @ bs)])
⊢ permutation(A;L1;as @ bs)
Latex:
Latex:
1.  [A]  :  Type
2.  x  :  A
3.  L1  :  A  List
4.  L2  :  A  List
5.  permutation(A;[x  /  L1];L2)
6.  as  :  A  List
7.  bs  :  A  List
8.  L2  =  (as  @  [x  /  bs])
9.  L2  =  (as  @  [x  /  bs])
\mvdash{}  permutation(A;L1;as  @  bs)
By
Latex:
Assert  \mkleeneopen{}permutation(A;[x  /  L1];[x  /  (as  @  bs)])\mkleeneclose{}\mcdot{}
Home
Index