Step
*
1
of Lemma
swap_adjacent_decomp
.....basecase..... 
1. [A] : Type
⊢ ∀L:A List
    ∃X,Y:A List
     ((L = (X @ [L[0]; L[0 + 1]] @ Y) ∈ (A List)) ∧ (swap(L;0;0 + 1) = (X @ [L[0 + 1]; L[0]] @ Y) ∈ (A List))) 
    supposing 0 + 1 < ||L||
BY
{ ((((Reduce 0 THEN Auto) THEN InstConcl [[];tl(tl(L))]) THEN Reduce 0) THEN Auto) }
1
1. A : Type
2. L : A List
3. 1 < ||L||
⊢ L = [L[0]; [L[1] / tl(tl(L))]] ∈ (A List)
2
1. A : Type
2. L : A List
3. 1 < ||L||
4. L = [L[0]; [L[1] / tl(tl(L))]] ∈ (A List)
⊢ swap(L;0;1) = [L[1]; [L[0] / tl(tl(L))]] ∈ (A List)
Latex:
Latex:
.....basecase..... 
1.  [A]  :  Type
\mvdash{}  \mforall{}L:A  List
        \mexists{}X,Y:A  List
          ((L  =  (X  @  [L[0];  L[0  +  1]]  @  Y))  \mwedge{}  (swap(L;0;0  +  1)  =  (X  @  [L[0  +  1];  L[0]]  @  Y))) 
        supposing  0  +  1  <  ||L||
By
Latex:
((((Reduce  0  THEN  Auto)  THEN  InstConcl  [[];tl(tl(L))])  THEN  Reduce  0)  THEN  Auto)
Home
Index