Step * 1 1 2 1 of Lemma free-word-inv-append2


1. Type
2. ys (X X) List@i
3. X@i
4. λx,y. word-rel(X;x;y)^* (ys map(λx.case of inl(a) => inr a  inr(a) => inl a;rev(ys))) []
5. (X X) List@i
6. map(λx.case of inl(a) => inr a  inr(a) => inl a;rev(ys)) L ∈ ((X X) List)
⊢ word-rel(X;(ys [y]) [case of inl(a) => inr a  inr(a) => inl L];ys L)
BY
(Unfold `word-rel` THEN InstConcl [⌜y⌝;⌜case of inl(a) => inr a  inr(a) => inl a⌝;⌜ys⌝;⌜L⌝]⋅ THEN Auto) }

1
1. Type
2. ys (X X) List@i
3. X@i
4. λx,y. word-rel(X;x;y)^* (ys map(λx.case of inl(a) => inr a  inr(a) => inl a;rev(ys))) []
5. (X X) List@i
6. map(λx.case of inl(a) => inr a  inr(a) => inl a;rev(ys)) L ∈ ((X X) List)
⊢ -case of inl(a) => inr a  inr(a) => inl a

2
1. Type
2. ys (X X) List@i
3. X@i
4. λx,y. word-rel(X;x;y)^* (ys map(λx.case of inl(a) => inr a  inr(a) => inl a;rev(ys))) []
5. (X X) List@i
6. map(λx.case of inl(a) => inr a  inr(a) => inl a;rev(ys)) L ∈ ((X X) List)
7. -case of inl(a) => inr a  inr(a) => inl a
⊢ ((ys [y]) [case of inl(a) => inr a  inr(a) => inl L])
(ys [y; case of inl(a) => inr a  inr(a) => inl a] L)
∈ ((X X) List)


Latex:


Latex:

1.  X  :  Type
2.  ys  :  (X  +  X)  List@i
3.  y  :  X  +  X@i
4.  \mlambda{}x,y.  word-rel(X;x;y)\^{}*  (ys  @  map(\mlambda{}x.case  x  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a;rev(ys)))  []
5.  L  :  (X  +  X)  List@i
6.  map(\mlambda{}x.case  x  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a;rev(ys))  =  L
\mvdash{}  word-rel(X;(ys  @  [y])  @  [case  y  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a  /  L];ys  @  L)


By


Latex:
(Unfold  `word-rel`  0
  THEN  InstConcl  [\mkleeneopen{}y\mkleeneclose{};\mkleeneopen{}case  y  of  inl(a)  =>  inr  a    |  inr(a)  =>  inl  a\mkleeneclose{};\mkleeneopen{}ys\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}
  THEN  Auto)




Home Index