Step
*
1
1
1
2
1
1
1
1
of Lemma
cnv-taba-property
.....equality..... 
1. A : Type
2. B : Type
3. u : A
4. v : A List
5. ∀ys:B List
     ((||v|| ≤ ||ys||)
     
⇒ (rec-case(v) of
         [] => <[], ys>
         x::xs' =>
          p.let a,ys = p 
            in let h,t = ys 
               in <[<x, h> / a], t>
        = <zip(v;rev(firstn(||v||;ys))), nth_tl(||v||;ys)>
        ∈ ((A × B) List × (B List))))
6. ys : B List
7. (||v|| + 1) ≤ ||ys||
8. rec-case(v) of
   [] => <[], ys>
   x::xs' =>
    p.let a,ys = p 
      in let h,t = ys 
         in <[<x, h> / a], t>
= <zip(v;rev(firstn(||v||;ys))), nth_tl(||v||;ys)>
∈ ((A × B) List × (B List))
9. 0 < ||v|| + 1
10. 0 < ||v|| + 1
⊢ (||v|| + 1) - 1 ~ ||v||
BY
{ Auto }
Latex:
Latex:
.....equality..... 
1.  A  :  Type
2.  B  :  Type
3.  u  :  A
4.  v  :  A  List
5.  \mforall{}ys:B  List
          ((||v||  \mleq{}  ||ys||)
          {}\mRightarrow{}  (rec-case(v)  of
                  []  =>  <[],  ys>
                  x::xs'  =>
                    p.let  a,ys  =  p 
                        in  let  h,t  =  ys 
                              in  <[<x,  h>  /  a],  t>
                =  <zip(v;rev(firstn(||v||;ys))),  nth\_tl(||v||;ys)>))
6.  ys  :  B  List
7.  (||v||  +  1)  \mleq{}  ||ys||
8.  rec-case(v)  of
      []  =>  <[],  ys>
      x::xs'  =>
        p.let  a,ys  =  p 
            in  let  h,t  =  ys 
                  in  <[<x,  h>  /  a],  t>
=  <zip(v;rev(firstn(||v||;ys))),  nth\_tl(||v||;ys)>
9.  0  <  ||v||  +  1
10.  0  <  ||v||  +  1
\mvdash{}  (||v||  +  1)  -  1  \msim{}  ||v||
By
Latex:
Auto
Home
Index