Step
*
2
1
1
of Lemma
adjacent-reverse
1. [T] : Type
2. u : T
3. v : T List
4. x : T
5. y : T
6. adjacent(T;rev(v);x;y) 
⇐⇒ adjacent(T;v;y;x)
7. 0 < ||v||
⊢ adjacent(T;rev(v) @ [u];x;y) 
⇐⇒ adjacent(T;[u / v];y;x)
BY
{ xxxAssert ⌜¬↑null(rev(v))⌝⋅xxx }
1
.....assertion..... 
1. [T] : Type
2. u : T
3. v : T List
4. x : T
5. y : T
6. adjacent(T;rev(v);x;y) 
⇐⇒ adjacent(T;v;y;x)
7. 0 < ||v||
⊢ ¬↑null(rev(v))
2
1. [T] : Type
2. u : T
3. v : T List
4. x : T
5. y : T
6. adjacent(T;rev(v);x;y) 
⇐⇒ adjacent(T;v;y;x)
7. 0 < ||v||
8. ¬↑null(rev(v))
⊢ adjacent(T;rev(v) @ [u];x;y) 
⇐⇒ adjacent(T;[u / v];y;x)
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  x  :  T
5.  y  :  T
6.  adjacent(T;rev(v);x;y)  \mLeftarrow{}{}\mRightarrow{}  adjacent(T;v;y;x)
7.  0  <  ||v||
\mvdash{}  adjacent(T;rev(v)  @  [u];x;y)  \mLeftarrow{}{}\mRightarrow{}  adjacent(T;[u  /  v];y;x)
By
Latex:
xxxAssert  \mkleeneopen{}\mneg{}\muparrow{}null(rev(v))\mkleeneclose{}\mcdot{}xxx
Home
Index