Step * 1 1 1 2 1 of Lemma cnv-taba_wf


1. Type
2. Type
3. A
4. List
5. ∀ys:B List
     ((||v|| ≤ ||ys||)
      (rec-case(v) of
         [] => <[], ys>
         x::xs' =>
          p.let a,ys 
            in let h,t ys 
               in <[<x, h> a], t> ∈ {p:(A × B) List × (B List)| (||v|| ||snd(p)||) ||ys|| ∈ ℤ))
6. ys List
7. (||v|| 1) ≤ ||ys||
8. rec-case(v) of
   [] => <[], ys>
   x::xs' =>
    p.let a,ys 
      in let h,t ys 
         in <[<x, h> a], t> ∈ {p:(A × B) List × (B List)| (||v|| ||snd(p)||) ||ys|| ∈ ℤ
9. v1 {p:(A × B) List × (B List)| (||v|| ||snd(p)||) ||ys|| ∈ ℤ
⊢ let a,ys v1 
  in let h,t ys 
     in <[<u, h> a], t> ∈ {p:(A × B) List × (B List)| ((||v|| 1) ||snd(p)||) ||ys|| ∈ ℤ
BY
(D (-1) THEN RepeatFor (D -2) THEN MemTypeCD THEN All Reduce THEN Auto) }


Latex:


Latex:

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>  \mmember{}  \{p:(A  \mtimes{}  B)  List  \mtimes{}  (B  List)|  (||v||  +  ||snd(p)||)  =  ||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>  \mmember{}  \{p:(A  \mtimes{}  B)  List  \mtimes{}  (B  List)|  (||v||  +  ||snd(p)||)  =  ||ys||\} 
9.  v1  :  \{p:(A  \mtimes{}  B)  List  \mtimes{}  (B  List)|  (||v||  +  ||snd(p)||)  =  ||ys||\} 
\mvdash{}  let  a,ys  =  v1 
    in  let  h,t  =  ys 
          in  <[<u,  h>  /  a],  t>  \mmember{}  \{p:(A  \mtimes{}  B)  List  \mtimes{}  (B  List)|  ((||v||  +  1)  +  ||snd(p)||)  =  ||ys||\} 


By


Latex:
(D  (-1)  THEN  RepeatFor  2  (D  -2)  THEN  MemTypeCD  THEN  All  Reduce  THEN  Auto)




Home Index