Step
*
1
3
1
of Lemma
combine-list-permutation
.....antecedent..... 
1. A : Type
2. f : A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as : A List
6. bs : A List
7. 0 < ||as||
8. permutation(A;as;bs)
9. as@0 : A List
10. a1 : A
11. a2 : A
12. permutation(A;as;[a2; [a1 / as@0]])
⊢ permutation(A;as;[a1; [a2 / as@0]])
BY
{ (Using [`bs',⌜[a2; [a1 / as@0]]⌝] (BLemma `permutation_transitivity`)⋅ THEN Auto)⋅ }
1
1. A : Type
2. f : A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as : A List
6. bs : A List
7. 0 < ||as||
8. permutation(A;as;bs)
9. as@0 : A List
10. a1 : A
11. a2 : A
12. permutation(A;as;[a2; [a1 / as@0]])
⊢ permutation(A;[a2; [a1 / as@0]];[a1; [a2 / as@0]])
Latex:
Latex:
.....antecedent..... 
1.  A  :  Type
2.  f  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  A
3.  Assoc(A;\mlambda{}x,y.  f[x;y])
4.  Comm(A;\mlambda{}x,y.  f[x;y])
5.  as  :  A  List
6.  bs  :  A  List
7.  0  <  ||as||
8.  permutation(A;as;bs)
9.  as@0  :  A  List
10.  a1  :  A
11.  a2  :  A
12.  permutation(A;as;[a2;  [a1  /  as@0]])
\mvdash{}  permutation(A;as;[a1;  [a2  /  as@0]])
By
Latex:
(Using  [`bs',\mkleeneopen{}[a2;  [a1  /  as@0]]\mkleeneclose{}]  (BLemma  `permutation\_transitivity`)\mcdot{}  THEN  Auto)\mcdot{}
Home
Index