DEFINITION iso_flats_flat_bind_false()
TYPE =
       f1:F
         .f2:F
           .b:B
             .v:T
               .v2:T
                 .t:T
                   .t2:T
                     .vs:TList
                       .(iso
                           THeads (Flat f1) vs (THead (Flat f2) v2 t2)
                           THead (Bind b) v t)
                         P:Prop.P
BODY =
        assume f1F
        assume f2F
        assume bB
        assume vT
        assume v2T
        assume tT
        assume t2T
        assume vsTList
          we proceed by induction on vs to prove 
             (iso
                 THeads (Flat f1) vs (THead (Flat f2) v2 t2)
                 THead (Bind b) v t)
               P:Prop.P
             case TNil : 
                the thesis becomes 
                (iso
                    THeads (Flat f1) TNil (THead (Flat f2) v2 t2)
                    THead (Bind b) v t)
                  P:Prop.P
                   we must prove 
                         (iso
                             THeads (Flat f1) TNil (THead (Flat f2) v2 t2)
                             THead (Bind b) v t)
                           P:Prop.P
                   or equivalently (iso (THead (Flat f2) v2 t2) (THead (Bind b) v t))P:Prop.P
                    suppose Hiso (THead (Flat f2) v2 t2) (THead (Bind b) v t)
                    assume PProp
                      (H_x
                         by (iso_gen_head . . . . H)
ex_2 T T λv2:T.λt2:T.eq T (THead (Bind b) v t) (THead (Flat f2) v2 t2)
                      end of H_x
                      (H0consider H_x
                      we proceed by induction on H0 to prove P
                         case ex_2_intro : x0:T x1:T H1:eq T (THead (Bind b) v t) (THead (Flat f2) x0 x1) 
                            the thesis becomes P
                               (H2
                                  we proceed by induction on H1 to prove 
                                     <λ:T.Prop>
                                       CASE THead (Flat f2) x0 x1 OF
                                         TSort False
                                       | TLRef False
                                       | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                                     case refl_equal : 
                                        the thesis becomes 
                                        <λ:T.Prop>
                                          CASE THead (Bind b) v t OF
                                            TSort False
                                          | TLRef False
                                          | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                                           consider I
                                           we proved True

                                              <λ:T.Prop>
                                                CASE THead (Bind b) v t OF
                                                  TSort False
                                                | TLRef False
                                                | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False

                                     <λ:T.Prop>
                                       CASE THead (Flat f2) x0 x1 OF
                                         TSort False
                                       | TLRef False
                                       | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                               end of H2
                               consider H2
                               we proved 
                                  <λ:T.Prop>
                                    CASE THead (Flat f2) x0 x1 OF
                                      TSort False
                                    | TLRef False
                                    | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                               that is equivalent to False
                               we proceed by induction on the previous result to prove P
P
                      we proved P
                   we proved (iso (THead (Flat f2) v2 t2) (THead (Bind b) v t))P:Prop.P

                      (iso
                          THeads (Flat f1) TNil (THead (Flat f2) v2 t2)
                          THead (Bind b) v t)
                        P:Prop.P
             case TCons : t0:T t1:TList 
                the thesis becomes 
                (iso
                    THeads (Flat f1) (TCons t0 t1) (THead (Flat f2) v2 t2)
                    THead (Bind b) v t)
                  P:Prop.P
                () by induction hypothesis we know 
                   iso (THeads (Flat f1) t1 (THead (Flat f2) v2 t2)) (THead (Bind b) v t)
                     P:Prop.P
                   we must prove 
                         (iso
                             THeads (Flat f1) (TCons t0 t1) (THead (Flat f2) v2 t2)
                             THead (Bind b) v t)
                           P:Prop.P
                   or equivalently 
                         (iso
                             THead (Flat f1) t0 (THeads (Flat f1) t1 (THead (Flat f2) v2 t2))
                             THead (Bind b) v t)
                           P:Prop.P
                    suppose H0
                       iso
                         THead (Flat f1) t0 (THeads (Flat f1) t1 (THead (Flat f2) v2 t2))
                         THead (Bind b) v t
                    assume PProp
                      (H_x
                         by (iso_gen_head . . . . H0)
ex_2 T T λv2:T.λt2:T.eq T (THead (Bind b) v t) (THead (Flat f1) v2 t2)
                      end of H_x
                      (H1consider H_x
                      we proceed by induction on H1 to prove P
                         case ex_2_intro : x0:T x1:T H2:eq T (THead (Bind b) v t) (THead (Flat f1) x0 x1) 
                            the thesis becomes P
                               (H3
                                  we proceed by induction on H2 to prove 
                                     <λ:T.Prop>
                                       CASE THead (Flat f1) x0 x1 OF
                                         TSort False
                                       | TLRef False
                                       | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                                     case refl_equal : 
                                        the thesis becomes 
                                        <λ:T.Prop>
                                          CASE THead (Bind b) v t OF
                                            TSort False
                                          | TLRef False
                                          | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                                           consider I
                                           we proved True

                                              <λ:T.Prop>
                                                CASE THead (Bind b) v t OF
                                                  TSort False
                                                | TLRef False
                                                | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False

                                     <λ:T.Prop>
                                       CASE THead (Flat f1) x0 x1 OF
                                         TSort False
                                       | TLRef False
                                       | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                               end of H3
                               consider H3
                               we proved 
                                  <λ:T.Prop>
                                    CASE THead (Flat f1) x0 x1 OF
                                      TSort False
                                    | TLRef False
                                    | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                               that is equivalent to False
                               we proceed by induction on the previous result to prove P
P
                      we proved P
                   we proved 
                      (iso
                          THead (Flat f1) t0 (THeads (Flat f1) t1 (THead (Flat f2) v2 t2))
                          THead (Bind b) v t)
                        P:Prop.P

                      (iso
                          THeads (Flat f1) (TCons t0 t1) (THead (Flat f2) v2 t2)
                          THead (Bind b) v t)
                        P:Prop.P
          we proved 
             (iso
                 THeads (Flat f1) vs (THead (Flat f2) v2 t2)
                 THead (Bind b) v t)
               P:Prop.P
       we proved 
          f1:F
            .f2:F
              .b:B
                .v:T
                  .v2:T
                    .t:T
                      .t2:T
                        .vs:TList
                          .(iso
                              THeads (Flat f1) vs (THead (Flat f2) v2 t2)
                              THead (Bind b) v t)
                            P:Prop.P