Step
*
2
1
1
2
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||
8. ¬↑null(rev(v))
⊢ adjacent(T;rev(v) @ [u];x;y) 
⇐⇒ adjacent(T;[u / v];y;x)
BY
{ xxx(((RWO "adjacent-cons" 0 THENM RWO "adjacent-append" 0) THENA Auto)
      THEN Reduce 0
      THEN Auto
      THEN SplitOrHyps
      THEN ThinTrivial
      THEN Auto)xxx }
1
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. adjacent(T;rev(v);x;y) 
⇐ adjacent(T;v;y;x)
8. 0 < ||v||
9. ¬↑null(rev(v))
10. adjacent(T;[u];x;y)
⊢ ((y = u ∈ T) ∧ (x = hd(v) ∈ T)) ∨ adjacent(T;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||
8.  \mneg{}\muparrow{}null(rev(v))
\mvdash{}  adjacent(T;rev(v)  @  [u];x;y)  \mLeftarrow{}{}\mRightarrow{}  adjacent(T;[u  /  v];y;x)
By
Latex:
xxx(((RWO  "adjacent-cons"  0  THENM  RWO  "adjacent-append"  0)  THENA  Auto)
        THEN  Reduce  0
        THEN  Auto
        THEN  SplitOrHyps
        THEN  ThinTrivial
        THEN  Auto)xxx
Home
Index