DEFINITION getl_clear_trans()
TYPE =
       i:nat.c1:C.c2:C.(getl i c1 c2)c3:C.(clear c2 c3)(getl i c1 c3)
BODY =
        assume inat
        assume c1C
        assume c2C
        suppose Hgetl i c1 c2
        assume c3C
        suppose H0clear c2 c3
          (H1
             by (getl_gen_all . . . H)
ex2 C λe:C.drop i O c1 e λe:C.clear e c2
          end of H1
          we proceed by induction on H1 to prove getl i c1 c3
             case ex_intro2 : x:C H2:drop i O c1 x H3:clear x c2 
                the thesis becomes getl i c1 c3
                   (H4
                      by (clear_gen_all . . H3)
ex_3 B C T λb:B.λe:C.λu:T.eq C c2 (CHead e (Bind b) u)
                   end of H4
                   we proceed by induction on H4 to prove getl i c1 c3
                      case ex_3_intro : x0:B x1:C x2:T H5:eq C c2 (CHead x1 (Bind x0) x2) 
                         the thesis becomes getl i c1 c3
                            (H6
                               we proceed by induction on H5 to prove clear x (CHead x1 (Bind x0) x2)
                                  case refl_equal : 
                                     the thesis becomes the hypothesis H3
clear x (CHead x1 (Bind x0) x2)
                            end of H6
                            (H7
                               we proceed by induction on H5 to prove clear (CHead x1 (Bind x0) x2) c3
                                  case refl_equal : 
                                     the thesis becomes the hypothesis H0
clear (CHead x1 (Bind x0) x2) c3
                            end of H7
                            (h1
                               by (getl_intro . . . . H2 H6)
getl i c1 (CHead x1 (Bind x0) x2)
                            end of h1
                            (h2
                               by (clear_gen_bind . . . . H7)
eq C c3 (CHead x1 (Bind x0) x2)
                            end of h2
                            by (eq_ind_r . . . h1 . h2)
getl i c1 c3
getl i c1 c3
          we proved getl i c1 c3
       we proved i:nat.c1:C.c2:C.(getl i c1 c2)c3:C.(clear c2 c3)(getl i c1 c3)