DEFINITION wf3_getl_conf()
TYPE =
       b:B
         .i:nat
           .c1:C
             .d1:C
               .v:T
                 .getl i c1 (CHead d1 (Bind b) v)
                   g:G
                        .c2:C
                          .wf3 g c1 c2
                            w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl i c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
BODY =
        assume bB
        assume inat
          we proceed by induction on i to prove 
             c1:C
               .d1:C
                 .v:T
                   .getl i c1 (CHead d1 (Bind b) v)
                     g:G
                          .c2:C
                            .wf3 g c1 c2
                              w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl i c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
             case O : 
                the thesis becomes 
                c1:C
                  .d1:C
                    .v:T
                      .getl O c1 (CHead d1 (Bind b) v)
                        g:G
                             .c2:C
                               .wf3 g c1 c2
                                 w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                    assume c1C
                    assume d1C
                    assume vT
                    suppose Hgetl O c1 (CHead d1 (Bind b) v)
                    assume gG
                    assume c2C
                    suppose H0wf3 g c1 c2
                    assume wT
                    suppose H1ty3 g d1 v w
                      (H_y
                         by (getl_gen_O . . H)
                         we proved clear c1 (CHead d1 (Bind b) v)
                         by (wf3_clear_conf . . previous . . H0)
wf3 g (CHead d1 (Bind b) v) c2
                      end of H_y
                      (H_x
                         by (wf3_gen_bind1 . . . . . H_y)

                            or
                              ex3_2 C T λc2:C.λ:T.eq C c2 (CHead c2 (Bind b) v) λc2:C.λ:T.wf3 g d1 c2 λ:C.λw:T.ty3 g d1 v w
                              ex3
                                C
                                λc2:C.eq C c2 (CHead c2 (Bind Void) (TSort O))
                                λc2:C.wf3 g d1 c2
                                λ:C.w:T.(ty3 g d1 v w)False
                      end of H_x
                      (H2consider H_x
                      we proceed by induction on H2 to prove ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                         case or_introl : H3:ex3_2 C T λc3:C.λ:T.eq C c2 (CHead c3 (Bind b) v) λc3:C.λ:T.wf3 g d1 c3 λ:C.λw0:T.ty3 g d1 v w0 
                            the thesis becomes ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                               we proceed by induction on H3 to prove ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                  case ex3_2_intro : x0:C x1:T H4:eq C c2 (CHead x0 (Bind b) v) H5:wf3 g d1 x0 :ty3 g d1 v x1 
                                     the thesis becomes ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                        by (getl_refl . . .)
                                        we proved getl O (CHead x0 (Bind b) v) (CHead x0 (Bind b) v)
                                        by (ex_intro2 . . . . previous H5)
                                        we proved ex2 C λd2:C.getl O (CHead x0 (Bind b) v) (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                        by (eq_ind_r . . . previous . H4)
ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                         case or_intror : H3:ex3 C λc3:C.eq C c2 (CHead c3 (Bind Void) (TSort O)) λc3:C.wf3 g d1 c3 λ:C.w0:T.(ty3 g d1 v w0)False 
                            the thesis becomes ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                               we proceed by induction on H3 to prove ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                  case ex3_intro : x0:C H4:eq C c2 (CHead x0 (Bind Void) (TSort O)) :wf3 g d1 x0 H6:w0:T.(ty3 g d1 v w0)False 
                                     the thesis becomes ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                        (H_x0by (H6 . H1) we proved False
                                        (H7consider H_x0
                                        we proceed by induction on H7 to prove 
                                           ex2
                                             C
                                             λd2:C.getl O (CHead x0 (Bind Void) (TSort O)) (CHead d2 (Bind b) v)
                                             λd2:C.wf3 g d1 d2
                                        we proved 
                                           ex2
                                             C
                                             λd2:C.getl O (CHead x0 (Bind Void) (TSort O)) (CHead d2 (Bind b) v)
                                             λd2:C.wf3 g d1 d2
                                        by (eq_ind_r . . . previous . H4)
ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                      we proved ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2

                      c1:C
                        .d1:C
                          .v:T
                            .getl O c1 (CHead d1 (Bind b) v)
                              g:G
                                   .c2:C
                                     .wf3 g c1 c2
                                       w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl O c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
             case S : n:nat 
                the thesis becomes 
                c1:C
                  .d1:C
                    .v:T
                      .getl (S n) c1 (CHead d1 (Bind b) v)
                        g:G
                             .c2:C
                               .wf3 g c1 c2
                                 w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                (H) by induction hypothesis we know 
                   c1:C
                     .d1:C
                       .v:T
                         .getl n c1 (CHead d1 (Bind b) v)
                           g:G
                                .c2:C
                                  .wf3 g c1 c2
                                    w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl n c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                   assume c1C
                      we proceed by induction on c1 to prove 
                         d1:C
                           .v:T
                             .getl (S n) c1 (CHead d1 (Bind b) v)
                               g:G
                                    .c2:C
                                      .wf3 g c1 c2
                                        w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                         case CSort : n0:nat 
                            the thesis becomes 
                            d1:C
                              .v:T
                                .H0:getl (S n) (CSort n0) (CHead d1 (Bind b) v)
                                  .g:G
                                    .c2:C
                                      .wf3 g (CSort n0) c2
                                        w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                                assume d1C
                                assume vT
                                suppose H0getl (S n) (CSort n0) (CHead d1 (Bind b) v)
                                assume gG
                                assume c2C
                                suppose wf3 g (CSort n0) c2
                                assume wT
                                suppose ty3 g d1 v w
                                  by (getl_gen_sort . . . H0 .)
                                  we proved ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2

                                  d1:C
                                    .v:T
                                      .H0:getl (S n) (CSort n0) (CHead d1 (Bind b) v)
                                        .g:G
                                          .c2:C
                                            .wf3 g (CSort n0) c2
                                              w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                         case CHead : c:C k:K t:T 
                            the thesis becomes 
                            d1:C
                              .v:T
                                .H1:getl (S n) (CHead c k t) (CHead d1 (Bind b) v)
                                  .g:G
                                    .c2:C
                                      .H2:wf3 g (CHead c k t) c2
                                        .w:T.H3:(ty3 g d1 v w).(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                            (H0) by induction hypothesis we know 
                               d1:C
                                 .v:T
                                   .getl (S n) c (CHead d1 (Bind b) v)
                                     g:G
                                          .c2:C
                                            .wf3 g c c2
                                              w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                                assume d1C
                                assume vT
                                suppose H1getl (S n) (CHead c k t) (CHead d1 (Bind b) v)
                                assume gG
                                assume c2C
                                suppose H2wf3 g (CHead c k t) c2
                                assume wT
                                suppose H3ty3 g d1 v w
                                  by (getl_gen_S . . . . . H1)
                                  we proved getl (r k n) c (CHead d1 (Bind b) v)
                                     assume b0B
                                      suppose H4wf3 g (CHead c (Bind b0) t) c2
                                      suppose H5getl (r (Bind b0) n) c (CHead d1 (Bind b) v)
                                        (H_x
                                           by (wf3_gen_bind1 . . . . . H4)

                                              or
                                                ex3_2 C T λc2:C.λ:T.eq C c2 (CHead c2 (Bind b0) t) λc2:C.λ:T.wf3 g c c2 λ:C.λw:T.ty3 g c t w
                                                ex3
                                                  C
                                                  λc2:C.eq C c2 (CHead c2 (Bind Void) (TSort O))
                                                  λc2:C.wf3 g c c2
                                                  λ:C.w:T.(ty3 g c t w)False
                                        end of H_x
                                        (H6consider H_x
                                        we proceed by induction on H6 to prove ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                           case or_introl : H7:ex3_2 C T λc3:C.λ:T.eq C c2 (CHead c3 (Bind b0) t) λc3:C.λ:T.wf3 g c c3 λ:C.λw0:T.ty3 g c t w0 
                                              the thesis becomes ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                 we proceed by induction on H7 to prove ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                    case ex3_2_intro : x0:C x1:T H8:eq C c2 (CHead x0 (Bind b0) t) H9:wf3 g c x0 :ty3 g c t x1 
                                                       the thesis becomes ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                          (H_x0
                                                             consider H5
                                                             we proved getl (r (Bind b0) n) c (CHead d1 (Bind b) v)
                                                             that is equivalent to getl n c (CHead d1 (Bind b) v)
                                                             by (H . . . previous . . H9 . H3)
ex2 C λd2:C.getl n x0 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                          end of H_x0
                                                          (H11consider H_x0
                                                          we proceed by induction on H11 to prove 
                                                             ex2 C λd2:C.getl (S n) (CHead x0 (Bind b0) t) (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                             case ex_intro2 : x:C H12:getl n x0 (CHead x (Bind b) v) H13:wf3 g d1 x 
                                                                the thesis becomes 
                                                                ex2 C λd2:C.getl (S n) (CHead x0 (Bind b0) t) (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                                   consider H12
                                                                   we proved getl n x0 (CHead x (Bind b) v)
                                                                   that is equivalent to getl (r (Bind b0) n) x0 (CHead x (Bind b) v)
                                                                   by (getl_head . . . . previous .)
                                                                   we proved getl (S n) (CHead x0 (Bind b0) t) (CHead x (Bind b) v)
                                                                   by (ex_intro2 . . . . previous H13)

                                                                      ex2 C λd2:C.getl (S n) (CHead x0 (Bind b0) t) (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                          we proved 
                                                             ex2 C λd2:C.getl (S n) (CHead x0 (Bind b0) t) (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                          by (eq_ind_r . . . previous . H8)
ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                           case or_intror : H7:ex3 C λc3:C.eq C c2 (CHead c3 (Bind Void) (TSort O)) λc3:C.wf3 g c c3 λ:C.w0:T.(ty3 g c t w0)False 
                                              the thesis becomes ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                 we proceed by induction on H7 to prove ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                    case ex3_intro : x0:C H8:eq C c2 (CHead x0 (Bind Void) (TSort O)) H9:wf3 g c x0 :w0:T.(ty3 g c t w0)False 
                                                       the thesis becomes ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                          (H_x0
                                                             consider H5
                                                             we proved getl (r (Bind b0) n) c (CHead d1 (Bind b) v)
                                                             that is equivalent to getl n c (CHead d1 (Bind b) v)
                                                             by (H . . . previous . . H9 . H3)
ex2 C λd2:C.getl n x0 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                                          end of H_x0
                                                          (H11consider H_x0
                                                          we proceed by induction on H11 to prove 
                                                             ex2
                                                               C
                                                               λd2:C
                                                                 .getl
                                                                   S n
                                                                   CHead x0 (Bind Void) (TSort O)
                                                                   CHead d2 (Bind b) v
                                                               λd2:C.wf3 g d1 d2
                                                             case ex_intro2 : x:C H12:getl n x0 (CHead x (Bind b) v) H13:wf3 g d1 x 
                                                                the thesis becomes 
                                                                ex2
                                                                  C
                                                                  λd2:C
                                                                    .getl
                                                                      S n
                                                                      CHead x0 (Bind Void) (TSort O)
                                                                      CHead d2 (Bind b) v
                                                                  λd2:C.wf3 g d1 d2
                                                                   consider H12
                                                                   we proved getl n x0 (CHead x (Bind b) v)
                                                                   that is equivalent to getl (r (Bind Void) n) x0 (CHead x (Bind b) v)
                                                                   by (getl_head . . . . previous .)
                                                                   we proved 
                                                                      getl
                                                                        S n
                                                                        CHead x0 (Bind Void) (TSort O)
                                                                        CHead x (Bind b) v
                                                                   by (ex_intro2 . . . . previous H13)

                                                                      ex2
                                                                        C
                                                                        λd2:C
                                                                          .getl
                                                                            S n
                                                                            CHead x0 (Bind Void) (TSort O)
                                                                            CHead d2 (Bind b) v
                                                                        λd2:C.wf3 g d1 d2
                                                          we proved 
                                                             ex2
                                                               C
                                                               λd2:C
                                                                 .getl
                                                                   S n
                                                                   CHead x0 (Bind Void) (TSort O)
                                                                   CHead d2 (Bind b) v
                                                               λd2:C.wf3 g d1 d2
                                                          by (eq_ind_r . . . previous . H8)
ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                        we proved ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2

                                        H4:wf3 g (CHead c (Bind b0) t) c2
                                          .H5:getl (r (Bind b0) n) c (CHead d1 (Bind b) v)
                                            .ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                     assume fF
                                      suppose H4wf3 g (CHead c (Flat f) t) c2
                                      suppose H5getl (r (Flat f) n) c (CHead d1 (Bind b) v)
                                        (H_yby (wf3_gen_flat1 . . . . . H4) we proved wf3 g c c2
                                        consider H5
                                        we proved getl (r (Flat f) n) c (CHead d1 (Bind b) v)
                                        that is equivalent to getl (S n) c (CHead d1 (Bind b) v)
                                        by (H0 . . previous . . H_y . H3)
                                        we proved ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2

                                        H4:wf3 g (CHead c (Flat f) t) c2
                                          .H5:getl (r (Flat f) n) c (CHead d1 (Bind b) v)
                                            .ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2
                                  by (previous . H2 previous)
                                  we proved ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2

                                  d1:C
                                    .v:T
                                      .H1:getl (S n) (CHead c k t) (CHead d1 (Bind b) v)
                                        .g:G
                                          .c2:C
                                            .H2:wf3 g (CHead c k t) c2
                                              .w:T.H3:(ty3 g d1 v w).(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
                      we proved 
                         d1:C
                           .v:T
                             .getl (S n) c1 (CHead d1 (Bind b) v)
                               g:G
                                    .c2:C
                                      .wf3 g c1 c2
                                        w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)

                      c1:C
                        .d1:C
                          .v:T
                            .getl (S n) c1 (CHead d1 (Bind b) v)
                              g:G
                                   .c2:C
                                     .wf3 g c1 c2
                                       w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl (S n) c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
          we proved 
             c1:C
               .d1:C
                 .v:T
                   .getl i c1 (CHead d1 (Bind b) v)
                     g:G
                          .c2:C
                            .wf3 g c1 c2
                              w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl i c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)
       we proved 
          b:B
            .i:nat
              .c1:C
                .d1:C
                  .v:T
                    .getl i c1 (CHead d1 (Bind b) v)
                      g:G
                           .c2:C
                             .wf3 g c1 c2
                               w:T.(ty3 g d1 v w)(ex2 C λd2:C.getl i c2 (CHead d2 (Bind b) v) λd2:C.wf3 g d1 d2)