DEFINITION getl_gen_2()
TYPE =
       c1:C.c2:C.i:nat.(getl i c1 c2)(ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v))
BODY =
        assume c1C
        assume c2C
        assume inat
        suppose Hgetl i c1 c2
          (H0
             by (getl_gen_all . . . H)
ex2 C λe:C.drop i O c1 e λe:C.clear e c2
          end of H0
          we proceed by induction on H0 to prove ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v)
             case ex_intro2 : x:C :drop i O c1 x H2:clear x c2 
                the thesis becomes ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v)
                   (H3
                      by (clear_gen_all . . H2)
ex_3 B C T λb:B.λe:C.λu:T.eq C c2 (CHead e (Bind b) u)
                   end of H3
                   we proceed by induction on H3 to prove ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v)
                      case ex_3_intro : x0:B x1:C x2:T H4:eq C c2 (CHead x1 (Bind x0) x2) 
                         the thesis becomes ex_3 B C T λb:B.λc0:C.λv:T.eq C c2 (CHead c0 (Bind b) v)
                            by (refl_equal . .)
                            we proved eq C (CHead x1 (Bind x0) x2) (CHead x1 (Bind x0) x2)
                            by (ex_3_intro . . . . . . . previous)
                            we proved ex_3 B C T λb:B.λc:C.λv:T.eq C (CHead x1 (Bind x0) x2) (CHead c (Bind b) v)
                            by (eq_ind_r . . . previous . H4)
ex_3 B C T λb:B.λc0:C.λv:T.eq C c2 (CHead c0 (Bind b) v)
ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v)
          we proved ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v)
       we proved 
          c1:C.c2:C.i:nat.(getl i c1 c2)(ex_3 B C T λb:B.λc:C.λv:T.eq C c2 (CHead c (Bind b) v))