Step
*
1
1
2
1
1
1
2
of Lemma
free-word-inv-append1
1. X : Type
2. u : X + X@i
3. v : (X + X) List@i
4. λx,y. word-rel(X;x;y)^* (map(λx.case x of inl(a) => inr a  | inr(a) => inl a;rev(v)) @ v) []
5. L : (X + X) List@i
6. map(λx.case x of inl(a) => inr a  | inr(a) => inl a;rev(v)) = L ∈ ((X + X) List)
7. case u of inl(a) => inr a  | inr(a) => inl a = -u
⊢ ((L @ [case u of inl(a) => inr a  | inr(a) => inl a]) @ [u / v])
= (L @ [case u of inl(a) => inr a  | inr(a) => inl a; u] @ v)
∈ ((X + X) List)
BY
{ ((RWW  "append_assoc_sq" 0 THEN Reduce 0) THEN Auto) }
Latex:
Latex:
1.  X  :  Type
2.  u  :  X  +  X@i
3.  v  :  (X  +  X)  List@i
4.  \mlambda{}x,y.  word-rel(X;x;y)\^{}*  (map(\mlambda{}x.case  x  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a;rev(v))  @  v)  []
5.  L  :  (X  +  X)  List@i
6.  map(\mlambda{}x.case  x  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a;rev(v))  =  L
7.  case  u  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a  =  -u
\mvdash{}  ((L  @  [case  u  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a])  @  [u  /  v])
=  (L  @  [case  u  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a;  u]  @  v)
By
Latex:
((RWW    "append\_assoc\_sq"  0  THEN  Reduce  0)  THEN  Auto)
Home
Index