Step * 1 3 1 1 2 of Lemma combine-list-permutation


1. Type
2. A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as List
6. bs List
7. 0 < ||as||
8. permutation(A;as;bs)
9. as@0 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]])
BY
Subst ⌜[a1; [a2 as@0]] ([a1] [a2]) as@0⌝ 0⋅ }

1
.....equality..... 
1. Type
2. A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as List
6. bs List
7. 0 < ||as||
8. permutation(A;as;bs)
9. as@0 List
10. a1 A
11. a2 A
12. permutation(A;as;[a2; [a1 as@0]])
⊢ [a1; [a2 as@0]] ([a1] [a2]) as@0

2
1. Type
2. A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as List
6. bs List
7. 0 < ||as||
8. permutation(A;as;bs)
9. as@0 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:

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;([a2]  @  [a1])  @  as@0;[a1;  [a2  /  as@0]])


By


Latex:
Subst  \mkleeneopen{}[a1;  [a2  /  as@0]]  \msim{}  ([a1]  @  [a2])  @  as@0\mkleeneclose{}  0\mcdot{}




Home Index